nomvar_sisyphe.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\sisyphe\nomvar_sisyphe.f
00002 !
00082                      SUBROUTINE NOMVAR_SISYPHE
00083 !                    *************************
00084 !
00085      &(TEXTE,TEXTPR,MNEMO,NSICLA,UNIT,MAXVAR,NPRIV,NOMBLAY)
00086 !
00087 !***********************************************************************
00088 ! SISYPHE   V6P2                                   18/06/2012
00089 !***********************************************************************
00090 !
00091 !
00092 !
00093 !
00094 !
00095 !
00096 !
00097 !
00098 !
00099 !
00100 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00101 !| MAXVAR         |-->| MAXIMUM NUMBER OF OUTPUT VARIABLES
00102 !| MNEMO          |<--| SYMBOLS TO SPECIFY THE VARIABLES FOR OUTPUT
00103 !|                |   | IN THE STEERING FILE
00104 !| NOMBLAY        |-->| NUMBER OF LAYERS
00105 !| NPRIV          |-->| NUMBER OF PRIVATE ARRAYS
00106 !| NSICLA         |-->| NUMBER OF SIZE CLASSES FOR BED MATERIALS
00107 !| NSICLM         |-->| NUMBER OF SIZE CLASSES FOR BED MATERIALS
00108 !| TEXTE          |<--| NAMES OF VARIABLES (PRINTOUT)
00109 !| TEXTPR         |<--| NAMES OF VARIABLES (INPUT)
00110 !| UNIT           |-->| LOGICAL, FILE NUMBER
00111 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00112 !
00113       USE DECLARATIONS_SISYPHE, ONLY : NSICLM,NLAYMAX
00114 !
00115       IMPLICIT NONE
00116       INTEGER LNG,LU
00117       COMMON/INFO/LNG,LU
00118 !
00119 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00120 !
00121       INTEGER, INTENT(IN)         :: NSICLA,MAXVAR,NPRIV,NOMBLAY
00122       CHARACTER*8, INTENT(INOUT)  :: MNEMO(MAXVAR)
00123       CHARACTER*32, INTENT(INOUT) :: TEXTE(MAXVAR),TEXTPR(MAXVAR)
00124       LOGICAL, INTENT(IN)         :: UNIT
00125 !
00126 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00127 !
00128       INTEGER I,J,K,ADD
00129 !
00130 !     LOCAL ARRAYS DIMENSIONED WITH FIXED PARAMETERS FROM
00131 !     DECLARATIONS_SISYPHE. IT IS NOT A HIDDEN DYNAMIC ALLOCATION
00132 !
00133       CHARACTER(LEN=32) TEXTE_QS(NSICLM)
00134       CHARACTER(LEN=32) TEXTE_CS(NSICLM),TEXTE_QSC(NSICLM)
00135       CHARACTER(LEN=32) TEXTE_QSS(NSICLM),TEXTE_ES(NLAYMAX)
00136       CHARACTER(LEN=8)  MNEMO_QS(NSICLM)
00137       CHARACTER(LEN=8)  MNEMO_CS(NSICLM),MNEMO_ES(NLAYMAX)
00138       CHARACTER(LEN=8)  MNEMO_QSC(NSICLM),MNEMO_QSS(NSICLM)
00139       CHARACTER(LEN=2)  CLA,LAY
00140 ! V6P2
00141       CHARACTER(LEN=32) TEXTE_CONC(NLAYMAX)
00142       CHARACTER(LEN=8)  MNEMO_CONC(NLAYMAX)
00143 !-----------------------------------------------------------------------
00144 !
00145 !      ADD=27+MAX(4,NPRIV)+NSICLA*(NOMBLAY+4)+NOMBLAY
00146 !
00147       ADD=27+MAX(4,NPRIV)+NSICLA*(NOMBLAY+4)+2*NOMBLAY
00148 !
00149       IF(ADD.GT.MAXVAR) THEN
00150         IF(LNG.EQ.1) THEN
00151           WRITE(LU,*) 'NOMVAR_SISYPHE : MAXVAR DOIT VALOIR AU MOINS ',
00152      &                ADD
00153         ENDIF
00154         IF(LNG.EQ.2) THEN
00155           WRITE(LU,*) 'NOMVAR_SISYPHE: MAXVAR SHOULD BE AT LEAST ',
00156      &                ADD
00157         ENDIF
00158         CALL PLANTE(1)
00159         STOP
00160       ENDIF
00161 !
00162 !-----------------------------------------------------------------------
00163 !
00164 !     2 3RD FRACTION MEANS FRACTION OF SEDIMENT OF CLASS 3 IN 2ND LAYER
00165 !
00166       DO I=1,NSICLA
00167         DO J=1,NOMBLAY
00168           IF(J.LT.10) THEN
00169             WRITE(LAY,'(I1)') J
00170           ELSEIF(J.LT.100) THEN
00171             WRITE(LAY,'(I2)') J
00172           ELSE
00173             WRITE (LU,*) 'NOMVAR_SISYPHE: NOT IMPLEMENTED FOR ',NOMBLAY
00174             WRITE (LU,*) '                LAYERS'
00175             CALL PLANTE(1)
00176             STOP
00177           ENDIF
00178           IF(I.LT.10) THEN
00179             WRITE(CLA,'(I1)') I
00180           ELSEIF(I.LT.100) THEN
00181             WRITE(CLA,'(I2)') I
00182           ELSE
00183             WRITE (LU,*) 'NOMVAR_SISYPHE: NOT IMPLEMENTED FOR ',NSICLA
00184             WRITE (LU,*) '                CLASSES'
00185             CALL PLANTE(1)
00186             STOP
00187           ENDIF
00188 !         AVAIL: ALL LAYERS OF CLASS 1, THEN ALL LAYERS OF CLASS 2, ETC.
00189 !         SAME ORDER AS IN POINT_SISYPHE
00190 !         BEWARE, 21 IS DUE TO OTHER VARIABLES BEFORE, SEE BELOW
00191 ! CV
00192 !          TEXTE(21+(I-1)*NOMBLAY+J)=TRIM('FRACLAY '//LAY//' CL '//CLA)
00193 !          MNEMO(21+(I-1)*NOMBLAY+J)=TRIM(LAY)//'A'//CLA
00194            TEXTE(22+(I-1)*NOMBLAY+J)=TRIM('FRACLAY '//LAY//' CL '//CLA)
00195            MNEMO(22+(I-1)*NOMBLAY+J)=TRIM(LAY)//'A'//CLA
00196         ENDDO
00197       ENDDO
00198 !
00199       DO J=1,NSICLA
00200         IF(J.LT.10) THEN
00201           WRITE(CLA,'(I1)') J
00202         ELSEIF(J.LT.100) THEN
00203           WRITE(CLA,'(I2)') J
00204         ELSE
00205           WRITE (LU,*) 'NOMVAR_SISYPHE: NOT IMPLEMENTED FOR ',NSICLA
00206           WRITE (LU,*) '                CLASSES'
00207           CALL PLANTE(1)
00208           STOP
00209         ENDIF
00210         TEXTE_QS(J)  = TRIM('QS CLASS '//CLA)
00211         TEXTE_QSC(J) = TRIM('QS BEDLOAD CL'//CLA)
00212         TEXTE_QSS(J) = TRIM('QS SUSP. CL'//CLA)
00213         IF(UNIT) THEN
00214           TEXTE_CS(J) = TRIM('CONC MAS CL'//CLA)
00215           TEXTE_CS(J)(17:19) = 'G/L'
00216         ELSE
00217           TEXTE_CS(J) = TRIM('CONC VOL CL'//CLA)
00218         ENDIF
00219         MNEMO_QS(J)  = TRIM('QS'//CLA)
00220         MNEMO_QSC(J) = TRIM('QSBL'//CLA)
00221         MNEMO_QSS(J) = TRIM('QSS'//CLA)
00222         MNEMO_CS(J)  = TRIM('CS'//CLA)
00223       ENDDO
00224 !
00225       DO K=1,NOMBLAY
00226         IF(K.LT.10) THEN
00227           WRITE(LAY,'(I1)') K
00228           MNEMO_ES(K) = TRIM(LAY)//'ES     '
00229         ELSEIF(K.LT.100) THEN
00230           WRITE(LAY,'(I2)') K
00231           MNEMO_ES(K) = TRIM(LAY)//'ES    '
00232         ELSE
00233           WRITE (LU,*) 'NOMVAR_SISYPHE: NOT IMPLEMENTED FOR ',NOMBLAY
00234           WRITE (LU,*) '                LAYERS'
00235           CALL PLANTE(1)
00236           STOP
00237         ENDIF
00238         TEXTE_ES(K)(1:16)  = 'LAYER'//LAY//' THICKNES'
00239         TEXTE_ES(K)(17:32) = 'M               '
00240       ENDDO
00241 !V6P2
00242       DO K=1,NOMBLAY
00243         IF(K.LT.10) THEN
00244           WRITE(LAY,'(I1)') K
00245           MNEMO_CONC(K) = TRIM(LAY)//'CONC     '
00246         ELSEIF(K.LT.100) THEN
00247           WRITE(LAY,'(I2)') K
00248           MNEMO_CONC(K) = TRIM(LAY)//'CONC    '
00249         ELSE
00250           WRITE (LU,*) 'NOMVAR_SISYPHE: NOT IMPLEMENTED FOR ',NOMBLAY
00251           WRITE (LU,*) '                LAYERS'
00252           CALL PLANTE(1)
00253           STOP
00254         ENDIF
00255         TEXTE_CONC(K)(1:12)  = 'LAYER'//LAY//' CONC'
00256         TEXTE_CONC(K)(17:32) = 'KG/L            '
00257       ENDDO
00258 
00259 !
00260 !-----------------------------------------------------------------------
00261 !
00262       IF(LNG.EQ.2) THEN
00263 !
00264 !       ENGLISH VERSION
00265 !
00266         TEXTE(01) = 'VELOCITY U      M/S             '
00267         TEXTE(02) = 'VELOCITY V      M/S             '
00268         TEXTE(03) = 'WATER DEPTH     M               '
00269         TEXTE(04) = 'FREE SURFACE    M               '
00270         TEXTE(05) = 'BOTTOM          M               '
00271         TEXTE(06) = 'FLOWRATE Q      M3/S/M          '
00272         TEXTE(07) = 'FLOWRATE QX     M3/S/M          '
00273         TEXTE(08) = 'FLOWRATE QY     M3/S/M          '
00274         TEXTE(09) = 'RIGID BED       M               '
00275         TEXTE(10) = 'FRICTION COEFT                  '
00276         TEXTE(11) = 'BED SHEAR STRESSN/M2        '
00277         TEXTE(12) = 'WAVE HEIGHT HM0 M               '
00278         TEXTE(13) = 'PEAK PERIOD TPR5S               '
00279         TEXTE(14) = 'MEAN DIRECTION  DEG             '
00280         TEXTE(15) = 'SOLID DISCH     M2/S            '
00281         TEXTE(16) = 'SOLID DISCH X   M2/S            '
00282         TEXTE(17) = 'SOLID DISCH Y   M2/S            '
00283         TEXTE(18) = 'EVOLUTION       M               '
00284         TEXTE(19) = 'RUGOSITE TOTALE M               '
00285         TEXTE(20) = 'FROT. PEAU MU                   '
00286         TEXTE(21) = 'MEAN DIAMETER M                 '
00287 
00288 ! JWI 31/05/2012 - added line to include wave orbital velocities
00289         TEXTE(22)  = 'BOTTOM VELOCITY M/S             '
00290 ! JWI END
00291 !
00292 !       THIS IS DONE ABOVE
00293 !
00294 !       DO J=1,NOMBLAY
00295 !         DO I=1,NSICLA
00296 !           TEXTE(21+(I-1)*NOMBLAY+J) = ...
00297 !           MNEMO(21+(I-1)*NOMBLAY+J) = ...
00298 !         ENDDO
00299 !       ENDDO
00300 ! modif CV
00301 !       DO I=1,NSICLA
00302 !         TEXTE(21+I+NOMBLAY*NSICLA)     = TEXTE_QS(I)
00303 !         MNEMO(21+I+NOMBLAY*NSICLA)     = MNEMO_QS(I)
00304 !         TEXTE(21+I+(NOMBLAY+1)*NSICLA) = TEXTE_CS(I)
00305 !         MNEMO(21+I+(NOMBLAY+1)*NSICLA) = MNEMO_CS(I)
00306 !       ENDDO
00307         DO I=1,NSICLA
00308           TEXTE(22+I+NOMBLAY*NSICLA)     = TEXTE_QS(I)
00309           MNEMO(22+I+NOMBLAY*NSICLA)     = MNEMO_QS(I)
00310           TEXTE(22+I+(NOMBLAY+1)*NSICLA) = TEXTE_CS(I)
00311           MNEMO(22+I+(NOMBLAY+1)*NSICLA) = MNEMO_CS(I)
00312         ENDDO
00313 !
00314         ADD=NSICLA*(NOMBLAY+2)
00315 ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00316         TEXTE(23+ADD)='QS BEDLOAD      M2/S            '
00317         TEXTE(24+ADD)='QS BEDLOAD X    M2/S            '
00318         TEXTE(25+ADD)='QS BEDLOAD Y    M2/S            '
00319         TEXTE(26+ADD)='QS SUSPENSION   M2/S            '
00320         TEXTE(27+ADD)='QS SUSPENSION X M2/S            '
00321         TEXTE(28+ADD)='QS SUSPENSION Y M2/S            '
00322 ! JWI END
00323 !
00324       ELSE
00325 !
00326 !       FRENCH VERSION
00327 !
00328         TEXTE(01)  = 'VITESSE U       M/S             '
00329         TEXTE(02)  = 'VITESSE V       M/S             '
00330         TEXTE(03)  = 'HAUTEUR D''EAU   M              '
00331         TEXTE(04)  = 'SURFACE LIBRE   M               '
00332         TEXTE(05)  = 'FOND            M               '
00333         TEXTE(06)  = 'DEBIT           M3/S/M          '
00334         TEXTE(07)  = 'DEBIT QX        M3/S/M          '
00335         TEXTE(08)  = 'DEBIT QY        M3/S/M          '
00336         TEXTE(09)  = 'FOND RIGIDE     M               '
00337         TEXTE(10)  = 'COEFT FROTTEMENT                '
00338         TEXTE(11)  = 'FROTTEMENT TOB  N/M2            '
00339         TEXTE(12)  = 'HAUTEUR HM0     M               '
00340         TEXTE(13)  = 'PERIODE PIC TPR5S               '
00341         TEXTE(14)  = 'DIRECTION MOY   DEG             '
00342         TEXTE(15)  = 'DEBIT SOLIDE    M2/S            '
00343         TEXTE(16)  = 'DEBIT SOLIDE X  M2/S            '
00344         TEXTE(17)  = 'DEBIT SOLIDE Y  M2/S            '
00345         TEXTE(18)  = 'EVOLUTION       M               '
00346         TEXTE(19)  = 'RUGOSITE TOTALE.M               '
00347         TEXTE(20)  = 'CORR FROTT PEAU MU              '
00348         TEXTE(21)  = 'DIAMETRE MOYEN  M               '
00349 ! JWI 31/05/2012 - added line to include wave orbital velocities
00350         TEXTE(22)  = 'VITESSE FOND    M/S             '
00351 ! JWI END
00352 !
00353 !       THIS IS DONE ABOVE
00354 !
00355 !       DO J=1,NOMBLAY
00356 !         DO I=1,NSICLA
00357 !           TEXTE(21+(I-1)*NOMBLAY+J) = ...
00358 !           MNEMO(21+(I-1)*NOMBLAY+J) = ...
00359 !         ENDDO
00360 !       ENDDO
00361 !
00362         DO I=1,NSICLA
00363 ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00364           TEXTE(22+I+NOMBLAY*NSICLA)     = TEXTE_QS(I)
00365           MNEMO(22+I+NOMBLAY*NSICLA)     = MNEMO_QS(I)
00366           TEXTE(22+I+(NOMBLAY+1)*NSICLA) = TEXTE_CS(I)
00367           MNEMO(22+I+(NOMBLAY+1)*NSICLA) = MNEMO_CS(I)
00368 ! JWI END
00369         ENDDO
00370 !
00371         ADD=NSICLA*(NOMBLAY+2)
00372 ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00373         TEXTE(23+ADD)='QS CHARRIAGE    M2/S            '
00374         TEXTE(24+ADD)='QS CHARRIAGE X  M2/S            '
00375         TEXTE(25+ADD)='QS CHARRIAGE Y  M2/S            '
00376         TEXTE(26+ADD)='QS SUSPENSION   M2/S            '
00377         TEXTE(27+ADD)='QS SUSPENSION X M2/S            '
00378         TEXTE(28+ADD)='QS SUSPENSION Y M2/S            '
00379 ! JWI END
00380 !
00381       ENDIF
00382 !
00383 ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00384       DO I=1,NSICLA
00385         TEXTE(28+I+NSICLA*(NOMBLAY+2)) = TEXTE_QSC(I)
00386         MNEMO(28+I+NSICLA*(NOMBLAY+2)) = MNEMO_QSC(I)
00387         TEXTE(28+I+NSICLA*(NOMBLAY+3)) = TEXTE_QSS(I)
00388         MNEMO(28+I+NSICLA*(NOMBLAY+3)) = MNEMO_QSS(I)
00389 ! JWI END
00390       ENDDO
00391 !
00392       DO I=1,NOMBLAY
00393 ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00394         TEXTE(28+I+NSICLA*(NOMBLAY+4)) = TEXTE_ES(I)
00395         MNEMO(28+I+NSICLA*(NOMBLAY+4)) = MNEMO_ES(I)
00396 ! JWI END
00397       ENDDO
00398 ! V6P2
00399 !     DO I=1,NOMBLAY
00400 !       TEXTE(27+I+NSICLA*(NOMBLAY+4)+NOMBLAY) = TEXTE_CONC(I)
00401 !       MNEMO(27+I+NSICLA*(NOMBLAY+4)+NOMBLAY) = MNEMO_CONC(I)
00402 !     ENDDO
00403       DO I=1,NOMBLAY
00404         TEXTE(28+I+NSICLA*(NOMBLAY+4)+NOMBLAY) = TEXTE_CONC(I)
00405         MNEMO(28+I+NSICLA*(NOMBLAY+4)+NOMBLAY) = MNEMO_CONC(I)
00406       ENDDO
00407 !
00408 !     ADD=NSICLA*(NOMBLAY+4)+NOMBLAY
00409       ADD=NSICLA*(NOMBLAY+4)+2*NOMBLAY
00410 ! ... V6P2
00411 !
00412 ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00413       TEXTE(29+ADD)='PRIVE 1                         '
00414       TEXTE(30+ADD)='PRIVE 2                         '
00415       TEXTE(31+ADD)='PRIVE 3                         '
00416       TEXTE(32+ADD)='PRIVE 4                         '
00417 ! JWI END
00418 !     NPRIV MAY BE GREATER THAN 4
00419 !     TEXTE(31+ADD)='PRIVE 5                         '
00420 !
00421 ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00422       DO I=1,32+NSICLA*(NOMBLAY+4)+2*NOMBLAY
00423         TEXTPR(I)=TEXTE(I)
00424       ENDDO
00425 ! JWI END
00426 !
00427 !-----------------------------------------------------------------------
00428 !
00429 !     OTHER NAMES FOR OUTPUT VARIABLES (STEERING FILE)
00430 !
00431 !     VELOCITY U
00432       MNEMO(1)   = 'U       '
00433 !     VELOCITY V
00434       MNEMO(2)   = 'V       '
00435 !     WATER DEPTH
00436       MNEMO(3)   = 'H       '
00437 !     FREE SURFACE
00438       MNEMO(4)   = 'S       '
00439 !     BOTTOM
00440       MNEMO(5)   = 'B       '
00441 !     SCALAR FLOW RATE
00442       MNEMO(6)   = 'Q       '
00443 !     SCALAR FLOW RATE X
00444       MNEMO(7)   = 'I       '
00445 !     SCALAR FLOW RATE Y
00446       MNEMO(8)   = 'J       '
00447 !     RIGID BED
00448       MNEMO(9)   = 'R       '
00449 !     FRICTION COEFFICIENT
00450       MNEMO(10)   = 'CHESTR  '
00451 !     MEAN BOTTOM FRICTION
00452       MNEMO(11)   = 'TOB     '
00453 !     WAVE HEIGHT
00454       MNEMO(12)   = 'W       '
00455 !     PEAK PERIOD
00456       MNEMO(13)   = 'X       '
00457 !     WAVE DIRECTION
00458       MNEMO(14)   = 'THETAW  '
00459 !     SOLID DISCHARGE
00460       MNEMO(15)   = 'M       '
00461 !     SOLID DISCHARGE X
00462       MNEMO(16)   = 'N       '
00463 !     SOLID DISCHARGE Y
00464       MNEMO(17)   = 'P       '
00465 !     EVOLUTION
00466       MNEMO(18)   = 'E       '
00467 !     KS
00468       MNEMO(19)   = 'KS      '
00469 !     MU
00470       MNEMO(20)   = 'MU      '
00471 !     D50
00472       MNEMO(21)   = 'D50     '
00473 !
00474 ! JWI 31/05/2012 - added line to include wave orbital velocities
00475       MNEMO(22)   = 'UWB     '
00476 ! JWI END
00477 ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00478       MNEMO(23+NSICLA*(NOMBLAY+2)) = 'QSBL    '
00479       MNEMO(24+NSICLA*(NOMBLAY+2)) = 'QSBLX   '
00480       MNEMO(25+NSICLA*(NOMBLAY+2)) = 'QSBLY   '
00481       MNEMO(26+NSICLA*(NOMBLAY+2)) = 'QSSUSP  '
00482       MNEMO(27+NSICLA*(NOMBLAY+2)) = 'QSSUSPX '
00483       MNEMO(28+NSICLA*(NOMBLAY+2)) = 'QSSUSPY '
00484 ! JWI END
00485 !CV
00486 !V6P2      ADD=NSICLA*(NOMBLAY+4)+NOMBLAY
00487       ADD=NSICLA*(NOMBLAY+4)+2*NOMBLAY
00488 ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00489       MNEMO(29+ADD) = 'A       '
00490       MNEMO(30+ADD) = 'G       '
00491       MNEMO(31+ADD) = 'L       '
00492       MNEMO(32+ADD) = 'O       '
00493 ! JWI END
00494 !     THE NUMBER OF PRIVATE ARRAYS IS A KEYWORD
00495 !     MNEMO(31+ADD) = '????????'
00496 !
00497 !----------------------------
00498 !CV V6P2
00499 !      ADD=NSICLA*(NOMBLAY+4)+NOMBLAY+27+MAX(NPRIV,4)
00500 ! JWI 31/05/2012 - added 1 to include wave orbital velocities
00501       ADD=NSICLA*(NOMBLAY+4)+2*NOMBLAY+28+MAX(NPRIV,4)
00502 ! JWI END
00503       IF(ADD.LT.MAXVAR) THEN
00504         DO I=ADD+1,MAXVAR
00505           MNEMO(I) =' '
00506           TEXTE(I) =' '
00507           TEXTPR(I)=' '
00508         ENDDO
00509       ENDIF
00510 !
00511 !-----------------------------------------------------------------------
00512 !
00513       RETURN
00514       END

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