cmd.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\damocles\cmd.f
00002 !
00071                      SUBROUTINE CMD
00072 !                    **************
00073 !
00074      &(ICOL   , LIGNE  , ADRESS , DIMENS , TROUVE , MOTCLE , NMOT ,
00075      & MOTINT , MOTREA , MOTLOG , MOTCAR , MOTATT , INDIC  , SIZE ,
00076      & UTINDX , DYNAM  , VUCMD  , EXECMD , NFICDA , NMAXR  )
00077 !
00078 !***********************************************************************
00079 ! DAMOCLES   V6P0                                   21/08/2010
00080 !***********************************************************************
00081 !
00082 !
00083 !
00084 !
00085 !
00086 !
00087 !
00088 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00089 !| ADRESS         |-->| TABLEAU DES ADRESSES DES MOTS CLES
00090 !| DIMENS         |-->| TABLEAU DES DIMENSIONS DES MOTS CLES
00091 !| DYNAM          |<->| LOGIQUE POUR LE MODE DYNAMIQUE
00092 !| EXECMD         |-->| LOGIQUE D'ACTIVATION DES COMMANDES MEMORISEES
00093 !| ICOL           |<->| POSITION COURANTE DU POINTEUR DANS LA LIGNE
00094 !| INDIC          |-->| TABLEAU D'INDICATEURS D'ETAT DES MOTS CLES
00095 !|                |   | = 0 : PAS DE SUBMIT & NON TABLEAU
00096 !|                |   | = 1 : PAS DE SUBMIT & TABLEAU
00097 !|                |   | = 2 : AVEC   SUBMIT & NON TABLEAU
00098 !|                |   | = 3 : AVEC   SUBMIT & NON TABLEAU
00099 !| LIGNE          |-->| LIGNE EN COURS DE DECODAGE.
00100 !| MOTATT         |-->| TABLEAU DES SUBMITS
00101 !| MOTCAR         |-->| TABLEAU DES VALEURS CARACTERES
00102 !| MOTCLE         |-->| TABLEAU DES MOTS CLES ACTIFS
00103 !| MOTINT         |-->| TABLEAU DES VALEURS ENTIERES
00104 !| MOTLOG         |-->| TABLEAU DES VALEURS LOGIQUES
00105 !| MOTREA         |-->| TABLEAU DES VALEURS REELLES
00106 !| NFICDA         |-->| NUMERO DE CANAL DU FICHIER DES DONNEES
00107 !| NMAXR          |-->| TABLEAU DES INDEX MAXIMUM REELS PAR TYPES
00108 !| NMOT           |-->| TABLEAU DU NOMBRE DE MOTS CLES PAR TYPE
00109 !| SIZE           |-->| TABLEAU DES LONGUEURS DES MOTS CLES
00110 !| TROUVE         |-->| INDICATEUR D'ETAT DES MOTS CLES
00111 !|                |   | = 0 : AUCUNE VALEUR TROUVEE
00112 !|                |   | = 1 : VALEUR PAR DEFAUT TROUVEE
00113 !|                |   | = 2 : VALEUR TROUVEE (FICHIER DE DONNEES)
00114 !|                |   | = 3 : AUCUNE VALEUR TROUVEE (OPTIONNELLE)
00115 !|                |   | = 5 : TABLEAU DE MOTS A SUBMIT COMPACTE
00116 !|                |   | = 6 : MOT CLE A SUBMIT FORCE NON AFFECTE
00117 !|                |   | = 7 : MOT CLE A SUBMIT FORCE AFFECTE (DICO)
00118 !|                |   | = 8 : MOT CLE A SUBMIT FORCE AFFECTE (CAS)
00119 !|                |   | = 9 : FICHIER DICO : SUBMIT + VALEUR LANCEUR
00120 !|                |   | =10 : FICHIER CAS  : SUBMIT + VALEUR LANCEUR
00121 !| UTINDX         |-->| TABLEAU DE LOGIQUES D'UTILISATION DES INDEX
00122 !| VUCMD          |<->| TABLEAU DE LOGIQUES (MEMORISATION DES CMDES)
00123 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00124 !
00125       IMPLICIT NONE
00126 !
00127 !
00128       INTEGER          ICOL,ADRESS(4,*),DIMENS(4,*),NMOT(4),TROUVE(4,*)
00129       INTEGER          SIZE(4,*),INDIC(4,*),MOTINT(*),NFICDA,NMAXR(4)
00130       LOGICAL          MOTLOG(*),DYNAM,UTINDX(4,*),VUCMD(5),EXECMD
00131       CHARACTER*(*)    MOTCLE(4,*),LIGNE
00132       CHARACTER*144    MOTATT(4,*),MOTCAR(*)
00133       DOUBLE PRECISION MOTREA(*)
00134 !
00135       INTEGER  PREVAL,LONGLU
00136       EXTERNAL PREVAL,LONGLU
00137 !
00138       INTEGER          LNG,LU
00139       INTEGER          NLIGN,LONGLI
00140       INTEGER          NFIC
00141       LOGICAL          ERREUR , RETOUR
00142 !
00143 !-----------------------------------------------------------------------
00144 !
00145       INTEGER          I1,IAD,L1,L2,TRANS,ISIZE,K,I,N
00146       CHARACTER(LEN=72)  :: FMT0, FMT1, FMT2, FMT3, FMT4, FMT5, FMT6,
00147      &     FMT7, FMT8, FMT9, FMT10, FMT11, FMT12, FMT13, FMT14, FMT15,
00148      &     FMT16, FMT17, FMT18, FMT19, FMT20, FMT21, FMT22, FMT23,
00149      &     FMT24, FMT25, FMT26, FMT27, FMT28, FMT29, FMT30, FMT31,
00150      &     FMT32, FMT33, FMT34, FMT35
00151       CHARACTER*6      TYP(4)
00152       CHARACTER*1      TABUL
00153 !
00154 !-----------------------------------------------------------------------
00155 !
00156       COMMON / DCINFO / LNG,LU
00157       COMMON / DCCHIE / NFIC
00158       COMMON / DCMLIG / NLIGN , LONGLI
00159       COMMON / DCRARE / ERREUR , RETOUR
00160 !
00161       INTRINSIC CHAR
00162 !
00163 !-----------------------------------------------------------------------
00164 !
00165       DATA TYP/'MOTINT','MOTREA','MOTLOG','MOTCAR'/
00166 !
00167 !***********************************************************************
00168 !                                    RCS AND SCCS MARKING
00169 !
00170 !***********************************************************************
00171 !
00172       TABUL = CHAR(9)
00173       I1 = ICOL + 1
00174 !     ADDED BY JMH 15/01/2008: CASE WHERE LIGNE='NUL'
00175       IF(I1+2.GT.LONGLI) I1=1
00176 !
00177 ! *********************** COMMAND &FIN **************************
00178 !
00179       IF(LIGNE(I1:I1+2).EQ.'FIN'.OR.(EXECMD.AND.VUCMD(5))) THEN
00180         IF (.NOT.(EXECMD)) THEN
00181           VUCMD(5) = .TRUE.
00182           RETOUR = .TRUE.
00183           GO TO 1000
00184         ENDIF
00185         IF(LNG.EQ.1) THEN
00186           WRITE (LU,10)
00187  10       FORMAT(1X,/,1X,'FIN DU FICHIER POUR DAMOCLES',/)
00188         ELSEIF(LNG.EQ.2) THEN
00189           WRITE (LU,12)
00190  12       FORMAT(1X,/,1X,'END OF FILE FOR DAMOCLES',/)
00191         ENDIF
00192 !
00193 ! *********************** COMMAND &ETA **************************
00194 !
00195       ELSE IF (LIGNE(I1:I1+2).EQ.'ETA'.OR.(EXECMD.AND.VUCMD(2))) THEN
00196         IF (.NOT.(EXECMD)) THEN
00197           VUCMD(2) = .TRUE.
00198           GO TO 1000
00199         ENDIF
00200         IF(LNG.EQ.1) THEN
00201           WRITE (LU,11)
00202  11       FORMAT(1X,/,1X,'VALEUR DES MOTS-CLES :',/)
00203         ELSEIF(LNG.EQ.2) THEN
00204           WRITE (LU,13)
00205  13       FORMAT(1X,/,1X,'VALUES OF THE KEY-WORDS:',/)
00206         ENDIF
00207 !
00208         FMT1 ="(1X,A,/,1X,'MOTINT(',1I3,')=',A,I9   ,/)"
00209         FMT2 ="(1X,A,/,1X,'MOTREA(',1I3,')=',A,G16.7,/)"
00210         FMT3 ="(1X,A,/,1X,'MOTLOG(',1I3,')=',A,L1   ,/)"
00211         FMT4 ="(1X,A,/,1X,'MOTCAR(',1I3,')=',A,A    ,/)"
00212         FMT5 ="(1X,A,/,1X,'MOTINT(',1I3,') = ',A,' ; ',I9   ,/)"
00213         FMT6 ="(1X,A,/,1X,'MOTREA(',1I3,') = ',A,' ; ',G16.7,/)"
00214         FMT7 ="(1X,A,/,1X,'MOTLOG(',1I3,') = ',A,' ; ',L1   ,/)"
00215         FMT8 ="(1X,A,/,1X,'MOTCAR(',1I3,') = ',A,' ; ',A    ,/)"
00216 !
00217         DO N =1,4
00218           DO I = 1 , NMAXR(N)
00219             IF(UTINDX(N,I)) THEN
00220               ISIZE = SIZE(N,I)
00221               IF(TROUVE(N,I).GE.1) THEN
00222                 DO K=1,DIMENS(N,I)
00223                   IAD = ADRESS(N,I) + K - 1
00224                   IF (INDIC(N,I).LT.2) THEN
00225                     TRANS=0
00226                     MOTATT(N,IAD)=' '
00227                     L1=1
00228                   ELSE
00229                     TRANS=4
00230                     L1=LONGLU(MOTATT(N,IAD))
00231                   ENDIF
00232 !                 IF (TROUVE(N,I).NE.3) THEN
00233                   ! Array as format not accepted in fortran 95
00234                   SELECT CASE (N+TRANS)
00235                   CASE(1)
00236                     FMT0 = FMT1
00237                   CASE(2)
00238                     FMT0 = FMT2
00239                   CASE(3)
00240                     FMT0 = FMT3
00241                   CASE(4)
00242                     FMT0 = FMT4
00243                   CASE(5)
00244                     FMT0 = FMT5
00245                   CASE(6)
00246                     FMT0 = FMT6
00247                   CASE(7)
00248                     FMT0 = FMT7
00249                   CASE(8)
00250                     FMT0 = FMT8
00251                   END SELECT
00252                   IF(N.EQ.1) THEN
00253                     WRITE(LU,FMT0)
00254      &              MOTCLE(N,I)(1:ISIZE),IAD,MOTATT(N,IAD)(1:L1),
00255      &              MOTINT(IAD)
00256                   ELSE IF (N.EQ.2) THEN
00257                     WRITE(LU,FMT0)
00258      &              MOTCLE(N,I)(1:ISIZE),IAD,MOTATT(N,IAD)(1:L1),
00259      &              MOTREA(IAD)
00260                   ELSE IF (N.EQ.3) THEN
00261                     WRITE(LU,FMT0)
00262      &              MOTCLE(N,I)(1:ISIZE),IAD,MOTATT(N,IAD)(1:L1),
00263      &              MOTLOG(IAD)
00264                   ELSE IF (N.EQ.4) THEN
00265                     L2 = LONGLU(MOTCAR(IAD))
00266                     WRITE(LU,FMT0)
00267      &              MOTCLE(N,I)(1:ISIZE),IAD,MOTATT(N,IAD)(1:L1),
00268      &              MOTCAR(IAD)(1:L2)
00269                   ENDIF
00270 !                 ENDIF
00271                 ENDDO ! K
00272               ELSE
00273                 IF(LNG.EQ.1) THEN
00274                   WRITE(LU,212) MOTCLE(N,I)(1:ISIZE)
00275 212               FORMAT(1X,A,/,1X,'VALEUR NON TROUVEE',/,1X)
00276                 ELSEIF(LNG.EQ.2) THEN
00277                   WRITE(LU,213) MOTCLE(N,I)(1:ISIZE)
00278 213               FORMAT(1X,A,/,1X,'VALUE NOT FOUND',/,1X)
00279                 ENDIF
00280               ENDIF
00281 !
00282             ENDIF
00283           ENDDO ! I
00284         ENDDO ! N
00285 !
00286 ! *********************** COMMAND &IND **************************
00287 !
00288       ELSE IF (LIGNE(I1:I1+2).EQ.'IND'.OR.(EXECMD.AND.VUCMD(3))) THEN
00289         IF (.NOT.(EXECMD)) THEN
00290           VUCMD(3) = .TRUE.
00291           GOTO 1000
00292         ENDIF
00293 !
00294 ! DEFINITION OF THE FORMATS USED
00295 !
00296         FMT1 ="(1X,'MOTINT(',1I3,') =',A,I9   )"
00297         FMT2 ="(1X,'MOTREA(',1I3,') =',A,G16.7)"
00298         FMT3 ="(1X,'MOTLOG(',1I3,') =',A,L1   )"
00299         FMT4 ="(1X,'MOTCAR(',1I3,') =',A,A    )"
00300         FMT5 ="(1X,'MOTINT(',1I3,') = ',A,' ; ',I9   )"
00301         FMT6 ="(1X,'MOTREA(',1I3,') = ',A,' ; ',G16.7)"
00302         FMT7 ="(1X,'MOTLOG(',1I3,') = ',A,' ; ',L1   )"
00303         FMT8 ="(1X,'MOTCAR(',1I3,') = ',A,' ; ',A    )"
00304         FMT9 ="(1X,'!!! TABLEAU COMPACTE !!!')"
00305         FMT10="(1X,'!!! COMPACTED ARRAY !!!')"
00306         FMT11="(1X,'ATTENTION ! TAILLE EN SORTIE = 0')"
00307         FMT12="(1X,'WARNING ! OUTPUT SIZE = 0')"
00308         FMT13="(1X,'TAILLE = ',I4)"
00309         FMT14="(1X,'SIZE  = ',I4)"
00310         FMT15="(1X,'VALEUR OPTIONNELLE NON TROUVEE')"
00311         FMT16="(1X,'OPTIONAL VALUE NOT FOUND')"
00312         FMT17="(1X,'VALEUR FORCEE NON TROUVEE')"
00313         FMT18="(1X,'FORCED VALUE NOT FOUND')"
00314         FMT19="(1X,'INDEX  = ',I4)"
00315         FMT20="(1X,'INDEX = ',I4)"
00316         FMT21="(1X,'VALEUR NON TROUVEE')"
00317         FMT22="(1X,'VALUE NOT FOUND')"
00318         FMT23="(/,1X,'VALEUR DES MOTS-CLES :',/)"
00319         FMT24="(/,1X,'VALUES OF THE KEY-WORDS :',/)"
00320         FMT25="(1X,'NOMBRE DE MOTS ENTIERS     = ',I4,)"//
00321      &        "10X,'(DERNIER INDEX :',I4,')')"
00322         FMT26="(1X,'NUMBER OF INTEGER   KEY WORDS = ',I4,"//
00323      &        "10X,'(LAST INDEX :',I4,')')"
00324         FMT27="(1X,'NOMBRE DE MOTS REELS       = ',I4,"//
00325      &        "10X,'(DERNIER INDEX :',I4,')')"
00326         FMT28="(1X,'NUMBER OF REAL      KEY WORDS = ',I4,"//
00327      &        "10X,'(LAST INDEX :',I4,')')"
00328         FMT29="(1X,'NOMBRE DE MOTS LOGIQUES    = ',I4,"//
00329      &        "10X,'(DERNIER INDEX :',I4,')')"
00330         FMT30="(1X,'NUMBER OF LOGICAL   KEY WORDS = ',I4,"//
00331      &        "10X,'(LAST INDEX :',I4,')')"
00332         FMT31="(1X,'NOMBRE DE MOTS CARACTERES  = ',I4,"//
00333      &        "10X,'(DERNIER INDEX :',I4,')')"
00334         FMT32="(1X,'NUMBER OF CHARACTER KEY WORDS = ',I4,"//
00335      &        "10X,'(LAST INDEX :',I4,')')"
00336         FMT33="(1X,'NOMBRE TOTAL DE MOTS CLES  = ',I4)"
00337         FMT34="(1X,'TOTAL NUMBER OF KEY WORDS     = ',I4)"
00338         FMT35="(/,1X,70('-'),/,1X,A,/,1X,70('-'))"
00339 !
00340 ! TITLE
00341         IF(LNG.EQ.1) THEN
00342           WRITE(LU,FMT23)
00343 !
00344           WRITE(LU,*)' '
00345           WRITE(LU,*)'====================================='
00346           WRITE(LU,FMT25) NMOT(1),NMAXR(1)
00347           WRITE(LU,FMT27) NMOT(2),NMAXR(2)
00348           WRITE(LU,FMT29) NMOT(3),NMAXR(3)
00349           WRITE(LU,FMT25) NMOT(4),NMAXR(4)
00350           WRITE(LU,*)'-------------------------------------'
00351           WRITE(LU,FMT33) NMOT(1)+NMOT(2)+NMOT(3)+NMOT(4)
00352           WRITE(LU,*)'====================================='
00353           WRITE(LU,*)' '
00354         ELSE
00355           WRITE(LU,FMT24)
00356 !
00357           WRITE(LU,*)' '
00358           WRITE(LU,*)'====================================='
00359           WRITE(LU,FMT26) NMOT(1),NMAXR(1)
00360           WRITE(LU,FMT28) NMOT(2),NMAXR(2)
00361           WRITE(LU,FMT30) NMOT(3),NMAXR(3)
00362           WRITE(LU,FMT26) NMOT(4),NMAXR(4)
00363           WRITE(LU,*)'-------------------------------------'
00364           WRITE(LU,FMT34) NMOT(1)+NMOT(2)+NMOT(3)+NMOT(4)
00365           WRITE(LU,*)'====================================='
00366           WRITE(LU,*)' '
00367 
00368         ENDIF
00369 !
00370         DO N =1,4
00371           DO I = 1 , NMAXR(N)
00372             IF(UTINDX(N,I)) THEN
00373               IF(TROUVE(N,I).GE.1.OR.DIMENS(N,I).GT.1) THEN
00374                 WRITE(LU,FMT35) MOTCLE(N,I)(1:SIZE(N,I))
00375 ! COMPACTED ?
00376                 IF (TROUVE(N,I).EQ.5) THEN
00377                   IF(LNG.EQ.1) WRITE(LU,FMT9)
00378                   IF(LNG.EQ.2) WRITE(LU,FMT10)
00379                 ENDIF
00380 ! INDEX
00381                 IF(LNG.EQ.1) WRITE(LU,FMT19) I
00382                 IF(LNG.EQ.2) WRITE(LU,FMT20) I
00383 ! SIZE
00384                 IF(LNG.EQ.1) WRITE(LU,FMT13) DIMENS(N,I)
00385                 IF(LNG.EQ.2) WRITE(LU,FMT14) DIMENS(N,I)
00386                 IF (DIMENS(N,I).GT.1.AND.
00387      &              TROUVE(N,I).EQ.0.AND.DYNAM) THEN
00388                   IF(LNG.EQ.1) WRITE(LU,FMT11)
00389                   IF(LNG.EQ.2) WRITE(LU,FMT12)
00390                 ENDIF
00391 !
00392 ! TROUVE ?
00393                 IF (TROUVE(N,I).EQ.3) THEN
00394                   IF(LNG.EQ.1) WRITE(LU,FMT15)
00395                   IF(LNG.EQ.2) WRITE(LU,FMT16)
00396                 ENDIF
00397                 IF (TROUVE(N,I).EQ.6) THEN
00398                   IF(LNG.EQ.1) WRITE(LU,FMT17)
00399                   IF(LNG.EQ.2) WRITE(LU,FMT18)
00400                 ENDIF
00401 !
00402 ! LINEFEED FOR PRESENTATION PURPOSES
00403                 IF (DIMENS(N,I).GT.1) WRITE(LU,*) ' '
00404 !
00405                 DO K=1,DIMENS(N,I)
00406                   IAD = ADRESS(N,I) + K - 1
00407                   IF (INDIC(N,I).GE.2) THEN
00408                     TRANS = 4
00409                     L1=LONGLU(MOTATT(N,IAD))
00410                   ELSE
00411                     TRANS = 0
00412                     MOTATT(N,IAD)=' '
00413                     L1 =1
00414                   ENDIF
00415 !
00416 !                 IF (TROUVE(N,I).NE.3) THEN
00417                   SELECT CASE (N+TRANS)
00418                   CASE(1)
00419                     FMT0 = FMT1
00420                   CASE(2)
00421                     FMT0 = FMT2
00422                   CASE(3)
00423                     FMT0 = FMT3
00424                   CASE(4)
00425                     FMT0 = FMT4
00426                   CASE(5)
00427                     FMT0 = FMT5
00428                   CASE(6)
00429                     FMT0 = FMT6
00430                   CASE(7)
00431                     FMT0 = FMT7
00432                   CASE(8)
00433                     FMT0 = FMT8
00434                   END SELECT
00435                   IF(N.EQ.1) THEN
00436                     WRITE(LU,FMT0)
00437      &                    IAD,MOTATT(N,IAD)(1:L1),MOTINT(IAD)
00438                   ELSE IF (N.EQ.2) THEN
00439                     WRITE(LU,FMT0)
00440      &                    IAD,MOTATT(N,IAD)(1:L1),MOTREA(IAD)
00441                   ELSE IF (N.EQ.3) THEN
00442                     WRITE(LU,FMT0)
00443      &                    IAD,MOTATT(N,IAD)(1:L1),MOTLOG(IAD)
00444                   ELSE IF (N.EQ.4) THEN
00445                     L2 = LONGLU(MOTCAR(IAD))
00446                     WRITE(LU,FMT0)
00447      &                    IAD,MOTATT(N,IAD)(1:L1),MOTCAR(IAD)(1:L2)
00448                   ENDIF
00449 !                 ENDIF
00450                 ENDDO ! K
00451               ELSE
00452                 WRITE(LU,FMT35) MOTCLE(N,I)(1:SIZE(N,I))
00453                 IF(LNG.EQ.1) THEN
00454                   WRITE(LU,FMT21)
00455                   WRITE(LU,FMT19) I
00456                   WRITE(LU,FMT13) DIMENS(N,I)
00457                 ELSE
00458                   WRITE(LU,FMT22)
00459                   WRITE(LU,FMT20) I
00460                   WRITE(LU,FMT14) DIMENS(N,I)
00461                 ENDIF
00462                 WRITE(LU,*)' '
00463               ENDIF
00464 !
00465             ENDIF
00466           ENDDO ! I
00467         ENDDO ! N
00468 !
00469 ! *********************** COMMAND &LIS **************************
00470 !
00471       ELSE IF (LIGNE(I1:I1+2).EQ.'LIS'.OR.(EXECMD.AND.VUCMD(1))) THEN
00472         IF (.NOT.(EXECMD)) THEN
00473           VUCMD(1) = .TRUE.
00474           GO TO 1000
00475         ENDIF
00476 ! FORMATS
00477         FMT1 = "(/,1X,'LISTE DES MOTS-CLES :',/)"
00478         FMT2 = "(/,1X,'KEY-WORDS LIST :',/)"
00479         FMT3 = "(1X,'DIMENSION : ',I3,5X,'ADRESSE DANS ',A,"//
00480      &              "1X,':',1X,I3)"
00481         FMT4 = "(1X,'SIZE : ',I3,5X,'ADRESS IN ',A,"//
00482      &              "1X,':',1X,I3)"
00483         FMT5 = "(1X,/,1X,A)"
00484 ! TITLE
00485         IF(LNG.EQ.1) WRITE (LU,FMT1)
00486         IF(LNG.EQ.2) WRITE (LU,FMT2)
00487 !
00488         DO N = 1 , 4
00489           DO I = 1 , NMAXR(N)
00490 !
00491             IF(UTINDX(N,I)) THEN
00492               IAD = ADRESS(N,I)
00493               WRITE (LU,FMT5) MOTCLE(N,I)(1:SIZE(N,I))
00494               IF (DIMENS(N,I).GT.1.AND.TROUVE(N,I).EQ.0.AND.DYNAM) THEN
00495                 IF(LNG.EQ.1) WRITE (LU,FMT3) 0,TYP(N),IAD
00496                 IF(LNG.EQ.2) WRITE (LU,FMT4) 0,TYP(N),IAD
00497               ELSE
00498                 IF(LNG.EQ.1) WRITE (LU,FMT3) DIMENS(N,I),TYP(N),IAD
00499                 IF(LNG.EQ.2) WRITE (LU,FMT4) DIMENS(N,I),TYP(N),IAD
00500               ENDIF
00501             ENDIF
00502           ENDDO ! I
00503         ENDDO ! N
00504 !
00505 ! *********************** COMMAND &DOC **************************
00506 !
00507       ELSE IF ( LIGNE(I1:I1+2).EQ.'DOC' ) THEN
00508 !
00509         IF(LNG.EQ.1) THEN
00510           WRITE(LU,*) 'COMMANDE &DOC SUPPRIMEE DANS CETTE VERSION'
00511         ELSEIF(LNG.EQ.2) THEN
00512           WRITE(LU,*) 'COMMAND &DOC HAS BEEN SUPPRESSED IN THIS RELEASE'
00513         ENDIF
00514 !
00515 ! *********************** COMMAND &STO **************************
00516 !
00517       ELSE IF (LIGNE(I1:I1+2).EQ.'STO'.OR.(EXECMD.AND.VUCMD(4))) THEN
00518         IF (.NOT.(EXECMD)) THEN
00519           VUCMD(4) = .TRUE.
00520           RETOUR=.TRUE.
00521           GO TO 1000
00522         ENDIF
00523         IF(LNG.EQ.1) THEN
00524           WRITE (LU,1113)
00525 1113      FORMAT(1X,/,1X,'ARRET DE DAMOCLES PAR LA COMMANDE &STO')
00526         ELSEIF(LNG.EQ.2) THEN
00527           WRITE (LU,1114)
00528 1114      FORMAT(1X,/,1X,'DAMOCLES STOPPED BY COMMAND &STO')
00529         ENDIF
00530         CALL PLANTE(1)
00531         STOP
00532 !
00533 ! *********************** COMMAND &DYN **************************
00534 !
00535       ELSEIF ( LIGNE(I1:I1+2).EQ.'DYN' ) THEN
00536         IF (NFIC.EQ.NFICDA) THEN
00537           IF (LNG.EQ.1) THEN
00538             WRITE(LU,*)'COMMANDE &DYN DU FICHIER CAS IGNOREE !!'
00539           ELSEIF(LNG.EQ.2) THEN
00540             WRITE(LU,*)'WARNING : INSTRUCTION &DYN FROM STEERING ',
00541      &                 'FILE HAS BEEN IGNORED !!'
00542           ENDIF
00543         ELSE
00544           DYNAM=.TRUE.
00545         ENDIF
00546       ELSE
00547         IF(LNG.EQ.1) THEN
00548           WRITE(LU,'(1X,A)') LIGNE(1:LONGLI)
00549           WRITE(LU,'(1X,A6,I4,A)') 'LIGNE: ',NLIGN,' COMMANDE INCONNUE'
00550         ELSEIF(LNG.EQ.2) THEN
00551           WRITE(LU,'(1X,A)') LIGNE(1:LONGLI)
00552           WRITE(LU,'(1X,A6,I4,A)') 'LINE: ',NLIGN,' UNKNOWN COMMAND'
00553         ENDIF
00554       ENDIF
00555 !
00556 !     //// SEEKS THE FIRST WHITE CHARACTER FOLLOWING & ////
00557 !
00558  1000 CONTINUE
00559       ICOL = PREVAL (I1+1,LIGNE,' ',TABUL,' ')
00560 !
00561 !-----------------------------------------------------------------------
00562 !
00563       RETURN
00564       END

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0