      SUBROUTINE INFO(X0,X1,Y0,Y1,NSURF)
C
      INCLUDE 'com_coor.f'
      INCLUDE 'com_options.f'
C
      CHARACTER*2  CCC
      CHARACTER*7  CEXA,CFACE,CNEL,CSD,CISO,CNUM
      CHARACTER*32 ECHFL
      CHARACTER*15 NBISO
      CHARACTER*128 NOMNOM
      LOGICAL*4 VRAIECH,ECHELVIT
      DIMENSION XXX(4),YYY(4),VIVI(2)
      INCLUDE 'Version.f'
C
      IF (ILANG.EQ.0) THEN
        CALL COMMENTE_PS(
     &     "Debut de la zone d'informations (a droite)",42)
      ELSE
        CALL COMMENTE_PS(
     &     'Begining of the right-hand zone (information)',45)
      ENDIF
      CALL METSACCENTS(1)
      CALL GSBND(X0,X1,Y0,Y1)
C
      IF (IBATCH.EQ.0) THEN
        CALL VRAIECOORD(X0,Y1,IX0,IY0)
        CALL VRAIECOORD(X1,Y0,IX1,IY1)
        ILARG = IX1-IX0
        IHAUT = IY1-IY0
        CALL GSPROGRE(1)
      ENDIF
      ECHELVIT = IVIT.LT.0.AND.VITMAX.GT.0.
C
      CALL GSPATF(ICTFON)
      CALL GSPAT(16)
      CALL MY_GSAREA2B(X0,X1,Y0,Y1)
      CALL GSCOL(ICOLAX)
      DY = (Y1-Y0)*.02
      DY2 = 1.5*DY
      DY3 = 0.3*DY
      IF (HYA4.EQ.HYA4B) THEN
        DX = .05*(X1-X0)
      ELSE
        DX = .08*(X1-X0)
      ENDIF
      CALL GSLSS(9)
      CALL ASFCOL(ICOLAX)
      IF (IINFO.EQ.-2) THEN
        CALL GSCHAR(X0+DX*.5,.5*(Y0+Y1)+DY*.3,LPRO,PROBIG)
      ELSEIF(IPOST.LT.0) THEN
        CALL GSCHAR(X0+DX*.5,Y1-DY*.7,LPRO,PROBIG)
      ELSE
        CALL GSCHAR(X0+DX*.5,Y1-DY*.9,LPRO,PROBIG)
      ENDIF
      CALL GSLSS(IFONT1)
      XX = X0 + DX
      IF (IINFO.LT.0) THEN
        IF (IINFO.EQ.-1) THEN
          YY = Y1
          IF (ECHELVIT) YY = YY-DY
        ELSE
          YY = .5*(Y0+Y1)
        ENDIF
        GOTO 999
      ELSE
        YY = Y1-2.*DY
      ENDIF
      CALL ASFCOL(ICOLAXB)
      CALL GSCHAR(XX,YY,18,MEMO)
      YY = YY-DY2
      IF ( NOM_FICH(1:5).EQ.'/tmp/'
     &.AND.NOM_FICH(LONG:LONG).EQ.'D'.AND.INOPO.NE.0) THEN
        IF (INOPO.EQ.1) THEN
          NOMNOM = NOM_FICH(6:LONG-7)//'nopo'
          LONLON = LONG-8
        ELSEIF(INOPO.EQ.2) THEN
          NOMNOM = NOM_FICH(6:LONG-7)//'amdba'
          LONLON = LONG-7
        ELSEIF(INOPO.EQ.3) THEN
          NOMNOM = NOM_FICH(6:LONG-7)//'am'
          LONLON = LONG-10
        ELSEIF(INOPO.EQ.4) THEN
          NOMNOM = NOM_FICH(6:LONG-7)//'am_fmt'
          LONLON = LONG-6
        ELSE
          NOMNOM = NOM_FICH(6:LONG-7)//'msh'
          LONLON = LONG-9
        ENDIF
      ELSE
        NOMNOM = NOM_FICH
        LONLON = LONG
      ENDIF
      CALL REDUITPATH(NOMNOM,LONLON)
      CALL GSCHAR(XX,YY,LONLON,NOMNOM)
      IF (IEXAG.GE.2.AND.FACEXA.NE.0.) THEN
        YY = YY-DY2
        IF (LONVIT.EQ.0) THEN
          NOMNOM = NOM_FICH(1:LONG-7)//'depl'
          LONLON = LONG-3
        ELSE
          NOMNOM = NOM_VIT(1:LONVIT)
          LONLON = LONVIT
        ENDIF
        CALL REDUITPATH(NOMNOM,LONLON)
        CALL GSCHAR(XX,YY,LONLON,NOMNOM(1:LONLON))
      ENDIF
      IF (ISO.NE.0.OR.NSURF.GT.0) THEN
        YY = YY-DY2
        IF (NOM_ISO(1:1).EQ.'$') THEN
          NOMNOM = NOM_ISO(2:LONISO)
          LONLON = LONISO-1
        ELSE
          NOMNOM = NOM_ISO(1:LONISO)
          LONLON = LONISO
          CALL REDUITPATH(NOMNOM,LONLON)
        ENDIF
        CALL GSCHAR(XX,YY,LONLON,NOMNOM(1:LONLON))
        IF ((NOMNOM(1:13).EQ.'Comparaison ('.AND.ILANG.EQ.0)
     &  .OR.(NOMNOM(1:12).EQ.'Comparison ('.AND.ILANG.NE.0)
     &  .OR.(NOMNOM(1:15).EQ.'abs(Comparaison'.AND.ILANG.EQ.0)
     &  .OR.(NOMNOM(1:14).EQ.'abs(Comparison'.AND.ILANG.NE.0)
     &       ) THEN
          YY = YY-DY2
          CALL GSCHAR(XX,YY,LONC1,NOM_C1)
          YY = YY-DY2
          CALL GSCHAR(XX,YY,LONC2,NOM_C2)
        ENDIF
      ENDIF
      IF (IVIT.LT.0.OR.NPSUR.GT.0) THEN
        YY = YY-DY2
        NOMNOM = NOM_VIT(1:LONVIT)
        LONLON = LONVIT
        CALL REDUITPATH(NOMNOM,LONLON)
        CALL GSCHAR(XX,YY,LONLON,NOMNOM(1:LONLON))
      ENDIF
      YY = YY-DY2
      CALL GSCHAR(XX,YY,LELEM,ELEMENTS)
      YY = YY-DY2
      WRITE (CNUM,'(I7)') NUMNP
      IF (ILANG.EQ.0) THEN
        CALL GSCHAR(XX,YY,16,'noeuds  :'//CNUM)
      ELSE
        CALL GSCHAR(XX,YY,16,'nodes   :'//CNUM)
      ENDIF
      IF (ICOURB.GT.0) THEN
        YY = YY-DY2
        WRITE (CNEL,'(I7)') NEL
        IF (ILANG.EQ.0) THEN
          CALL GSCHAR(XX,YY,16
     &         ,CHAR(233)//'l'//CHAR(233)//'ments:'//CNEL)
        ELSE
          CALL GSCHAR(XX,YY,16,'elements:'//CNEL)
        ENDIF
      ENDIF
      IF (I2D.EQ.0.AND.IPS2D.EQ.0) THEN
        YY = YY-DY2
        WRITE (CFACE,'(I7)') NFACE
        CALL GSCHAR(XX,YY,16,'faces   :'//CFACE)
      ENDIF
      IF (NUMSD.NE.1) THEN
        YY = YY-DY2
        WRITE (CSD,'(I7)') NUMSD
        IF (ILANG.EQ.0) THEN
          CALL GSCHAR(XX,YY,16,'ss. dom.:'//CSD)
        ELSE
          CALL GSCHAR(XX,YY,16,'sub dom.:'//CSD)
        ENDIF
      ENDIF
      IF (IEXAG.NE.0) THEN
        IF (ICOURB.GT.0.AND.FACEXA.NE.0.) THEN
          YY = YY-DY2
          IF (FACEXA.EQ.1.) THEN
            IF (ILANG.EQ.0) THEN
              CALL GSCHAR(XX,YY,14,'Conf. déformée')
            ELSE
              CALL GSCHAR(XX,YY,14,'Deformed conf.')
            ENDIF
          ELSE
            CALL MYENCO(FACEXA,CEXA)
            IF (ILANG.EQ.0) THEN
              CALL GSCHAR(XX,YY,16,'exagèr. :'//CEXA)
            ELSE
              CALL GSCHAR(XX,YY,16,'exager. :'//CEXA)
            ENDIF
          ENDIF
        ELSEIF(ICOURB.LE.0.AND.
     &         (FACEXAX.NE.1..OR.FACEXAY.NE.1..OR.FACEXAZ.NE.1.) ) THEN
          YY = YY-DY2
          CALL MYENCO(FACEXAX,CEXA)
          CALL GSCHAR(XX,YY,16,'exag. X :'//CEXA)
          YY = YY-DY2
          CALL MYENCO(FACEXAY,CEXA)
          CALL GSCHAR(XX,YY,16,'exag. Y :'//CEXA)
          YY = YY-DY2
          CALL MYENCO(FACEXAZ,CEXA)
          CALL GSCHAR(XX,YY,16,'exag. Z :'//CEXA)
        ENDIF
      ENDIF
      IF (NSURF.GT.0) THEN
        YY = YY-DY2
        CALL MYENCO(VISO,CISO)
        IF (ICALSU.EQ.0) THEN
          CALL GSCHAR(XX,YY,16,'Isosurf.:'//CISO)
        ELSEIF (ICALSU.EQ.1) THEN
          CALL GSCHAR(XX,YY,16,'Isosurf.<'//CISO)
        ELSE
          CALL GSCHAR(XX,YY,16,'Isosurf.>'//CISO)
        ENDIF
      ENDIF
      IF ((IFRONT.EQ.1.OR.IFRONT.EQ.3).AND.IFBLO.NE.0) THEN
        YY = YY-DY
        CALL GSMOVE(X0,YY)
        CALL GSLINE(X1,YY)
        YY = YY-DY
        CALL GSMS(4)
        IF (I2D.EQ.0.AND.IPS2D.EQ.0) THEN
          CALL GSCOL (ICBLO(1,2))
          CALL ASFCOL(ICBLO(1,2))
          CALL GSMARK(XX+DX,YY)
          CALL GSCHAR(XX+2.*DX,YY-DY3,3,'x--')
          CALL GSCOL (ICBLO(2,2))
          CALL ASFCOL(ICBLO(2,2))
          CALL GSMARK(X1-6.*DX,YY)
          CALL GSCHAR(X1-5.*DX,YY-DY3,3,'-y-')
          YY = YY-DY
          CALL GSCOL (ICBLO(3,2))
          CALL ASFCOL(ICBLO(3,2))
          CALL GSMARK(XX+DX,YY)
          CALL GSCHAR(XX+2.*DX,YY-DY3,3,'xy-')
          CALL GSCOL (ICBLO(4,2))
          CALL ASFCOL(ICBLO(4,2))
          CALL GSMARK(X1-6.*DX,YY)
          CALL GSCHAR(X1-5.*DX,YY-DY3,3,'--z')
          YY = YY-DY
          CALL GSCOL (ICBLO(5,2))
          CALL ASFCOL(ICBLO(5,2))
          CALL GSMARK(XX+DX,YY)
          CALL GSCHAR(XX+2.*DX,YY-DY3,3,'x-z')
          CALL GSCOL (ICBLO(6,2))
          CALL ASFCOL(ICBLO(6,2))
          CALL GSMARK(X1-6.*DX,YY)
          CALL GSCHAR(X1-5.*DX,YY-DY3,3,'-yz')
          YY = YY-DY
          CALL GSCOL (ICBLO(7,2))
          CALL ASFCOL(ICBLO(7,2))
          CALL GSMARK(XX+DX,YY)
          CALL GSCHAR(XX+2.*DX,YY-DY3,3,'xyz')
          IF (IFBLO.GT.7) THEN
            YY = YY-DY
            CALL GSCOL(7)
            CALL ASFCOL(7)
            CALL GSMS(10)
            CALL GSMARK(XX+DX,YY)
            IF (ILANG.EQ.0) THEN
              CALL GSCHAR(XX+2.*DX,YY-DY3,4,'plan')
              CALL GSMS(11)
              CALL GSMARK(X1-6.*DX,YY)
              CALL GSCHAR(X1-5.*DX,YY-DY3,3,'axe')
              YY = YY-DY
              CALL GSMS(5)
              CALL GSMARK(XX+DX,YY)
              CALL GSCHAR(XX+2.*DX,YY-DY3,13,'dépl. unilat.')
              YY = YY-DY
              CALL GSMS(6)
              CALL GSMARK(XX+DX,YY)
              CALL GSCHAR(XX+2.*DX,YY-DY3,15,'contact unilat.')
            ELSE
              CALL GSCHAR(XX+2.*DX,YY-DY3,5,'plane')
              CALL GSMS(11)
              CALL GSMARK(X1-6.*DX,YY)
              CALL GSCHAR(X1-5.*DX,YY-DY3,4,'axis')
              YY = YY-DY
              CALL GSMS(5)
              CALL GSMARK(XX+DX,YY)
              CALL GSCHAR(XX+2.*DX,YY-DY3,14,'unilat. displ.')
              YY = YY-DY
              CALL GSMS(6)
              CALL GSMARK(XX+DX,YY)
              CALL GSCHAR(XX+2.*DX,YY-DY3,15,'unilat. contact')
            ENDIF
            YY = YY-DY
            CALL GSMS(7)
            CALL GSMARK(XX+DX,YY)
            CALL GSCHAR(XX+2.*DX,YY-DY3,7,'contact')
            YY = YY-DY
            CALL GSMS(8)
            CALL GSMARK(XX+DX,YY)
            CALL GSCHAR(XX+2.*DX,YY-DY3,12,'self-contact')
          ENDIF
        ELSE
          CALL GSCOL (ICBLO(1,1))
          CALL ASFCOL(ICBLO(1,1))
          CALL GSMARK(XX+DX,YY)
          CALL GSCHAR(XX+2.*DX,YY-DY3,2,'x-')
          CALL GSCOL (ICBLO(2,1))
          CALL ASFCOL(ICBLO(2,1))
          CALL GSMARK(.5*(X0+X1-3.*DX),YY)
          CALL GSCHAR(.5*(X0+X1-DX),YY-DY3,2,'-y')
          CALL GSCOL (ICBLO(3,1))
          CALL ASFCOL(ICBLO(3,1))
          CALL GSMARK(X1-5.*DX,YY)
          CALL GSCHAR(X1-4.*DX,YY-DY3,2,'xy')
          IF (IFBLO.GT.7) THEN
            YY = YY-DY
            CALL GSCOL(7)
            CALL ASFCOL(7)
            CALL GSMS(10)
            CALL GSMARK(XX+DX,YY)
            IF (ILANG.EQ.0) THEN
              CALL GSCHAR(XX+2.*DX,YY-DY3,3,'axe')
              YY = YY-DY
              CALL GSMS(5)
              CALL GSMARK(XX+DX,YY)
              CALL GSCHAR(XX+2.*DX,YY-DY3,13,'dépl. unilat.')
              YY = YY-DY
              CALL GSMS(6)
              CALL GSMARK(XX+DX,YY)
              CALL GSCHAR(XX+2.*DX,YY-DY3,15,'contact unilat.')
            ELSE
              CALL GSCHAR(XX+2.*DX,YY-DY3,4,'axis')
              YY = YY-DY
              CALL GSMS(5)
              CALL GSMARK(XX+DX,YY)
              CALL GSCHAR(XX+2.*DX,YY-DY3,14,'unilat. displ.')
              YY = YY-DY
              CALL GSMS(6)
              CALL GSMARK(XX+DX,YY)
              CALL GSCHAR(XX+2.*DX,YY-DY3,15,'unilat. contact')
            ENDIF
            YY = YY-DY
            CALL GSMS(7)
            CALL GSMARK(XX+DX,YY)
            CALL GSCHAR(XX+2.*DX,YY-DY3,7,'contact')
            YY = YY-DY
            CALL GSMS(8)
            CALL GSMARK(XX+DX,YY)
            CALL GSCHAR(XX+2.*DX,YY-DY3,12,'self-contact')
          ENDIF
        ENDIF
        CALL GSCOL(ICOLAX)
      ENDIF
C
      IF (ECHELVIT) THEN
        YY = YY-DY
        CALL GSMOVE(X0,YY)
        CALL GSLINE(X1,YY)
      ENDIF
C
 999  CONTINUE
C
      IF (ECHELVIT) THEN
        YY = YY-DY
        IF (ICTFLE.LE.15) THEN
          CALL GSCOL(ICTFLE)
          CALL GSPAT(ICTFLE)
        ELSE
          CALL GSPAT(ICOLAX)
        ENDIF
        DIM    = .2*ABS(FACVIT)*SQRT((XDMAX-XHELP)**2+(YDMIN-YDMAX)**2)
        USDIM  = 1./DIM
        TAILVI = DIM/VITMAX
        EPSLON = 0.
        VAVA = DIM*0.1/TAILVI
        XDEB = X0+DX
        VIVI1 = (X1-X0)*0.4
        VIVI(1) = VIVI1/TAILVI
        PUI = LOG10(VIVI(1))
        NPUI = INT(PUI)-1
        PUIPUI = 10.**NPUI
        TMP = VIVI(1)/PUIPUI
        NTMP = NINT(TMP)
        VIVI(1) = REAL(NTMP)*PUIPUI
        VIVI1 = VIVI(1)*TAILVI
        VIVI(2) = 0.
        BID = 0.
        IF (FACVIT.LT.0.) THEN
          XDEB = XDEB + VIVI1
          VIVI(1) = -VIVI(1)
        ENDIF
        CALL FLECHE(TAILVI,USDIM,VAVA,VIVI,XDEB,YY,ITYPFL,EPSLON
     &             ,BID,BID,BID,BID)
        IF (FACVIT.LT.0.) VIVI(1) = -VIVI(1)
        CALL ASFCOL(ICOLAX)
Cfj        WRITE(ECHFL,'(G14.5)') VIVI(1)
Cfj        LV0 = 14
Cfj        CALL REDUITC(ECHFL,LV0,L0)
Cfj        CALL GSCHAR(X0+VIVI1+3.*DX,YY-.5*DX,LV0-L0+1,ECHFL(L0:LV0))
C
        CALL REDUITREEL1(VIVI(1),ECHFL,LECH,0)
        CALL GSCHAR(X0+VIVI1+3.*DX,YY-.5*DX,LECH,ECHFL(1:LECH))
C
        CALL GSCOL(ICOLAX)
        YY = YY-DY
        CALL GSMOVE(X0,YY)
        CALL GSLINE(X1,YY)
      ENDIF
C
      IF (ILANG.EQ.0) THEN
        CALL COMMENTE_PS('Debut echelle de couleurs',25)
      ELSE
        CALL COMMENTE_PS('Beginning of the color scale',28)
      ENDIF
      IF (ISO.NE.0.OR.ICTFAC.GT.15.OR.VITCOUL) THEN
        CALL ASFCOL(ICOLAX)
        IF (IINFO.GT.0) THEN
          IF (.NOT.ECHELVIT) THEN
            YY = YY-DY
            CALL GSMOVE(X0,YY)
            CALL GSLINE(X1,YY)
          ENDIF
          YY = YY-DY2
          IF (ISO.NE.0.OR.VITCOUL) THEN
            IF (ILANG.EQ.0) THEN
              WRITE(NBISO,1000) NBCOL
            ELSE
              WRITE(NBISO,1001) NBCOL
            ENDIF
          ELSE
            IF (ILANG.EQ.0) THEN
              WRITE(NBISO,1002) NBCOL
            ELSE
              WRITE(NBISO,1001) NBCOL
            ENDIF
          ENDIF
 1000     FORMAT(I3,' isovaleurs')
 1001     FORMAT(I3,' colors    ')
 1002     FORMAT(I3,' couleurs  ')
          CALL GSCHAR(XX,YY,14,NBISO)
        ENDIF
        IF (IINFO.EQ.-2) THEN
          RY = YY - Y0 - 2.*DY
        ELSE
          RY = YY - Y0 - 3.*DY
        ENDIF
        IF (ISO.EQ.0.AND.ICTFAC.GT.15.AND..NOT.VITCOUL) THEN
          XX = (X1+X0)*.5 - DX*1.5
        ELSE
          XX = X0+DX
        ENDIF
        XXX(1) = XX
        XXX(2) = XX + 3.*DX
        XCOUL = XXX(1)
        X2 = XXX(2)
        DDY = RY/REAL(NBCOL)
        VRAIECH = IINFO.NE.-2.OR.NBCOL.GT.10.OR.IVFIXE.EQ.0
        IF ((ISO.EQ.1.OR.ISO.EQ.3).OR.NBCOL.GT.50
     &  .OR.(ISO.EQ.0.AND.ICTFAC.GT.15).OR.VITCOUL) THEN
          YYY(2) = Y0 + DY
          YYYYY0 = YYY(2)
          DO I=1,NBCOL
            YYY(1) = YYY(2)
            IF (VMIN.NE.VMAX.AND.ISO.NE.0.AND.VRAIECH) THEN
              DDYB = RY*(VAL(I+1)-VAL(I))/(VMAX-VMIN)
            ELSE
              DDYB = DDY
            ENDIF
            YYY(2) = YYY(1)+DDYB
            YCOUL(I) = YYY(1)
            CALL GSPAT(17+I)
            CALL MY_GSAREA2(XXX,YYY)
          ENDDO
          YCOUL(NBCOL+1) = YYY(2)
          CALL GSLW(-1)
          IF (ISOFRO.NE.0.AND.NBCOL.LE.50) THEN
            CALL GSCOL(0)
            YYY(1) = Y0+DY
            DO I=1,NBCOL-1
              IF (VMIN.NE.VMAX.AND.VRAIECH) THEN
                DDYB = RY*(VAL(I+1)-VAL(I))/(VMAX-VMIN)
              ELSE
                DDYB = DDY
              ENDIF
              YYY(1) = YYY(1)+DDYB
              CALL GSMOVE(XXX(1),YYY(1))
              CALL GSLINE(XXX(2),YYY(1))
            ENDDO
          ENDIF
          CALL GSCOL(ICOLAX)
          CALL GSMOVE(XXX(1),YYYYY0)
          CALL GSLINE(XXX(2),YYYYY0)
          CALL GSLINE(XXX(2),YYY(2))
          CALL GSLINE(XXX(1),YYY(2))
          CALL GSLINE(XXX(1),YYYYY0)
        ELSE
CC          CALL GSLW(MAX(2*IEPISO,1))
          CALL GSLW(IEPISO)
CC          YYY(1) = Y0+DY+DDY*.5
          DO I=1,NBCOL
            CALL GSCOL(17+I)
            IF (VMIN.NE.VMAX.AND.VRAIECH) THEN
              YYY(1) = Y0+DY+RY*(VALFRO(I)-VMIN)/(VMAX-VMIN)
            ELSE
              YYY(1) = Y0+DY+DDY*(REAL(I)-.5)
            ENDIF
            CALL GSMOVE(XXX(1),YYY(1))
            CALL GSLINE(XXX(2),YYY(1))
            YCOUL(I) = YYY(1)
          ENDDO
          YCOUL(NBCOL+1) = YCOUL(NBCOL)
          CALL GSLW(0)
          CALL GSCOL(ICOLAX)
        ENDIF
        IF (ISO.NE.0.OR.VITCOUL) THEN
          IF (NBCOL.LE.21) THEN
            NB = NBCOL
          ELSE
            NB = 10
          ENDIF
          CALL GSPAT(16)
          DDY = RY/REAL(NB)
          IF ((ISO.EQ.1.OR.ISO.EQ.3)
     &     .OR.NBCOL.GT.21.OR.NBCOL.LE.10) THEN
            YY = Y0 + DY
            I0 = 0
          ELSE
            YY = Y0 + DY + .5*DDY
            I0 = 1
          ENDIF
          IF ((VMIN*VMAX).GE.0..AND.(VMIN.NE.0..OR.VMAX.NE.0.)) THEN
            TOTO = (VMAX-VMIN)/ABS(VMAX+VMIN)
            IF (TOTO.LT..001) THEN
              LV00 = 16
              XLEG = X2 + 2.5*DX
            ELSE
              LV00 = 14
              XLEG = X2 + 4.*DX
            ENDIF
          ELSE
            LV00 = 14
            XLEG = X2 + 4.*DX
          ENDIF
          IF (NBCOL.LE.10) THEN
            IF (ISO.EQ.1.OR.ISO.EQ.3) THEN
              DO I=0,NBCOL
                IF (VMIN.NE.VMAX.AND.VRAIECH) THEN
                  YY = Y0+DY+RY*(VAL(I+1)-VMIN)/(VMAX-VMIN)
                ELSE
                  YY = Y0+DY+DDY*REAL(I)
                ENDIF
                CALL ECRITVAL(X2,DX,VAL(I+1),LV00,I,NBCOL,XLEG,YY)
              ENDDO
            ELSE
              DO I=1,NBCOL
                IF (VMIN.NE.VMAX.AND.VRAIECH) THEN
                  YY = Y0+DY+RY*(VALFRO(I)-VMIN)/(VMAX-VMIN)
                ELSE
                  YY = Y0+DY+DDY*REAL(I)
                ENDIF
c??? 4/2001                CALL ECRITVAL(X2,DX,VALFRO(I),LV00,IBID,IBID,XLEG,YY)
                CALL ECRITVAL(X2,DX,VALFRO(I),LV00,I,NBCOL,XLEG,YY)
              ENDDO
            ENDIF
          ELSE
            DO I=I0,NB
              V=(VMAX*REAL(I)+VMIN*REAL(NB-I)-REAL(I0)*(VMAX-VMIN)*.5)
     &             / REAL(NB)
              CALL ECRITVAL(X2,DX,V,LV00,I,NB,XLEG,YY)
              YY = YY + DDY
            ENDDO
          ENDIF
          IF (VMIN.LT.0..AND.VMAX.GT.0..AND.VRAIECH) THEN
            T = VMIN/(VMIN-VMAX)
            YY = Y0 + DY + RY*T
            CALL GSLW(-1)
            CALL GSMOVE(XXX(1)-.7*DX,YY)
            CALL GSLINE(XXX(2)+1.4*DX,YY)
          ENDIF
        ENDIF
      ENDIF
      IF (ISO.EQ.0.AND.ICTFAC.LT.0) THEN
        CALL GSLSS(IFONT2)
        IF (ICTFAC.EQ.-1) THEN
          IIMIN = 1
          IIMAX = 7
        ELSEIF(ICTFAC.EQ.-2) THEN
          IIMIN = MATMIN
          IIMAX = MATMAX
        ELSE
          IIMIN = 1
          IIMAX = IGROUP
        ENDIF
        CALL GSCOL(ICOLAX)
        CALL ASFCOL(ICOLAX)
        RY = YY-Y0-3.*DY
        DDY = RY/REAL(1+IIMAX-IIMIN)
        XXX(1) = XX+5.*DX
        XXX(2) = XXX(1)+9.*DX
        XXX(3) = XXX(2)
        XXX(4) = XXX(1)
        YYY(3) = Y0+DY
        YYY(4) = YYY(3)
        IF (IIMAX.LT.10) THEN
          XXB = .55*XXX(1)+.45*XXX(2)
        ELSE
          XXB = .6*XXX(1)+.4*XXX(2)
        ENDIF
        DO I=IIMIN,IIMAX
          YYY(1) = YYY(4)
          YYY(2) = YYY(3)
          YYY(3) = YYY(3)+DDY
          YYY(4) = YYY(4)+DDY
          YYB = .55*YYY(1)+.45*YYY(3)
          CALL GSPAT(ICREF(I))
          CALL MY_GSAREA(1,XXX,YYY,4)
          IF (IIMAX.LT.10) THEN
            WRITE (CCC(1:1),'(I1)') I
            CALL GSCHAR2(XXB,YYB,1,CCC(1:1))
          ELSE
            WRITE (CCC(1:2),'(I2)') I
            CALL GSCHAR2(XXB,YYB,2,CCC(1:2))
          ENDIF
        ENDDO
        CALL GSLSS(IFONT1)
      ENDIF
      CALL ASFCOL(ICOLAX)
      IF (IINFO.EQ.-2) THEN
        YY = .5*(Y0+Y1)
        CALL GSBND(X0,X1,Y0,YY)
      ELSE
        YY = Y1
      ENDIF
      CALL GSLW(IEPBOR)
      CALL GSMOVE(X0,Y0)
      CALL GSLINE(X1,Y0)
      CALL GSLINE(X1,YY)
      CALL GSLINE(X0,YY)
      IF (IINFO.EQ.-2) CALL GSBND(X0,X1,Y0,Y1)
      IF (IPOST.LT.0.AND.IDSEUL.EQ.2) CALL GSLINE(X0,Y0)
      CALL GSLW(1)
      CALL METSACCENTS(0)
      IF (ILANG.EQ.0) THEN
        CALL COMMENTE_PS("Fin de la zone d'informations (a droite)",40)
      ELSE
        CALL COMMENTE_PS('End of the right-hand zone (information)',40)
      ENDIF
C
      IF (IBATCH.EQ.0) THEN
        CALL GSPROGRE(0)
        CALL x11metrect2(IX0,IY0,ILARG,IHAUT,IX0,IY0)
      ENDIF
C
      END
C=======================================================================
      SUBROUTINE VH
      INCLUDE 'Version.f'
      INCLUDE 'com_options.f'
C
      IF (NOM_FICH(1:LONG).EQ.'-v'
     &.OR.NOM_FICH(1:LONG).EQ.'-V'
     &.OR.NOM_FICH(1:LONG).EQ.'--version'
     &.OR.NOM_FICH(1:LONG).EQ.'-h'
     &.OR.NOM_FICH(1:LONG).EQ.'-H'
     &.OR.NOM_FICH(1:LONG).EQ.'--help') THEN
        WRITE(*,'(/,A)') PROBIG
        CALL ECRMEM
      ENDIF
      IF (NOM_FICH(1:LONG).EQ.'-v'
     &.OR.NOM_FICH(1:LONG).EQ.'-V'
     &.OR.NOM_FICH(1:LONG).EQ.'--version') THEN
        IF (ILANG.EQ.0) THEN
          PRINT*,
     &         'Liste des options : "'//PROGEFF(1:LPROGEFF)//' --help"'
        ELSE
          PRINT*,
     &         'Available options: "'//PROGEFF(1:LPROGEFF)//' --help"'
        ENDIF
        PRINT*,' '
        STOP
      ENDIF
      IF (NOM_FICH(1:LONG).EQ.'-h'
     &.OR.NOM_FICH(1:LONG).EQ.'-H'
     &.OR.NOM_FICH(1:LONG).EQ.'--help') THEN
        IF (ILANG.EQ.0) THEN
          PRINT*,'Options disponibles :'
          PRINT*,' '
          PRINT*,' -h,-H,--help : '
     &         //'affiche la présente liste des options.'
          PRINT*,' -v,-V,--version : '
     &         //'affiche la version et la mémoire utilisée'
          PRINT*,' -english     : English version'
          PRINT*,' -french      : Version française'
          PRINT*,' -axis=n      : axes ou non:'
          PRINT*,'   0: rien (défaut 2d)'
          PRINT*,'   1: en haut à gauche'
          PRINT*,'   2: en haut à droite'
          PRINT*,'   3: en bas à droite'
          PRINT*,'   4: en bas à gauche (défaut 3d)'
          PRINT*,' '
          PRINT*,' -bg=n        : couleur du fond (0<=n<=15)'
          PRINT*,' -bord=n      : type de bord affiché.'
          PRINT*,'   0: maillage (défaut pour maillages 3d)'
          PRINT*,
     & '   1: maillage + bord épais (déf. pour mail. 2d et surf. .c3d)'
          PRINT*,'   2: bord épais seul'
          PRINT*,'   3: bord fin seul'
          PRINT*,'   4: pas de maillage'
          PRINT*,'   5: boules 3d aux noeuds - taille moyenne'
          PRINT*,'   6: boules 3d aux noeuds - petites'
          PRINT*,'   7: boules 3d aux noeuds - grosses'
          PRINT*,'   8: boules 2d (sans ombres) aux noeuds - petites'
          PRINT*,' '
          PRINT*,' -box=n       : type de boite affichée.'
          PRINT*,'   0: rien (défaut pour les maillages)'
          PRINT*,'  1X: boite ouverte (défaut pour les courbes)'
          PRINT*,'  2X: boite fermée'
          PRINT*,'   X=0: boite seule'
          PRINT*,'   X=1: traits'
          PRINT*,'   X=2: traits + chiffres'
          PRINT*,'   X=3: traits + grilles'
          PRINT*,'   X=4: traits + chiffres + grilles'
          PRINT*,'   X=5: boite seule'
          PRINT*,'   X=6: chiffres'
          PRINT*,'   X=7: grilles'
          PRINT*,'   X=8: chiffres + grilles'
          PRINT*,' '
          PRINT*,' -colseg=n : couleur des arêtes = n (0<=n<=15)'
          PRINT*,
     &' -cube : exag. t.q. la courbe remplisse un cube (surfaces)'
          PRINT*,
     &' -echx0=x0    : x0 borne inf de l''échelle x (boite)'
          PRINT*,
     &' -echx1=x1    : x1 borne sup de l''échelle x (boite)'
          PRINT*,
     &' -echy0=y0    : y0 borne inf de l''échelle y (boite)'
          PRINT*,
     &' -echy1=y1    : y1 borne sup de l''échelle y (boite)'
          PRINT*,
     &' -echz0=z0    : z0 borne inf de l''échelle z (boite)'
          PRINT*,
     &' -echz1=z1    : z1 borne sup de l''échelle z (boite)'
          PRINT*,
     &' -exag=fact   : facteur d''exagération initial des déplacements'
     &         //' (maillages)'
          PRINT*,
     &' -exag ou -exag=auto: facteur d''exagération des déplacements'
     &         //' automatique (maillages)'
          PRINT*,
     &' -exagx=factx : facteur d''exagération initial en X (surfaces)'
          PRINT*,
     &' -exagy=facty : facteur d''exagération initial en Y (surfaces)'
          PRINT*,
     &' -exagz=factz : facteur d''exagération initial en Z (surfaces)'
          PRINT*,
     &' -fich=fichier: fichier de valeurs (scal. ou vec.) à lire.'
C          PRINT*,
C     &' -full        : toutes les faces (3d seulement).
C          PRINT*,
C     &' -fullshrink  : idem + shrink proportionnel à champ scalaire'
          PRINT*,
     &         ' -fleche[=fact]: affiche les flèches en '
     &         //'présence de fichier vectoriel'
          PRINT*,
     &         '     (valeur optionnelle fact = '//
     &         'coeff multiplicatif pour la taille des flèches)'
          PRINT*,
     & ' -front=n     : frontières affichées. Valeurs possibles :'
          PRINT*,'   0: rien (défaut)'
          PRINT*,'   1: blocages'
          PRINT*,'   2: frontières référencées'
          PRINT*,'   3: frontières référencées + blocages'
          PRINT*,'   4: frontières de sous-domaines (si plusieurs SD)'
          PRINT*,' -[no]hidden  : tracé avec faces cachées ou non.'
          PRINT*,'(défauts: 2d nohidden, 3d hidden)'
          PRINT*,' -iso=c (c=x,y,z) : '//
     &         'isovaleurs calculées avec l''une des coordonnées'
          PRINT*,
     &' -iso=n       : type d''isovaleurs. Valeurs possibles :'
          PRINT*,'   0: rien (défaut)'
          PRINT*,'   1: remplissage'
          PRINT*,'   2: remplissage + traits'
          PRINT*,'   3: remplissage + traits + valeurs'
          PRINT*,'   4: au trait'
          PRINT*,'   5: trait + valeurs'
          PRINT*,'   6: remplissage interpolé'
          PRINT*,'   7: remplissage interpolé + traits'
          PRINT*,'   8: remplissage interpolé + traits + valeurs'
          PRINT*,'   9: trait interpolés'
          PRINT*,'  10: trait interpolés + valeurs'
          PRINT*,'  11: constants par morceaux'
          PRINT*,' '
          PRINT*,' -isosurf=val : isosurface = val'
          PRINT*,' -isosurf+=val: isosurface >= val'
          PRINT*,' -isosurf-=val: isosurface <= val'
          PRINT*,' -legpos=n    : position de la légende (1<=n<=5)'
          PRINT*,' -leg="chaine": légende'
          PRINT*,
     &      ' -noleg       : ne pas afficher les légendes des fichiers'
          PRINT*,
     &' -light=n     : Direction de l''éclairage. Valeurs possibles :'
          PRINT*,'  -1: pas d''ombres (défaut 2d)'
          PRINT*,'   0->6: différentes directions (défaut 3d=0)'
          PRINT*,
     &' -logx : échelles log en x (pour les .xyz et .c3d seulement)'
          PRINT*,
     &' -logy : échelles log en y (pour les .xyz et .c3d seulement)'
          PRINT*,
     &' -logz : échelles log en z (pour les .xyz et .c3d seulement)'
          PRINT*,
     &' -log  : échelles log en x,y,z (<=> -logx -logy -logz)'
          PRINT*,
     &' -nbcol=n     : nombre de couleurs de la table (défaut 75)'
          PRINT*,
     &' -nbcoul=n    : nombre de couleurs de la table (défaut 75)'
          PRINT*,
     &' -nodepl      : ne pas lire le fichier .depl'
          PRINT*,
     &' -opt         : lecture du .theta et options ad-hoc (opt forme)'
          PRINT*,
     &' -optp        : lecture du .thetap et options ad-hoc (opt forme)'
          PRINT*,
     &' -lev         : lecture du .psi et options ad-hoc (levelset)'
          PRINT*,
     &' -persp=n     : type de perspective. Valeurs possibles :'
          PRINT*,'   0: isométrique (défaut 2d)'
          PRINT*,'   1: lointaine'
          PRINT*,'   2: moyenne (défaut 3d)'
          PRINT*,'   3: proche'
          PRINT*,' '
          PRINT*,
     &' -ps[=file]   : PostScript Noir et Blanc'
     &           //' (dans fichier [file] optionnel)'
          PRINT*,
     &' -pscol[=file]: PostScript Couleur'
     &           //' (dans fichier [file] optionnel)'
          PRINT*,
     &         ' -pscoul[=file]: idem'
          PRINT*,'Pour les 3 options ci-dessus, file=-, envoie'
          PRINT*,'les commandes PostScript sur le standart output'
          PRINT*,' '
          PRINT*,
     &' -psdef=opt1,opt2,...,optn : options pour sauvegrade PostScript'
          PRINT*,'   Options reconnues :'
c          PRINT*,'   sign    : signature en bas du dessin (défaut).'
c          PRINT*,'   nosign  : pas de signature en bas du dessin.'
          PRINT*,
     &'   info    : cadre de droite sauvé (défaut si isovaleurs).'
          PRINT*,
     &'   noinfo  : cadre du milieu seulement (défaut sans isovaleurs).'
          PRINT*,
     &'   port    : orientation portrait (défaut sans isovaleurs).'
          PRINT*,
     &'   land    : orientation landscape (défaut si isovaleurs).'
          PRINT*,
     &'   seul    : dessin seul (incompatible avec les autres options).'
          PRINT*,
     &'Pour utilisation dans LaTeX ou TeX, options recommandées :'
          PRINT*,
     &'        "-psdef=port" (info ou noinfo selon les besoins)'
c          PRINT*,
c     &'        "-psdef=nosign,port" (info ou noinfo selon les besoins)'
          PRINT*,
     &           'ou bien "-psdef=seul"'
          PRINT*,' '
          PRINT*,
     &' -rotx=angle  : position angulaire initiale autour de Ox.'
          PRINT*,
     &' -roty=angle  : position angulaire initiale autour de Oy.'
          PRINT*,
     &' -rotz=angle  : position angulaire initiale autour de Oz.'
          PRINT*,' -sym=[n]     : symétries (n=1,2,3,4 ou plus).'
          PRINT*,'                pas d''argument -> symétrie max'
          PRINT*,
     &' -table=n     : table de couleurs (1<=n<=',NTABMAX
     &         ,')(défaut 7--> grise).'
          PRINT*,
     &' -vmax=valeur : borne supérieure de la table des isovaleurs.'
          PRINT*,
     &' -vmin=valeur : borne inférieure de la table des isovaleurs.'
          PRINT*,' -xcentr=X    : coordonnée X du centre du cadrage'
          PRINT*,' -xcentr=Y    : coordonnée Y du centre du cadrage'
          PRINT*,' -zoom=facteur: facteur de zoom'
          PRINT*,' '
          PRINT*,
     &'N''hésitez pas à envoyer vos bugs et suggestions à :'
C-----------
C Anglais
C-----------
        ELSE
          PRINT*,'Available options:'
          PRINT*,' '
          PRINT*,' -h,-H,--help: '
     &         //'displays the present list.'
          PRINT*,' -v,-V,--version: '
     &         //'displays the version and the available memory.'
          PRINT*,' -english     : English version'
          PRINT*,' -french      : Version française'
          PRINT*,' -axis=n      : axis definition'
          PRINT*,'   0: no axis (default 2d)'
          PRINT*,'   1: upper left corner'
          PRINT*,'   2: upper right corner'
          PRINT*,'   3: lower right corner'
          PRINT*,'   4: lower left corner (default 3d)'
          PRINT*,' '
          PRINT*,' -bg=n        : background color (0<=n<=15)'
          PRINT*,' -bord=n      : boundary type plotted.'
          PRINT*,'   0: mesh (default for 3d meshes)'
          PRINT*,
     &'   1: mesh + thick boundary (def. for 2d meshes and surfaces)'
          PRINT*,'   2: only thick boundary'
          PRINT*,'   3: only thin boundary'
          PRINT*,'   4: no mesh'
          PRINT*,'   5: 3d spheres at nodes - midsize'
          PRINT*,'   6: 3d spheres at nodes - small'
          PRINT*,'   7: 3d spheres at nodes - big'
          PRINT*,'   8: 2d spheres at nodes (no shadows) - small'
          PRINT*,' '
          PRINT*,' -box=n       : box type'
          PRINT*,'   0: nothing (default for meshes)'
          PRINT*,'  1X: open box (default for surfaces)'
          PRINT*,'  2X: closed box'
          PRINT*,'   X=0: box alone'
          PRINT*,'   X=1: scales'
          PRINT*,'   X=2: scales + numbers'
          PRINT*,'   X=3: scales + grids'
          PRINT*,'   X=4: scales + numbers + grids'
          PRINT*,'   X=5: box alone'
          PRINT*,'   X=6: numbers'
          PRINT*,'   X=7: grids'
          PRINT*,'   X=8: numbers + grids'
          PRINT*,' '
          PRINT*,' -colseg=n : segments color = n (0<=n<=15)'
          PRINT*,
     &' -cube : exag. such that surface -> cube (surface plots)'
          PRINT*,
     &' -echx0=x0    : x0 inferior bound of the x scale (box)'
          PRINT*,
     &' -echx1=x1    : x1 superior bound of the x scale (box)'
          PRINT*,
     &' -echy0=y0    : y0 inferior bound of the y scale (box)'
          PRINT*,
     &' -echy1=y1    : y1 superior bound of the y scale (box)'
          PRINT*,
     &' -echz0=z0    : z0 inferior bound of the z scale (box)'
          PRINT*,
     &' -echz1=z1    : z1 superior bound of the z scale (box)'
          PRINT*,
     &' -exag=fact   : initial exageration factor for displacements'
     &         //' (meshes)'
          PRINT*,
     &' -exag ou -exag=auto: auto exageration factor for displacements'
     &         //' (meshes)'
          PRINT*,
     &' -exagx=factx : initial exageration factor for X (surf. plots)'
          PRINT*,
     &' -exagy=facty : initial exageration factor for Y (surf. plots)'
          PRINT*,
     &' -exagz=factz : initial exageration factor for Z (surf. plots)'
          PRINT*,
     &' -fich=file   : data file (scalar ou vector) to read.'
C          PRINT*,
C     &' -full        : all faces (3d only).
C          PRINT*,
C     &' -fullshrink  : idem + shrink proportionnal a scalar field.'
          PRINT*,
     &' -fleche[=fact]: displays arrows if a vector field is given.'
          PRINT*,
     &           '     (optionnal value fact = '//
     &           'multiplicative factor on arrows size)'
          PRINT*,
     &' -front=n     : boundaries displayed. Possible values:'
          PRINT*,'   0: nothing special (default)'
          PRINT*,'   1: clamping conditions'
          PRINT*,'   2: referenced boundaries'
          PRINT*,'   3: referenced boundaries + clamping conditions'
          PRINT*,'   4: subdomain boundaries (if several SD)'
          PRINT*,' -[no]hidden  : hidden facets or not.'
          PRINT*,'(defaults: 2d nohidden, 3d hidden)'
          PRINT*,' -iso=c (c=x,y,z) : '//
     &           'isocontour using one of the coordinates'
          PRINT*,
     &' -iso=n       : isocontour type. options:'
          PRINT*,'   0: nothing (default)'
          PRINT*,'   1: filling (contour plot)'
          PRINT*,'   2: filling + lines'
          PRINT*,'   3: filling + lines + values'
          PRINT*,'   4: lines'
          PRINT*,'   5: lines + values'
          PRINT*,'   6: interpolated filling (contour plot)'
          PRINT*,'   7: interpolated filling + lines'
          PRINT*,'   8: interpolated filling + lines + values'
          PRINT*,'   9: interpolated lines'
          PRINT*,'  10: interpolated lines + values'
          PRINT*,'  11: piecewise constant'
          PRINT*,' '
          PRINT*,' -isosurf=val : isosurface = val'
          PRINT*,' -isosurf+=val: isosurface >= val'
          PRINT*,' -isosurf-=val: isosurface <= val'
          PRINT*,' -legpos=n    : legend position (1<=n<=5)'
          PRINT*,' -leg="chaine": legend'
          PRINT*,
     &    ' -noleg       : don''t display the legend red in data files'
          PRINT*,
     &         ' -light=n     : Lightning direction. Possible values:'
          PRINT*,'  -1: Flat lightning (default 2d)'
          PRINT*,'   0->6: different directions (default 3d=0)'
          PRINT*,
     &' -logx : log scale in x direction (.xyz and .c3d only)'
          PRINT*,
     &' -logy : log scale in y direction (.xyz and .c3d only)'
          PRINT*,
     &' -logz : log scale in z direction (.xyz and .c3d only)'
          PRINT*,
     &' -log  : log scales in x,y,z directions (<=> -logx -logy -logz)'
          PRINT*,
     &' -nbcol=n     : number of colors for the table (default 75).'
          PRINT*,
     &' -nbcoul=n    : number of colors for the table (default 75).'
          PRINT*,
     &' -nodepl      : don''t read .depl file'
          PRINT*,
     &' -opt         : read .theta + options ad-hoc (shape opt.)'
          PRINT*,
     &' -optp        : read .thetap + options ad-hoc (shape opt.)'
          PRINT*,
     &' -lev         : read .psi + options ad-hoc (levelset)'
          PRINT*,
     &' -persp=n     : perspective type. Possible values:'
          PRINT*,'   0: isometric (default in 2d)'
          PRINT*,'   1: faraway'
          PRINT*,'   2: medium (default in 3d)'
          PRINT*,'   3: close'
          PRINT*,' '
          PRINT*,
     &' -ps[=file]   : black and white PostScript'
     &           //' (in optionnal file [file])'
          PRINT*,
     &' -pscol[=file]: color PostScript'
     &           //' (in optionnal file [file])'
          PRINT*,
     &' -pscoul[=file]: idem'
          PRINT*,'In the 3 options above, if file=-, PS commands'
          PRINT*,'are displayed on the standart output'
          PRINT*,' '
          PRINT*,
     &' -psdef=opt1,opt2,...,optn : options for PostScript generation'
          PRINT*,'   Known options:'
c          PRINT*,'   sign    : signature at the bottom (default).'
c          PRINT*,'   nosign  : no signature at the bottom.'
          PRINT*,
     &'   info    : right frame saved (default if contour plot).'
          PRINT*,
     &'   noinfo  : middle frame only (default if no contour plot).'
          PRINT*,
     &'   port    : orientation portrait (default if no contour plot).'
          PRINT*,
     &'   land    : orientation landscape (default if contour plot).'
          PRINT*,
     &'   seul    : plot only (incompatible with other options).'
          PRINT*,
     &'For an insertion in LaTeX or TeX, the recommanded options are:'
          PRINT*,
     &'        "-psdef=port" (info or noinfo according to needs)'
cc          PRINT*,
cc     &'        "-psdef=nosign,port" (info or noinfo according to needs)'
          PRINT*,
     &           'or "-psdef=seul"'
          PRINT*,' '
          PRINT*,
     &' -rotx=angle  : initial angular position about Ox.'
          PRINT*,
     &' -roty=angle  : initial angular position about Oy.'
          PRINT*,
     &' -rotz=angle  : initial angular position about Oz.'
          PRINT*,' -sym[=n]     : symmetries (n=1,2,3,4 or more).'
          PRINT*,'                no arg -> maximal symmetry'
          PRINT*,
     &' -table=n     : color table (1<=n<=',NTABMAX
     &         ,')(default 7--> greyscale).'
          PRINT*,
     &' -vmax=value  : upper bound for the color table.'
          PRINT*,
     &' -vmin=value  : lower bound for the color table.'
          PRINT*,' -xcentr=X    : X coordinate of the crop center'
          PRINT*,' -xcentr=Y    : Y coordinate of the crop center'
          PRINT*,' -zoom=facteur: zoom cofficient'
          PRINT*,' '
          PRINT*,'For bug report and suggestions, a single address:'
        ENDIF
        PRINT*,' '
        PRINT*,'         Francois.Jouve@polytechnique.fr'
        PRINT*,' '
        STOP
      ENDIF
      END
