C BGMO      SOURCE    CB215821  19/07/31    21:15:26     10277          
      SUBROUTINE BGMO

      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)

-INC CCREEL

-INC PPARAM
-INC CCOPTIO

      CHARACTER*4 LISM(6)
      DATA LISM/'COND','DCON','CAPA','DCAP','CHED','CONM'/
*
*     ON LIT LE MOT CLE
*
      CALL LIRMOT(LISM,6,KIKI,0)
      IF (KIKI.EQ.0) CALL ERREUR(533)

C
C     CHAMELEM
C
      CALL LIROBJ('MCHAML  ',IPO1,0,IRETOU)
      IF(IRETOU.EQ.0) GOTO 10

      CALL ACTOBJ('MCHAML  ',IPO1,1)
      CALL LIRREE(T0,0,IRETOU)
      IF(IRETOU.EQ.0) T0=1.d0
      CALL LIRREE(X0,0,IRETOU)
      IF(IRETOU.EQ.0) X0=1.d0
      CALL BGCHEL(IPO1,KIKI,T0,X0,IPO2)
      CALL ACTOBJ('MCHAML  ',IPO2,1)
      CALL ECROBJ('MCHAML  ',IPO2)
      RETURN

C
C     CAS D UN FLOTTANT
C
 10   CONTINUE

      CALL LIRREE(T,0,IRETOU)
      IF(IRETOU.EQ.0) CALL ERREUR(533)
      CALL LIRREE(T0,0,IRETOU)
      IF(IRETOU.EQ.0) T0=1.d0
      CALL LIRREE(X0,0,IRETOU)
      IF(IRETOU.EQ.0) X0=1.d0
      IF(KIKI.EQ.1) XX=(FBG1(T*T0))/X0
      IF(KIKI.EQ.2) XX=(FBG2(T*T0))*T0/X0
      IF(KIKI.EQ.3) XX=(FBG3(T*T0))/X0
      IF(KIKI.EQ.4) XX=(FBG4(T*T0))*T0/X0
      IF(KIKI.EQ.5) XX=FBG5(T*T0)
      IF(KIKI.EQ.6) XX=(FBG6(T))/X0


      CALL ECRREE(XX)

      END

 
