      SUBROUTINE LIOPT(FICLEC,FICLEC2,XINIT_ROTX,XINIT_ROTY,XINIT_ROTZ
     &                ,XINIT_VISO,XINIT_VMIN,XINIT_VMAX,XINIT_FACT
     &                ,XINIT_FACTX,XINIT_FACTY,XINIT_FACTZ,XINIT_FACV
     &                ,XINIT_XCUR,XINIT_YCUR,XINIT_ZOOM
     &                ,INIT_TABLE,INIT_ISO,INIT_FICH
     &                ,INIT_FICH2,INIT_BORD,INIT_DEFPS,INIT_NBCOUL
     &                ,INIT_FLECH,INIT_RECON,INIT_ISOBID,INIT_IBOITE
     &                ,INIT_IECBOI,INIT_FOND,INIT_IAXES,INIT_IPERSP
     &                ,INIT_DIRL,INIT_MODE,INIT_DEPL)
      INCLUDE 'com_options.f'
      CHARACTER*128 FICLEC,FICLEC2,CBIDON
      INTEGER IVIRG(10)
C
      XINIT_ECH(1,1) = BIGS
      XINIT_ECH(2,1) = BIGS
      XINIT_ECH(1,2) = BIGS
      XINIT_ECH(2,2) = BIGS
      XINIT_ECH(1,3) = BIGS
      XINIT_ECH(2,3) = BIGS
      XINIT_FACT = BIGS
      XINIT_FACTX = BIGS
      XINIT_FACTY = BIGS
      XINIT_FACTZ = BIGS
      XINIT_FACV = 0.
      XINIT_ROTX = BIGS
      XINIT_ROTY = BIGS
      XINIT_ROTZ = BIGS
      XINIT_VISO = BIGS
      XINIT_VMIN = BIGS
      XINIT_VMAX = BIGS
      XINIT_XCUR = BIGS
      XINIT_YCUR = BIGS
      XINIT_ZOOM = BIGS
      INIT_BORD   = 9999
      INIT_DEPL   = -1
      INIT_DEFPS  = 9999
      INIT_DIRL   = 0
      INIT_FICH   = 0
      INIT_FICH2  = 0
      INIT_FLECH  = 0
      INIT_FOND   = -1
      INIT_IAXES  = -1
      INIT_IBOITE = -1
      INIT_IECBOI = -1
      INIT_IPERSP = 0
      INIT_ISO    = 0
      INIT_ISOBID = 0
      INIT_MODE   = -1
      INIT_NBCOUL = 0
      INIT_RECON  = 0
      INIT_TABLE  = 0
      ICHARG = 0
C
      CALL GETARG(0,PROGEFF)
      CALL ENLEVE_TOUS_BLANCS(PROGEFF,LPROGEFF,80)
      NUMARG = IARGC()
      IF (NUMARG.EQ.0) THEN
        NOM_FICH = ' '
        LONG = 0
      ELSE
        CALL GETARG(NUMARG,NOM_FICH)
        CALL ENLEVE_TOUS_BLANCS(NOM_FICH,LONG,128)
        IF (NOM_FICH(1:1).EQ.'-') THEN
          DO I=1,NUMARG
            CALL GETARG(I,CBIDON)
            CALL ENLEVE_TOUS_BLANCS(CBIDON,LBID,128)
            IF ((LBID.EQ.8.AND.CBIDON(1:8).EQ.'-english')
     &      .OR.(LBID.EQ.4.AND.CBIDON(1:4).EQ.'-eng')) THEN
              III = ILANG
              ILANG = 1
              IF (III.NE.ILANG) CALL BERLITZ(ILANG)
            ELSEIF((LBID.EQ.9.AND.CBIDON(1:9).EQ.'-francais')
     &         .OR.(LBID.EQ.7.AND.CBIDON(1:7).EQ.'-french')) THEN
              III = ILANG
              ILANG = 0
              IF (III.NE.ILANG) CALL BERLITZ(ILANG)
            ENDIF
          ENDDO
          CALL VH
          NOM_FICH = ' '
          LONG = 0
          NUMARG = NUMARG+1
        ENDIF
        NBERR = 0
        IF (NUMARG.GT.1) THEN
          DO I=1,NUMARG-1
            DO K=1,128
              CBIDON(K:K) = ' '
            ENDDO
            CALL GETARG(I,CBIDON)
            CALL ENLEVE_TOUS_BLANCS(CBIDON,LBID,128)
            IF (LBID.EQ.5.AND.CBIDON(1:5).EQ.'-auto') THEN
              IAUTORELOAD = 1
            ELSEIF(LBID.EQ.7.AND.CBIDON(1:6).EQ.'-axis=') THEN
              READ(CBIDON(7:7),'(I1)') INIT_IAXES
              INIT_IAXES = MIN(4,MAX(0,INIT_IAXES))
            ELSEIF(LBID.GT.4.AND.CBIDON(1:4).EQ.'-bg=') THEN
              IF (LBID.EQ.5) THEN
                READ(CBIDON(5:5),'(I1)') INIT_FOND
              ELSE
                READ(CBIDON(5:6),'(I2)') INIT_FOND
              ENDIF
              INIT_FOND = MIN(15,MAX(0,INIT_FOND))
            ELSEIF(LBID.EQ.7.AND.CBIDON(1:6).EQ.'-bord=') THEN
              READ(CBIDON(7:7),'(I1)') INIT_BORD
              IF (INIT_BORD.GT.8) THEN
                INIT_BORD = 9999
                IF (ILANG.EQ.0) THEN
                  PRINT*,
     &         '*** Les types de bords sont compris entre 0 et 8'
                ELSE
                  PRINT*,
     &         '*** Boundary type lies between 0 and 8'
                ENDIF
                CALL ERREUROPT(CBIDON,LBID,NBERR)
              ENDIF
            ELSEIF(LBID.GT.5.AND.CBIDON(1:5).EQ.'-box=') THEN
              IF (LBID.NE.7) THEN
                IF (LBID.EQ.6.AND.CBIDON(6:6).EQ.'0') THEN
                  INIT_IBOITE = 0
                  INIT_IECBOI = 0
                ELSE
                  IF (ILANG.EQ.0) THEN
                    PRINT*,
     & '*** Types de boites possibles: 0 ou [10,14] ou [20,24]'
                  ELSE
                    PRINT*,
     & '*** Possible box types: 0 or [10,14] or [20,24]'
                  ENDIF
                  CALL ERREUROPT(CBIDON,LBID,NBERR)
                ENDIF
              ELSE
                READ(CBIDON(6:7),'(I2)') IBID
                INIT_IBOITE = IBID/10
                INIT_IECBOI = MOD(IBID,10)
                INIT_IBOITE = MAX(0,MIN(2,INIT_IBOITE))
                INIT_IECBOI = MAX(0,MIN(8,INIT_IECBOI))
              ENDIF
            ELSEIF(LBID.GT.8.AND.CBIDON(1:8).EQ.'-colseg=') THEN
              READ(CBIDON(9:LBID),*) ICOLAR
              ICOLAR = MIN(15,MAX(0,ICOLAR))
            ELSEIF(LBID.GT.5.AND.CBIDON(1:5).EQ.'-cour') THEN
              IF (CBIDON(6:10).EQ.'fich=') THEN
                NOM_COUR = CBIDON(11:LBID)
                LONCOUR = LBID-10
              ELSEIF(CBIDON(6:14).EQ.'lignecol=') THEN
                READ(CBIDON(15:LBID),*) ICSEG
                IF (ICSEG.LT.0.OR.ICSEG.GT.15) ICSEG = 7
              ELSEIF(CBIDON(6:11).EQ.'ptcol=') THEN
                READ(CBIDON(12:LBID),*) ICPTS
                IF (ICPTS.LT.0.OR.ICPTS.GT.15) ICPTS = 1
              ELSEIF(CBIDON(6:12).EQ.'ptsize=') THEN
                READ(CBIDON(13:LBID),*) FACPTS
                FACPTS = MAX(0.,FACPTS)
              ELSEIF(CBIDON(6:16).EQ.'epaisligne=') THEN
                READ(CBIDON(17:LBID),*) IEPSEG
              ELSEIF(CBIDON(6:12).EQ.'pttype=') THEN
                READ(CBIDON(13:LBID),*) ITPTS
              ELSEIF(CBIDON(6:10).EQ.'ptvu=') THEN
                READ(CBIDON(11:LBID),*) IOPMAR
              ENDIF
            ELSEIF(LBID.GE.4.AND.CBIDON(1:4).EQ.'-cri') THEN
              IOPTFORME = -3
              NODEPL = 1
            ELSEIF(LBID.GE.5.AND.CBIDON(1:5).EQ.'-depl') THEN
              IF (LBID.EQ.5) THEN
                INIT_DEPL = 0
              ELSEIF(CBIDON(6:6).EQ.'=') THEN
                READ(CBIDON(7:LBID),*) INIT_DEPL
              ELSE
                CALL ERREUROPT(CBIDON,LBID,NBERR)
              ENDIF
            ELSEIF(LBID.GE.7.AND.CBIDON(1:7).EQ.'-nodepl') THEN
              NODEPL = 1
            ELSEIF(LBID.GT.4.AND.CBIDON(1:4).EQ.'-ech') THEN
              IF (LBID.GT.7.AND.CBIDON(1:7).EQ.'-echx0=') THEN
                READ(CBIDON(8:LBID),*) XINIT_ECH(1,1)
              ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-echx1=') THEN
                READ(CBIDON(8:LBID),*) XINIT_ECH(2,1)
              ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-echy0=') THEN
                READ(CBIDON(8:LBID),*) XINIT_ECH(1,2)
              ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-echy1=') THEN
                READ(CBIDON(8:LBID),*) XINIT_ECH(2,2)
              ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-echz0=') THEN
                READ(CBIDON(8:LBID),*) XINIT_ECH(1,3)
              ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-echz1=') THEN
                READ(CBIDON(8:LBID),*) XINIT_ECH(2,3)
              ENDIF
              IF (XINIT_ECH(1,1).NE.BIGS
     &       .AND.XINIT_ECH(2,1).NE.BIGS) THEN
                XEMI = MIN(XINIT_ECH(1,1),XINIT_ECH(2,1))
                XEMA = MAX(XINIT_ECH(1,1),XINIT_ECH(2,1))
                XINIT_ECH(1,1) = XEMI
                XINIT_ECH(2,1) = XEMA
              ENDIF
              IF (XINIT_ECH(1,2).NE.BIGS
     &       .AND.XINIT_ECH(2,2).NE.BIGS) THEN
                YEMI = MIN(XINIT_ECH(1,2),XINIT_ECH(2,2))
                YEMA = MAX(XINIT_ECH(1,2),XINIT_ECH(2,2))
                XINIT_ECH(1,2) = YEMI
                XINIT_ECH(2,2) = YEMA
              ENDIF
              IF (XINIT_ECH(1,3).NE.BIGS
     &       .AND.XINIT_ECH(2,3).NE.BIGS) THEN
                ZEMI = MIN(XINIT_ECH(1,3),XINIT_ECH(2,3))
                ZEMA = MAX(XINIT_ECH(1,3),XINIT_ECH(2,3))
                XINIT_ECH(1,3) = ZEMI
                XINIT_ECH(2,3) = ZEMA
              ENDIF
            ELSEIF(LBID.EQ.8.AND.CBIDON(1:8).EQ.'-english') THEN
              III = ILANG
              ILANG = 1
              IF (III.NE.ILANG) CALL BERLITZ(ILANG)
            ELSEIF(LBID.EQ.4.AND.CBIDON(1:4).EQ.'-eng') THEN
              III = ILANG
              ILANG = 1
              IF (III.NE.ILANG) CALL BERLITZ(ILANG)
            ELSEIF(LBID.GE.5.AND.CBIDON(1:5).EQ.'-exag') THEN
              IF (LBID.EQ.5
     &             .OR.(LBID.EQ.10.AND.CBIDON(6:10).EQ.'=auto')) THEN
                XINIT_FACT = 311263.
                ITOUCHEX = 1
              ELSEIF(LBID.GT.6.AND.CBIDON(6:6).EQ.'=') THEN
                READ(CBIDON(7:LBID),*) XINIT_FACT
                IF (XINIT_FACT.NE.1.) ITOUCHEX = 1
              ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-exagx=') THEN
                READ(CBIDON(8:LBID),*) XINIT_FACTX
                IF (XINIT_FACTX.NE.1.) ITOUCHEX = 1
              ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-exagy=') THEN
                READ(CBIDON(8:LBID),*) XINIT_FACTY
                IF (XINIT_FACTY.NE.1.) ITOUCHEX = 1
              ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-exagz=') THEN
                READ(CBIDON(8:LBID),*) XINIT_FACTZ
                IF (XINIT_FACTZ.NE.1.) ITOUCHEX = 1
              ENDIF
            ELSEIF(LBID.EQ.5.AND.CBIDON(1:5).EQ.'-cube') THEN
              XINIT_FACTX = 0.
              XINIT_FACTY = 0.
              XINIT_FACTZ = 0.
            ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-fich=') THEN
              IDIEZE = 0
              DO K=7,LBID
                IF (CBIDON(K:K).EQ.'#') IDIEZE=K
              ENDDO
              IF (IDIEZE.GT.0.AND.IDIEZE.LT.LBID) THEN
                READ(CBIDON(IDIEZE+1:LBID),*) ICHARG
                LBID = IDIEZE-1
              ENDIF
              IF (INIT_FICH.GT.0) THEN
                FICLEC2 = CBIDON(7:LBID)
                INIT_FICH2 = LBID-6
                CALL REMETFULLPATH(FICLEC2,INIT_FICH2)
              ELSE
                FICLEC = CBIDON(7:LBID)
                INIT_FICH = LBID-6
                CALL REMETFULLPATH(FICLEC,INIT_FICH)
              ENDIF
            ELSEIF(LBID.GE.7.AND.CBIDON(1:7).EQ.'-fleche') THEN
              INIT_FLECH = 1
              IF (LBID.GT.7.AND.CBIDON(8:8).EQ.'=') THEN
                READ(CBIDON(9:LBID),*) XINIT_FACV
                IF (XINIT_FACV.EQ.0.) XINIT_FACV = 1.E-4
              ENDIF
            ELSEIF(LBID.EQ.9.AND.CBIDON(1:9).EQ.'-francais') THEN
              III = ILANG
              ILANG = 0
              IF (III.NE.ILANG) CALL BERLITZ(ILANG)
            ELSEIF(LBID.EQ.7.AND.CBIDON(1:7).EQ.'-french') THEN
              III = ILANG
              ILANG = 0
              IF (III.NE.ILANG) CALL BERLITZ(ILANG)
            ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-front=') THEN
              IF (CBIDON(8:8).EQ.'1') THEN
                IFRONT = 1
              ELSEIF(CBIDON(8:8).EQ.'2') THEN
                IFRONT = 2
              ELSEIF(CBIDON(8:8).EQ.'3') THEN
                IFRONT = 3
              ELSEIF(CBIDON(8:8).EQ.'4') THEN
                IFRONT = -1
              ELSE
                CALL ERREUROPT(CBIDON,LBID,NBERR)
              ENDIF
            ELSEIF(LBID.GE.5.AND.CBIDON(1:5).EQ.'-full') THEN
              IELIMI = 1
              IF (LBID.GE.11.AND.CBIDON(1:11).EQ.'-fullshrink')
     &          IDEBRAP = 1
            ELSEIF(LBID.GE.7.AND.CBIDON(1:7).EQ.'-hidden') THEN
              IFC = 1
            ELSEIF(LBID.GE.9.AND.CBIDON(1:9).EQ.'-nohidden') THEN
              IFC = -1
            ELSEIF((LBID.EQ.6.OR.LBID.GE.7)
     &             .AND.CBIDON(1:5).EQ.'-iso=') THEN
              IF (LBID.EQ.6) THEN
                IF (CBIDON(6:6).EQ.'x') THEN
                  INIT_ISOBID = 2
                ELSEIF(CBIDON(6:6).EQ.'y') THEN
                  INIT_ISOBID = 3
                ELSEIF(CBIDON(6:6).EQ.'z') THEN
                  INIT_ISOBID = 1
                ELSE
                  READ(CBIDON(6:6),'(I1)') INIT_ISO
                ENDIF
              ELSE
                READ(CBIDON(6:7),'(I2)') INIT_ISO
              ENDIF
              IF (INIT_ISO.GT.11.OR.INIT_ISO.LT.0) THEN
                INIT_ISO = 0
                IF (ILANG.EQ.0) THEN
                  PRINT*,
     &         '*** Les types d''isovaleurs sont compris entre 0 et 11'
                ELSE
                  PRINT*,
     &         '*** Contour plot type lies between 0 and 11'
                ENDIF
                CALL ERREUROPT(CBIDON,LBID,NBERR)
              ENDIF
            ELSEIF(LBID.GT.8.AND.CBIDON(1:8).EQ.'-isosurf') THEN
              IF (CBIDON(9:9).EQ.'=') THEN
                READ(CBIDON(10:LBID),*) XINIT_VISO
                ICALSU = 0
              ELSEIF(CBIDON(9:10).EQ.'+=') THEN
                READ(CBIDON(11:LBID),*) XINIT_VISO
                ICALSU = 2
              ELSEIF(CBIDON(9:10).EQ.'-=') THEN
                READ(CBIDON(11:LBID),*) XINIT_VISO
                ICALSU = 1
              ELSE
                CALL ERREUROPT(CBIDON,LBID,NBERR)
              ENDIF
            ELSEIF(LBID.GT.5.AND.CBIDON(1:4).EQ.'-leg') THEN
              IF (CBIDON(5:5).EQ.'=') THEN
                LONLEG = LBID-5
                LEG(1:LONLEG) = CBIDON(6:LBID)
                IF (LONLEG.GT.2.AND.LEG(1:1).EQ.LEG(LONLEG:LONLEG)) THEN
                  IF (LEG(1:1).EQ.'"'.OR.LEG(1:1).EQ."'") THEN
                    LEG(1:LONLEG-2) = LEG(2:LONLEG-1)
                    LONLEG = LONLEG-2
                  ENDIF
                ENDIF
                ILEGMAN = 1
                IF (ILEG.EQ.0) ILEG = 1
              ELSEIF(LBID.EQ.9.AND.CBIDON(1:8).EQ.'-legpos=') THEN
                READ(CBIDON(9:9),*) ILEG
                ILEG = MIN(MAX(ILEG,0),5)
              ELSE
                CALL ERREUROPT(CBIDON,LBID,NBERR)
              ENDIF
            ELSEIF(LBID.EQ.6.AND.CBIDON(1:6).EQ.'-noleg') THEN
              ILEG = -1
            ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-light=') THEN
              READ(CBIDON(8:LBID),*) INIT_DIRL
              IF (INIT_DIRL.LT.-1.OR.INIT_DIRL.GT.6) THEN
                CALL ERREUROPT(CBIDON,LBID,NBERR)
                INIT_DIRL = 0
              ENDIF
            ELSEIF(LBID.GE.4.AND.CBIDON(1:4).EQ.'-log') THEN
              IF (LBID.EQ.4) THEN
                ILOGX = 1
                ILOGY = 1
                ILOGZ = 1
              ELSEIF(CBIDON(5:5).EQ.'x') THEN
                ILOGX = 1
              ELSEIF(CBIDON(5:5).EQ.'y') THEN
                ILOGY = 1
              ELSEIF(CBIDON(5:5).EQ.'z') THEN
                ILOGZ = 1
              ELSE
                CALL ERREUROPT(CBIDON,LBID,NBERR)
              ENDIF
            ELSEIF(LBID.GE.5.AND.CBIDON(1:5).EQ.'-mode') THEN
              IF (LBID.EQ.5) THEN
                INIT_MODE = 0
              ELSEIF(CBIDON(6:6).EQ.'=') THEN
                READ(CBIDON(7:LBID),*) INIT_MODE
              ELSE
                CALL ERREUROPT(CBIDON,LBID,NBERR)
              ENDIF
            ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-nbcol=') THEN
              READ(CBIDON(8:LBID),*) INIT_NBCOUL
              ITOUCHNB = 1
            ELSEIF(LBID.GT.8.AND.CBIDON(1:8).EQ.'-nbcoul=') THEN
              READ(CBIDON(9:LBID),*) INIT_NBCOUL
              ITOUCHNB = 1
            ELSEIF(LBID.GE.4.AND.CBIDON(1:4).EQ.'-opt') THEN
              IF (LBID.GE.5.AND.CBIDON(5:5).EQ.'p') THEN
                IOPTFORME = 2
              ELSE
                IOPTFORME = 1
              ENDIF
              NODEPL = 1
            ELSEIF(LBID.GE.4.AND.CBIDON(1:4).EQ.'-lev') THEN
              IF (CBIDON(5:5).EQ.'0') THEN
                IOPTFORME = -2
              ELSE
                IOPTFORME = -1
              ENDIF
              NODEPL = 1
            ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-persp=') THEN
              READ(CBIDON(8:LBID),*) INIT_IPERSP
              IF (INIT_IPERSP.LT.0.OR.INIT_IPERSP.GT.3) THEN
                CALL ERREUROPT(CBIDON,LBID,NBERR)
                INIT_IPERSP = 0
              ELSE
                IF (INIT_IPERSP.EQ.0) THEN
                  INIT_IPERSP = 1
                ELSE
                  INIT_IPERSP = -INIT_IPERSP
                ENDIF
              ENDIF
            ELSEIF(LBID.GE.3.AND.CBIDON(1:3).EQ.'-ps') THEN
              IF (LBID.GT.7.AND.CBIDON(1:7).EQ.'-psdef=') THEN
                NVIRG = 0
                DO J=8,LBID
                  IF (CBIDON(J:J).EQ.',') THEN
                    NVIRG = NVIRG+1
                    IVIRG(NVIRG) = J
                  ENDIF
                ENDDO
                IVIRG(NVIRG+1) = LBID+1
                I0 = 8
                ISIG = 1
                IINF = 0
                IPOR = 1
                IFLAG = 0
                DO J=1,NVIRG+1
                  IF (CBIDON(I0:IVIRG(J)-1).EQ.'seul') THEN
                    INIT_DEFPS = 8
                    GOTO 10
                  ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'sign') THEN
                    ISIG = 1
                    IFLAG = 1
                  ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'nosign') THEN
                    ISIG = 0
                    IFLAG = 1
                  ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'info') THEN
                    IINF = 1
                    IFLAG = 1
                  ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'noinfo') THEN
                    IINF = 0
                    IFLAG = 1
                  ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'port') THEN
                    IPOR = 1
                    IFLAG = 1
                  ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'land') THEN
                    IPOR = 0
                    IFLAG = 1
                  ELSE
Cfj                    IF (ILANG.EQ.0) THEN
Cfj                      PRINT*,
Cfj     &'*** Option invalide : -psdef='//CBIDON(I0:IVIRG(J)-1)
Cfj                    ELSE
Cfj                      PRINT*,
Cfj     &'*** Invalid option: -psdef='//CBIDON(I0:IVIRG(J)-1)
Cfj                    ENDIF
                    CALL ERREUROPT(CBIDON,LBID,NBERR)
                  ENDIF
                  I0 = IVIRG(J)+1
                ENDDO
 10             IF (INIT_DEFPS.NE.8.AND.IFLAG.EQ.1) THEN
                  INIT_DEFPS = 0
                  IF (ISIG.EQ.0) INIT_DEFPS = INIT_DEFPS+1
                  IF (IINF.EQ.1) INIT_DEFPS = INIT_DEFPS+2
                  IF (IPOR.EQ.0) INIT_DEFPS = INIT_DEFPS+4
                ENDIF
              ELSE
                IBATCH = 1
                ITERMC = 3
                LLL = 4
                IF (LBID.GE.6.AND.CBIDON(1:6).EQ.'-pscol') THEN
                  IPOSTCOL = 1
                  LLL = 7
                ELSEIF(LBID.GE.7.AND.CBIDON(1:7).EQ.'-pscoul') THEN
                  IPOSTCOL = 1
                  LLL = 8
                ENDIF
                IF (LBID.GT.LLL) THEN
                  IF (CBIDON(LLL:LLL).EQ.'=') THEN
                    LONPS = LBID-LLL
                    NOMPS(1:LONPS) = CBIDON(LLL+1:LBID)
                    ISTDOUT = 1
                  ENDIF
                ENDIF
              ENDIF
            ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-rotx=') THEN
              READ(CBIDON(7:LBID),*) XINIT_ROTX
            ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-roty=') THEN
              READ(CBIDON(7:LBID),*) XINIT_ROTY
            ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-rotz=') THEN
              READ(CBIDON(7:LBID),*) XINIT_ROTZ
            ELSEIF(LBID.GE.4.AND.CBIDON(1:4).EQ.'-sym') THEN
              IF (LBID.GT.5.AND.CBIDON(1:5).EQ.'-sym=') THEN
                READ(CBIDON(6:LBID),*) INIT_RECON
              ELSEIF(LBID.EQ.5.AND.CBIDON(1:5).EQ.'-symr') THEN
                ISYMR = 1
              ELSE
                INIT_RECON = -1
              ENDIF
            ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-table=') THEN
              ITOUCHTAB = 1
              READ(CBIDON(8:LBID),*) INIT_TABLE
              IF (INIT_TABLE.LE.0.OR.INIT_TABLE.GT.NTABMAX) THEN
                IF (ILANG.EQ.0) THEN
                  PRINT*,
     &  '*** Les tables de couleurs doivent être entre 1 et',NTABMAX
                ELSE
                  PRINT*,
     &         '*** Color table number are between 1 and',NTABMAX
                ENDIF
                INIT_TABLE = 0
                CALL ERREUROPT(CBIDON,LBID,NBERR)
              ENDIF
            ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-vmax=') THEN
              READ(CBIDON(7:LBID),*) XINIT_VMAX
            ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-vmin=') THEN
              READ(CBIDON(7:LBID),*) XINIT_VMIN
            ELSEIF(LBID.GT.8.AND.CBIDON(1:8).EQ.'-xcentr=') THEN
              READ(CBIDON(9:LBID),*) XINIT_XCUR
            ELSEIF(LBID.GT.8.AND.CBIDON(1:8).EQ.'-ycentr=') THEN
              READ(CBIDON(9:LBID),*) XINIT_YCUR
            ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-zoom=') THEN
              READ(CBIDON(7:LBID),*) XINIT_ZOOM
            ELSE
              CALL ERREUROPT(CBIDON,LBID,NBERR)
            ENDIF
          ENDDO
        ENDIF
        IF (NBERR.GT.0) CALL ETLEHELPALORS
      ENDIF
      END
C=======================================================================
      SUBROUTINE ETLEHELPALORS
      INCLUDE 'com_options.f'
C
      IF (ILANG.EQ.0) THEN
        PRINT*,'*** tapez "'//PROGEFF(1:LPROGEFF)//
     &       ' -h" pour voir la liste des options'
      ELSE
        PRINT*,'*** type "'//PROGEFF(1:LPROGEFF)//
     &       ' -h" to display the options list'
      ENDIF
      END
C=======================================================================
      SUBROUTINE ERREUROPT(CBIDON,LBID,NBERR)
      INCLUDE 'com_options.f'
      CHARACTER*128 CBIDON
C
      NBERR = NBERR+1
      IF (ILANG.EQ.0) THEN
        PRINT*,'*** Option invalide : '//CBIDON(1:LBID)
      ELSE
        PRINT*,'*** Invalid option: '//CBIDON(1:LBID)
      ENDIF
      END
