declarations_telemac2d.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac2d\declarations_telemac2d.f
00002 !
00079                      MODULE DECLARATIONS_TELEMAC2D
00080 !                    *****************************
00081 !
00082 !
00083 !***********************************************************************
00084 ! TELEMAC2D   V7P0                                   21/08/2010
00085 !***********************************************************************
00086 !
00087 !
00088 !
00089 !
00090 !
00091 !
00092 !
00093 !
00094 !
00095 !
00096 !
00097 !
00098 !
00099 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00100 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00101 !
00102       USE BIEF_DEF
00103       USE FRICTION_DEF
00104 !
00105 !       NOTE: THIS MODULE IS ORGANISED IN 10 PARTS
00106 !
00107 !      01) VECTORS (WILL BE DECLARED AS BIEF_OBJ STRUCTURES)
00108 !      02) MATRICES (WILL BE DECLARED AS BIEF_OBJ STRUCTURES)
00109 !      03) BLOCKS (WILL BE DECLARED AS BIEF_OBJ STRUCTURES)
00110 !      04) INTEGERS
00111 !      05) LOGICAL VALUES
00112 !      06) REALS
00113 !      07) STRINGS
00114 !      08) SLVCFG STRUCTURES
00115 !      09) MESH STRUCTURE
00116 !      10) ALIASES
00117 !
00118 !
00119 !       ALL BIEF_OBJ AND BIEF_MESH STRUCTURES ARE ALLOCATED
00120 !       IN SUBROUTINE POINT_TELEMAC2D
00121 !
00122 !-----------------------------------------------------------------------
00123 !
00124 !       1) VECTORS
00125 !
00126 !-----------------------------------------------------------------------
00127 !
00128 !     COMPONENTS OF VELOCITY
00129 !
00130       TYPE(BIEF_OBJ), TARGET :: U,V
00131 !
00132 !     DEPTH AT NEW TIME-STEP
00133 !
00134       TYPE(BIEF_OBJ), TARGET :: H
00135 !
00136 !     TRACERS AT NEW TIME-STEP
00137 !
00138       TYPE(BIEF_OBJ), TARGET :: T
00139 !
00140 !     K AT NEW TIME-STEP
00141 !
00142       TYPE(BIEF_OBJ), TARGET :: AK
00143 !
00144 !     EPSILON AT NEW TIME-STEP
00145 !
00146       TYPE(BIEF_OBJ), TARGET :: EP
00147 !
00148 !     U AND V AFTER ADVECTION BY CHARACTERISTICS
00149 !
00150       TYPE(BIEF_OBJ), TARGET :: UTILD,VTILD
00151 !
00152 !     H AFTER ADVECTION BY CHARACTERISTICS
00153 !
00154       TYPE(BIEF_OBJ), TARGET :: HTILD
00155 !
00156 !     T AFTER ADVECTION BY CHARACTERISTICS
00157 !
00158       TYPE(BIEF_OBJ), TARGET :: TTILD
00159 !
00160 !     AK AFTER ADVECTION BY CHARACTERISTICS
00161 !
00162       TYPE(BIEF_OBJ), TARGET :: AKTILD
00163 !
00164 !     EP AFTER ADVECTION BY CHARACTERISTICS
00165 !
00166       TYPE(BIEF_OBJ), TARGET :: EPTILD
00167 !
00168 !     U AND V AT OLD TIME-STEP
00169 !
00170       TYPE(BIEF_OBJ), TARGET :: UN,VN
00171 !
00172 !     H AT OLD TIME-STEP
00173 !
00174       TYPE(BIEF_OBJ), TARGET :: HN
00175 !
00176 !     T AT OLD TIME-STEP
00177 !
00178       TYPE(BIEF_OBJ), TARGET :: TN
00179 !
00180 !     AK AT OLD TIME-STEP
00181 !
00182       TYPE(BIEF_OBJ), TARGET :: AKN
00183 !
00184 !     EP AT OLD TIME-STEP
00185 !
00186       TYPE(BIEF_OBJ), TARGET :: EPN
00187 !
00188 !     INCREMENT OF H IN ONE TIME STEP
00189 !
00190       TYPE(BIEF_OBJ), TARGET :: DH
00191 !
00192 !     INCREMENTS OF U AND V IN ONE TIME STEP
00193 !
00194       TYPE(BIEF_OBJ), TARGET :: DU,DV
00195 !
00196 !     INCREMENT OF HN IN ONE TIME STEP
00197 !
00198       TYPE(BIEF_OBJ), TARGET :: DHN
00199 !
00200 !     COMPONENTS OF ADVECTING FIELD
00201 !
00202       TYPE(BIEF_OBJ), TARGET :: UCONV,VCONV
00203 !
00204 !     DEPTH IN THE PROPAGATION TERM I.E. IN H DIV(U)
00205 !
00206       TYPE(BIEF_OBJ), TARGET :: HPROP
00207 !
00208 !     PRESCRIBED VALUES ON BOUNDARIES FOR U AND V
00209 !
00210       TYPE(BIEF_OBJ), TARGET :: UBOR,VBOR
00211 !
00212 !     VALUES ON BOUNDARIES: WALL FRICTION COEFFICIENTS
00213 !
00214       TYPE(BIEF_OBJ), TARGET :: AUBOR,UETUTA
00215 !
00216 !     PRESCRIBED VALUES ON BOUNDARIES FOR DEPTH
00217 !
00218       TYPE(BIEF_OBJ), TARGET :: HBOR
00219 !
00220 !     PRESCRIBED VALUES ON BOUNDARIES FOR TRACERS
00221 !
00222       TYPE(BIEF_OBJ), TARGET :: TBOR
00223 !
00224 !     PRESCRIBED VALUES ON BOUNDARIES: K AND EPSILON
00225 !
00226       TYPE(BIEF_OBJ), TARGET :: KBOR,EBOR
00227 !
00228 !     FLUX ON THE BOUNDARIES: WATER AND TRACERS
00229 !
00230       TYPE(BIEF_OBJ), TARGET :: FLBOR,FLBORTRA
00231 !
00232 !     ON BOUNDARIES: COEFFICIENTS FOR HEAT FLUXES
00233 !
00234       TYPE(BIEF_OBJ), TARGET :: ATBOR,BTBOR
00235 !
00236 !     ADIMENSIONAL FRICTION COEFFICIENTS (BOTTOM AND BOUNDARIES)
00237 !
00238       TYPE(BIEF_OBJ), TARGET :: CF,CFBOR
00239 !
00240 !     VOID STRUCTURE
00241 !
00242       TYPE(BIEF_OBJ), TARGET :: S
00243 !
00244 !     BOTTOM TOPOGRAPHY: PER POINT, PER ELEMENT
00245 !
00246       TYPE(BIEF_OBJ), TARGET :: ZF,ZFE
00247 !
00248 !     VELOCITY DIFFUSIVITY: VELOCITY, TRACERS, SAVED
00249 !
00250       TYPE(BIEF_OBJ), TARGET :: VISC,VISCT,VISC_S
00251 !
00252 !     SOURCE TERMS IN THE MOMENTUM EQUATION
00253 !
00254       TYPE(BIEF_OBJ), TARGET :: FU,FV
00255 !
00256 !     WAVE STRESSES (FROM ARTEMIS OR TOMAWAC)
00257 !
00258       TYPE(BIEF_OBJ), TARGET :: FXWAVE,FYWAVE
00259 !
00260 !     INITIAL DEPTH
00261 !
00262       TYPE(BIEF_OBJ), TARGET :: H0
00263 !
00264 !     MASK FOR TRACERS
00265 !
00266       TYPE(BIEF_OBJ), TARGET :: MASKTR
00267 !
00268 !     ATMOSPHERIC PRESSURE
00269 !
00270       TYPE(BIEF_OBJ), TARGET :: PATMOS
00271 !
00272 !     COMPONENTS OF WIND VELOCITY
00273 !
00274       TYPE(BIEF_OBJ), TARGET :: WINDX,WINDY
00275 !
00276 !     DENSITY
00277 !
00278       TYPE(BIEF_OBJ), TARGET :: RO
00279 !
00280 !     INTEGRAL OF BASES, AND THE SAME AFTER ASSEMBLING IN PARALLEL
00281 !
00282       TYPE(BIEF_OBJ), TARGET :: VOLU2D,V2DPAR
00283 !
00284 !     INVERSE OF INTEGRAL OF BASES
00285 !
00286       TYPE(BIEF_OBJ), TARGET :: UNSV2D
00287 !
00288 !     RIGHT HAND SIDES OF LINEAR SYSTEMS
00289 !
00290       TYPE(BIEF_OBJ), TARGET :: CV1,CV2,CV3,CV1S
00291 !
00292 !     RIGHT HAND SIDE OF CONTINUITY EQUATION
00293 !
00294       TYPE(BIEF_OBJ), TARGET :: SMH
00295 !
00296 !     P0 WORKING ARRAYS
00297 !
00298       TYPE(BIEF_OBJ), TARGET :: TE1,TE2,TE3
00299 !
00300 !     WORKING ARRAYS FOR OPTION 3 OF TREATMENT OF TIDAL FLATS
00301 !
00302       TYPE(BIEF_OBJ), TARGET :: TE4,TE5
00303 !
00304 !     WORKING ARRAY (SIZE MULTIPLE OF NELMAX)
00305 !
00306       TYPE(BIEF_OBJ), TARGET :: W1
00307 !
00308 !     FOR FLUXES ACCROSS SECTIONS
00309 !
00310       TYPE(BIEF_OBJ), TARGET :: MSKSEC
00311 !
00312       TYPE(BIEF_OBJ), TARGET :: ZFLATS
00313 !
00314 !     FRICTION COEFFICIENT, IN TERMS OF STRICKLER, CHEZY, ETC
00315 !
00316       TYPE(BIEF_OBJ), TARGET :: CHESTR
00317 !
00318 !     TYPES OF BOUNDARY CONDITIONS ON U, V, H AND TRACERS
00319 !
00320       TYPE(BIEF_OBJ), TARGET :: LIUBOR,LIVBOR,LIHBOR,LITBOR
00321 !
00322 !     TYPES OF BOUNDARY CONDITIONS ON TRACERS
00323 !
00324       TYPE(BIEF_OBJ), TARGET :: LIMTRA
00325 !
00326 !     TYPES OF BOUNDARY CONDITIONS ON K AND EPSILON
00327 !
00328       TYPE(BIEF_OBJ), TARGET :: LIMKEP
00329 !
00330 !     TYPES OF BOUNDARY CONDITIONS FOR PROPAGATION
00331 !
00332       TYPE(BIEF_OBJ), TARGET :: LIMPRO
00333 !
00334 !     BOUNDARY CONDITIONS ON H, U, V (COPIES OF LIHBOR,LIUBOR,LIVBOR)
00335 !
00336       TYPE(BIEF_OBJ), TARGET :: CLH,CLU,CLV
00337 !
00338 !     ORIGINAL BOUNDARY NODE NUMBER (OR COLOUR GIVEN BY USER)
00339 !
00340       TYPE(BIEF_OBJ), TARGET :: BOUNDARY_COLOUR
00341 !
00342 !     POSITIONS OF FLOATING BODIES
00343 !
00344       TYPE(BIEF_OBJ), TARGET :: XFLOT,YFLOT
00345 !
00346 !     FOR LAGRANGIAN DRIFTS
00347 !
00348       TYPE(BIEF_OBJ), TARGET :: SHPFLO,XLAG,YLAG,SHPLAG
00349 !
00350 !     TIME STEP OF INITIAL RELEASE FOR FLOATING BODIES, IDEM FOR FINAL
00351 !
00352       TYPE(BIEF_OBJ), TARGET :: DEBFLO,FINFLO
00353 !
00354 !     ELEMENT WHERE THE FLOATING BODIES (DROGUES) ARE
00355 !
00356       TYPE(BIEF_OBJ), TARGET :: ELTFLO
00357 !
00358 !     FOR TAGGING THE DROGUES
00359 !
00360       TYPE(BIEF_OBJ), TARGET :: TAGFLO
00361 !
00362 !     TIME STEP AT THE BEGINNING (END) OF LAGRANGIAN DRIFTS
00363 !
00364       TYPE(BIEF_OBJ), TARGET :: DEBLAG,FINLAG
00365 !
00366 !     ELEMENT WHERE IS THE LAGRANGIAN DRIFT
00367 !
00368       TYPE(BIEF_OBJ), TARGET :: ELTLAG
00369 !
00370 !     INTEGERS WORKING ARRAYS
00371 !
00372       TYPE(BIEF_OBJ), TARGET :: IT1,IT2,IT3,IT4
00373 !
00374 !     COMPONENTS OF DISCHARGE AT TIME N
00375 !
00376       TYPE(BIEF_OBJ), TARGET :: QU,QV
00377 !
00378 !     STORED WATER DEPTH, AND CORRECTED STORED WATER DEPTH
00379 !
00380       TYPE(BIEF_OBJ), TARGET :: HSTOK,HCSTOK
00381 !
00382 !     SOURCE TERMS OF TRACERS
00383 !
00384       TYPE(BIEF_OBJ), TARGET :: SMTR
00385 !
00386 !     REFERENCE OF BOUNDARY NODES
00387 !
00388       TYPE(BIEF_OBJ), TARGET :: LOGFR
00389 !
00390 !     TRACER FLUX
00391 !
00392       TYPE(BIEF_OBJ), TARGET :: FLUXT
00393 !
00394 !     RECONSTRUCTED DEPTH, AND CORRECTED VERSION
00395 !
00396       TYPE(BIEF_OBJ), TARGET :: HT,HC
00397 !
00398 !     VARIATIONS OF Z OF ORDER 2
00399 !
00400       TYPE(BIEF_OBJ), TARGET :: DSZ
00401 !
00402 !     FLUX OF MASS FOR TRACER
00403 !
00404       TYPE(BIEF_OBJ), TARGET :: FLUXTEMP
00405 !
00406 !     TRACER FLUX AT BOUNDARY, TEMPORARY VALUE
00407 !
00408       TYPE(BIEF_OBJ), TARGET :: FLUHBOR,FLUHBTEMP
00409 !
00410 !     ??????
00411 !
00412       TYPE(BIEF_OBJ), TARGET :: SECMOU , IFAMAS
00413 !
00414 !     MASK FOR POINTS (1: normal; 0:masked)
00415 !
00416       TYPE(BIEF_OBJ), TARGET :: MASKPT
00417 !
00418 !     MASK FOR ELEMENTS (1: normal; 0:masked)
00419 !
00420       TYPE(BIEF_OBJ), TARGET :: MASKEL
00421 !
00422 !     LIQUID BOUNDARY NUMBERS
00423 !
00424       TYPE(BIEF_OBJ), TARGET :: NUMLIQ
00425 !
00426 !     MAXIMUM ELEVATIONS
00427 !
00428       TYPE(BIEF_OBJ), TARGET :: MAXZ
00429 !
00430 !     CORRESPONDING TIMES FOR MAXIMUM ELEVATIONS
00431 !
00432       TYPE(BIEF_OBJ), TARGET :: TMAXZ
00433 !
00434 !     MAXIMUM VELOCITIES
00435 !
00436       TYPE(BIEF_OBJ), TARGET :: MAXV
00437 !
00438 !     CORRESPONDING TIMES FOR MAXIMUM VELOCITIES
00439 !
00440       TYPE(BIEF_OBJ), TARGET :: TMAXV
00441 !
00442 !     FOR STORING ZONE NUMBERS
00443 !
00444       TYPE(BIEF_OBJ), TARGET :: ZONE
00445 !
00446 !     FOR STORING RESULTS OF FOURIER ANALYSIS (AMPLITUDE AND PHASE)
00447 !
00448       TYPE(BIEF_OBJ), TARGET :: AMPL,PHAS
00449 !
00450 !     FRICTION COEFFICIENT FOR BOUNDARY CONDITIONS
00451 !
00452       TYPE(BIEF_OBJ),TARGET :: CHBORD
00453 !
00454 !     COMPATIBLE COMPONENTS OF VELOCITY FOR DELWAQ
00455 !
00456       TYPE(BIEF_OBJ),TARGET :: UDEL,VDEL
00457 !
00458 !     VELOCITY WILL BE UCONV + DM1*GRAD(ZCONV)
00459 !
00460       TYPE(BIEF_OBJ),TARGET :: DM1,ZCONV
00461 !
00462 !     COMPATIBLE FLUXES FOR DELWAQ
00463 !
00464       TYPE(BIEF_OBJ),TARGET :: FLODEL
00465 !
00466 !     COEFFICIENTS OF LIMITATION FOR DELWAQ
00467 !
00468       TYPE(BIEF_OBJ),TARGET :: FLULIM
00469 !
00470 !     EXPLICIT SOURCE TERMS FOR TRACERS
00471 !
00472       TYPE(BIEF_OBJ),TARGET :: TEXP
00473 !
00474 !     TERMS DUE TO SOURCES FOR TRACERS
00475 !
00476       TYPE(BIEF_OBJ),TARGET :: TSCEXP
00477 !
00478 !     IMPLICIT SOURCE TERMS FOR TRACERS
00479 !
00480       TYPE(BIEF_OBJ),TARGET :: TIMP
00481 !
00482 !     FLUXES FOR FINITE VOLUMES
00483 !
00484       TYPE(BIEF_OBJ),TARGET :: FLUX_OLD
00485 !
00486 !     FOR TIDAL BOUNDARY CONDITIONS
00487 !
00488       TYPE(BIEF_OBJ),TARGET :: HBTIDE,UBTIDE,VBTIDE,NUMTIDE
00489 !
00490 !     FOR RAIN-EVAPORATION
00491 !
00492       TYPE(BIEF_OBJ),TARGET :: PLUIE
00493 !
00494 !     FOR CULVERT MANAGEMENT
00495       TYPE(BIEF_OBJ),TARGET :: ENTSIP, SORSIP, SECSIP, ALTSIP
00496       TYPE(BIEF_OBJ),TARGET :: CSSIP , CESIP , DELSIP, ANGSIP, LSIP
00497       TYPE(BIEF_OBJ),TARGET :: USIP, VSIP, DSIP, TSIP
00498 !
00499 !     FOR TUBES/BRIDGES MANAGEMENT
00500       TYPE(BIEF_OBJ),TARGET :: ENTBUS, SORBUS, LRGBUS, HAUBUS, ALTBUS
00501       TYPE(BIEF_OBJ),TARGET :: CSBUS , CEBUS , DELBUS, ANGBUS, LBUS
00502       TYPE(BIEF_OBJ),TARGET :: UBUS, VBUS, DBUS, TBUS, CLPBUS
00503       TYPE(BIEF_OBJ),TARGET :: SECBUS
00504 !
00505 !     NEIGHBORS OF SEGMENT (FOR WAF SCHEME)
00506 !
00507       TYPE(BIEF_OBJ),TARGET :: NEISEG
00508 !
00509 !     FOR BREACHES MANAGEMENT
00510 !
00511       TYPE(BIEF_OBJ),TARGET :: OPTNBR, TDECBR, DURBR, ZFINBR, ZDECBR
00512       TYPE(BIEF_OBJ),TARGET :: NUMPSD, NBNDBR, INDBR, ZCRBR
00513 !
00514 !     FOR WEIR MANAGEMENT
00515 !
00516       TYPE(BIEF_OBJ),TARGET :: NPSING
00517       TYPE(BIEF_OBJ),TARGET :: NDGA1, NDGA2, NDGB1, NDGB2
00518       TYPE(BIEF_OBJ),TARGET :: WDIG, ZDIG, PHIDIG
00519       TYPE(BIEF_OBJ),TARGET :: QWA, QWB
00520       TYPE(BIEF_OBJ),TARGET :: UWEIRA,UWEIRB,VWEIRA,VWEIRB
00521       TYPE(BIEF_OBJ),TARGET :: QP0
00522       TYPE(BIEF_OBJ),TARGET :: TWEIRA,TWEIRB
00523 !
00524 !     VARIABLES FOR SECONDARY CURRENTS (SECCURRENTS)
00525 !
00526       TYPE(BIEF_OBJ),TARGET :: SEC_TAU, SEC_R
00527 !
00528 !-----------------------------------------------------------------------
00529 !
00530 !       2) MATRICES
00531 !
00532 !-----------------------------------------------------------------------
00533 !
00534 !       MATRICES
00535 !
00536 !       SYSTEM SOLVED IN PROPAG WILL BE :
00537 !
00538 !     ( AM1  BM1  BM2 )   (DH)      ( CV1 )
00539 !     (               )   (  )      (     )
00540 !     ( CM1  AM2  A23 )   (U )  =   ( CV2 )
00541 !     (               )   (  )      (     )
00542 !     ( CM2  A32  AM3 )   (V )      ( CV3 )
00543 !
00544 !
00545 !     MATRICES OF THE FINAL LINEAR SYSTEM OF THE PRIMITIVE EQUATIONS OPTION
00546 !
00547       TYPE(BIEF_OBJ), TARGET :: AM1,AM2,AM3,BM1,BM2,CM1,CM2,A23,A32
00548 !
00549 !     BOUNDARY MATRIX
00550 !
00551       TYPE(BIEF_OBJ), TARGET :: MBOR
00552 !
00553 !     BM1 AND BM2 SAVED
00554 !
00555       TYPE(BIEF_OBJ), TARGET :: BM1S,BM2S
00556 !
00557 !-----------------------------------------------------------------------
00558 !
00559 !       3) BLOCKS
00560 !
00561 !-----------------------------------------------------------------------
00562 !
00563 !     DIFFUSION MATRIX
00564 !
00565       TYPE(BIEF_OBJ), TARGET :: TM1
00566 !
00567 !     BLOCK FOR DIRICHLET VALUES HBOR, UBOR AND VBOR
00568 !
00569       TYPE(BIEF_OBJ), TARGET :: DIRBOR
00570 !
00571 !     BLOCK OF MASKS
00572 !
00573       TYPE(BIEF_OBJ), TARGET :: MASK
00574 !
00575 !     BLOCK OF WORKING ARRAYS
00576 !
00577       TYPE(BIEF_OBJ), TARGET :: TB
00578 !
00579 !     BLOCK OF PRIVATE VECTORS
00580 !
00581       TYPE(BIEF_OBJ), TARGET :: PRIVE
00582 !
00583 !     BLOCKS OF VARIABLES AT TIME N+1, AT TIME N
00584 !
00585       TYPE(BIEF_OBJ), TARGET :: F,FN
00586 !
00587 !     BLOCKS OF VARIABLES AFTER ADVECTION BY CHARACTERISTICS (STRONG AND WEAK)
00588 !
00589       TYPE(BIEF_OBJ), TARGET :: FTILD,FTILD2
00590 !
00591 !     BLOCK OF VARIABLES TO BE ADVECTED BY CHARACTERISTICS (STRONG AND WEAK)
00592 !
00593       TYPE(BIEF_OBJ), TARGET :: FNCAR,FNCAR2
00594 !
00595 !     BLOCKS OF MATRICES FOR LINEAR SYSTEMS
00596 !
00597       TYPE(BIEF_OBJ), TARGET :: MAT
00598 !
00599 !     BLOCKS OF RIGHT HAND SIDES FOR LINEAR SYSTEMS
00600 !
00601       TYPE(BIEF_OBJ), TARGET :: RHS
00602 !
00603 !     BLOCKS OF UNKNOWNS FOR LINEAR SYSTEMS
00604 !
00605       TYPE(BIEF_OBJ), TARGET :: UNK
00606 !
00607 !     BLOCK OF CLANDESTINE VARIABLES
00608 !
00609       TYPE(BIEF_OBJ), TARGET :: VARCL
00610 !
00611 !     BLOCK OF VARIABLES FOR OUTPUT
00612 !
00613       TYPE(BIEF_OBJ), TARGET :: VARSOR
00614 !
00615 !-----------------------------------------------------------------------
00616 !
00617 !       4) INTEGERS
00618 !
00619 !-----------------------------------------------------------------------
00620 !
00621 !       KEY-WORDS AND PARAMETERS
00622 !
00623 !     MAXIMUM NUMBER OF VALUES OF KEY-WORDS OF ONE KIND (INTEGER, LOGICAL, ETC.)
00624 !
00625       INTEGER, PARAMETER :: MAXKEY = 400
00626 !
00627 !     MAXIMUM NUMBER OF SOURCE POINTS
00628 !
00629       INTEGER, PARAMETER :: MAXSCE = 100
00630 !
00631 !     MAXIMUM NUMBER OF LIQUID / SOLID BOUNDARIES
00632 !
00633       INTEGER, PARAMETER :: MAXFRO = 3000
00634 !
00635 !     MAXIMUM NUMBER OF OUTPUT VARIABLES
00636 !
00637       INTEGER, PARAMETER :: MAXVAR = 100
00638 !
00639 !     MAXIMUM NUMBER OF TRACERS
00640 !
00641       INTEGER, PARAMETER :: MAXTRA = 20
00642 !
00643 !     NUMBER OF NODES FOR THE CONTROL SECTIONS (TWO TIMES THE NUMBER OF CONTROL SECTIONS)
00644 !
00645       INTEGER NCP
00646 !
00647 !     ARRAY CONTAINING THE GLOBAL NUMBER OF POINTS IN THE CONTROL SECTIONS
00648 !
00649       INTEGER, ALLOCATABLE :: CTRLSC(:)
00650 !
00651 !     MAXIMUM RANK OF LOGICAL UNITS AS DECLARED IN SUBMIT STRINGS IN THE DICTIONARY
00652 !     12/02/2013: 47
00653 !
00654       INTEGER, PARAMETER :: MAXLU_T2D = 47
00655 !
00656 !     GEOMETRY FILE NUMBER
00657 !
00658       INTEGER T2DGEO
00659 !
00660 !     BOUNDARY CONDITIONS FILE NUMBER
00661 !
00662       INTEGER T2DCLI
00663 !
00664 !     PREVIOUS COMPUTATION FILE NUMBER
00665 !
00666       INTEGER T2DPRE
00667 !
00668 !     RESULTS FILE NUMBER
00669 !
00670       INTEGER T2DRES
00671 !
00672 !     BOTTOM TOPOGRAPHY FILE NUMBER
00673 !
00674       INTEGER T2DFON
00675 !
00676 !     BINARY DATA FILE 1,2
00677 !
00678       INTEGER T2DBI1,T2DBI2
00679 !
00680 !     FORMATTED DATA FILE 1,2
00681 !
00682       INTEGER T2DFO1,T2DFO2
00683 !
00684 !     BINARY RESULTS FILE NUMBER
00685 !
00686       INTEGER T2DRBI
00687 !
00688 !     FORMATTED RESULTS FILE NUMBER
00689 !
00690       INTEGER T2DRFO
00691 !
00692 !     REFERENCE FILE NUMBER
00693 !
00694       INTEGER T2DREF
00695 !
00696 !     LIQUID BOUNDARIES FILE NUMBER
00697 !
00698       INTEGER T2DIMP
00699 !
00700 !     FRICTION DATA FILE NUMBER
00701 !
00702       INTEGER T2DCOF
00703 !
00704 !     DELWAQ FILES NUMBERS
00705 !
00706       INTEGER T2DDL1,T2DDL2,T2DDL3,T2DDL4,T2DDL5,T2DDL6,T2DDL7,T2DDL8
00707       INTEGER T2DDL9,T2DL10,T2DL11
00708 !
00709 !     STAGE-DISCHARGE CURVES FILE NUMBER
00710 !
00711       INTEGER T2DMAB
00712 !
00713 !     SOURCES FILE NUMBER
00714 !
00715       INTEGER T2DVEF
00716 !
00717 !     SECTIONS INPUT FILE NUMBER
00718 !
00719       INTEGER T2DSEC
00720 !
00721 !     SECTIONS OUTPUT FILE NUMBER
00722 !
00723       INTEGER T2DSEO
00724 !
00725 !     MIGRHYCAR STEERING FILE NUMBER
00726 !
00727       INTEGER T2DMIG
00728 !
00729 !     HARMONIC CONSTANTS FILE NUMBER
00730 !
00731       INTEGER T2DHAR
00732 !
00733 !     TIDAL MODEL FILE NUMBER
00734 !
00735       INTEGER T2DTID
00736 !
00737 !     ASCII TIDAL MODEL DATABASE FILE NUMBER
00738 !
00739       INTEGER T2DBDD
00740 !
00741 !     BINARY TIDAL MODEL DATABASES 1 AND 2 FILE NUMBER
00742 !
00743       INTEGER T2DBB1,T2DBB2
00744 !
00745 !     WEIR DATA FILE NUMBER
00746 !
00747       INTEGER T2DSEU
00748 !
00749 !     CULVERT DATA FILE NUMBER
00750 !
00751       INTEGER T2DSIP
00752 !
00753 !     TUBES/BRIDGES DATA FILE NUMBER
00754 !
00755       INTEGER T2DBUS
00756 !
00757 !     BREACHES DATA FILE NUMBER
00758 !
00759       INTEGER T2DBRC
00760 !
00761 !     DROGUES FILE
00762 !
00763       INTEGER T2DFLO
00764 !
00765 !     ZONES FILE
00766 !
00767       INTEGER T2DZFI
00768 !
00769 !     WAQ STEERING FILE (INTERN WAQ NOT THOSE OF DELWAQ)
00770 !
00771       INTEGER T2DWAQ
00772 !
00773 !     WAQ DICO (INTERN WAQ NOT THOSE OF DELWAQ)
00774 !
00775       INTEGER T2DWQD
00776 !
00777 !     GRAPHIC PRINTOUT PERIOD
00778 !
00779       INTEGER LEOPRD
00780 !
00781 !     LISTING PRINTOUT PERIOD
00782 !
00783       INTEGER LISPRD
00784 !
00785 !     NUMBER OF TIME STEPS
00786 !
00787       INTEGER NIT
00788 !
00789 !     TYPE OF ADVECTION (1:u and v, 2:h, 3:tracers, 4:k and epsilon)
00790 !     SCHEME FOR ADVECTION OF TRACERS
00791 !
00792       INTEGER ICONVF(4),ICONVFT(MAXTRA)
00793 !
00794 !     TURBULENCE MODEL
00795 !
00796       INTEGER ITURB
00797 !
00798 !     LAW OF BOTTOM FRICTION
00799 !
00800       INTEGER KFROT
00801 !
00802 !     NUMBER OF SUB-ITERATIONS FOR NON-LINEARITIES
00803 !
00804       INTEGER NSOUI
00805 !
00806 !     NOT USED (PROPAGATION OPTION)
00807 !
00808       INTEGER OPTPRO
00809 !
00810 !     INITIAL GUESS FOR H
00811 !
00812       INTEGER IORDRH
00813 !
00814 !     INITIAL GUESS FOR U
00815 !
00816       INTEGER IORDRU
00817 !
00818 !     NUMBER OF SUB-ITERATIONS FOR NON-LINEARITIES
00819 !
00820       INTEGER NSOUSI
00821 !
00822 !     NUMBER OF FIRST TIME STEP FOR GRAPHIC PRINTOUTS
00823 !
00824       INTEGER PTINIG
00825 !
00826 !     NUMBER OF FIRST TIME STEP FOR LISTING PRINTOUTS
00827 !
00828       INTEGER PTINIL
00829 !
00830 !     TURBULENCE MODEL FOR SOLID BOUNDARIES
00831 !
00832       INTEGER LISRUG
00833 !
00834 !     NUMBER OF BOUNDARIES WITH PRESCRIBED DISCHARGE
00835 !
00836       INTEGER NDEBIT
00837 !
00838 !     NUMBER OF BOUNDARIES WITH PRESCRIBED ELEVATION
00839 !
00840       INTEGER NCOTE
00841 !
00842 !     NUMBER OF BOUNDARIES WITH PRESCRIBED VELOCITY
00843 !
00844       INTEGER NVITES
00845 !
00846 !     NUMBER OF BOUNDARIES WITH PRESCRIBED TRACER
00847 !
00848       INTEGER NTRACE
00849 !
00850 !     NUMBER OF CLANDESTINE VARIABLES
00851 !
00852       INTEGER NVARCL
00853 !
00854 !     VECTOR LENGTH
00855 !
00856       INTEGER LVMAC
00857 !
00858 !     OPTION FOR THE TREATMENT OF TIDAL FLATS
00859 !
00860       INTEGER OPTBAN
00861 !
00862 !     NUMBER OF DROGUES, MAXIMUM NUMBER OF DROGUES (FOR DIMENSIONING ARRAYS)
00863 !
00864       INTEGER NFLOT,NFLOT_MAX
00865 !
00866 !     PRINTOUT PERIOD FOR DROGUES
00867 !
00868       INTEGER FLOPRD
00869 !
00870 !     NUMBER OF LAGRANGIAN DRIFTS
00871 !
00872       INTEGER NLAG
00873 !
00874 !     BOTTOM SMOOTHINGS
00875 !
00876       INTEGER LISFON
00877 !
00878 !     DISCRETIZATIONS IN SPACE
00879 !
00880       INTEGER DISCRE(4)
00881 !
00882 !     NUMBER OF SINK/SOURCES
00883 !
00884       INTEGER NREJET
00885 !
00886 !     NUMBER OF SINK/SOURCES WITH GIVEN VELOCITY
00887 !
00888       INTEGER NREJEU
00889 !
00890 !     NUMBER OF SINK/SOURCES WITH GIVEN TRACER
00891 !
00892       INTEGER NREJTR
00893 !
00894 !     SUPG OPTION
00895 !
00896       INTEGER OPTSUP(4)
00897 !
00898 !     ORIGINAL DATE OF TIME
00899 !
00900       INTEGER MARDAT(3)
00901 !
00902 !     ORIGINAL HOUR OF TIME
00903 !
00904       INTEGER MARTIM(3)
00905 !
00906 !     VARIOUS DISCRETISATION TIMES
00907 !
00908       INTEGER IELM0,IELM1,IELMH,IELMU,IELMT,IELMK,IELME
00909 !
00910 !     MATRIX STORAGE
00911 !
00912       INTEGER OPTASS
00913 !
00914 !     MATRIX-VECTOR PRODUCT
00915 !
00916       INTEGER PRODUC
00917 !
00918 !     NUMBER OF WEIRS
00919 !
00920       INTEGER NWEIRS
00921 !
00922 !     NUMBER OF CULVERTS
00923 !
00924       INTEGER NSIPH
00925 !
00926 !     NUMBER OF TUBES/BRIDGES
00927 !
00928       INTEGER NBUSE
00929 !
00930 !     NUMBER OF BOUNDARIES WITH GIVEN OPTION FOR LIQUID BOUNDARIES
00931 !
00932       INTEGER NTYPFR
00933 !
00934 !     OPTION FOR LIQUID BOUNDARIES
00935 !
00936       INTEGER FRTYPE(MAXFRO)
00937 !
00938 !     TREATMENT OF THE LINEAR SYSTEM
00939 !
00940       INTEGER SOLSYS
00941 !
00942 !     VELOCITY PROFILES
00943 !
00944       INTEGER PROVEL(MAXFRO)
00945 !
00946 !     NUMBER OF LIQUID BOUNDARIES
00947 !
00948       INTEGER NFRLIQ
00949 !
00950 !     NUMBER OF SOLID BOUNDARIES
00951 !
00952       INTEGER NFRSOL
00953 !
00954 !     RANK OF FIRST,LAST POINT OF LIQUID BOUNDARY
00955 !
00956       INTEGER DEBLIQ(MAXFRO),FINLIQ(MAXFRO)
00957 !
00958 !     RANK OF FIRST,LAST POINT OF SOLID BOUNDARY
00959 !
00960       INTEGER DEBSOL(MAXFRO),FINSOL(MAXFRO)
00961 !
00962 !     NEAREST POINTS OF SOURCES
00963 !
00964       INTEGER ISCE(MAXSCE)
00965 !
00966 !     OPTION FOR THE DIFFUSION OF TRACERS
00967 !
00968       INTEGER OPDTRA
00969 !
00970 !     OPTION FOR THE DIFFUSION OF VELOCITIES
00971 !
00972       INTEGER OPDVIT
00973 !
00974 !     TYPE OF SOURCES
00975 !
00976       INTEGER OPTSOU
00977 !
00978 !     NUMBER OF PRIVATE ARRAYS
00979 !
00980       INTEGER NPRIV
00981 !
00982 !     DELWAQ PRINTOUT PERIOD
00983 !
00984       INTEGER WAQPRD
00985 !
00986 !     TREATMENT OF NEGATIVE DEPTHS
00987 !
00988       INTEGER OPT_HNEG
00989 !
00990 !     CURRENT ITERATION NUMBER
00991 !
00992       INTEGER LT
00993 !
00994 !     RECORD NUMBER IN THE WAVE DRIVEN CURRENTS FILE
00995 !
00996       INTEGER NPTH
00997 !
00998 !     NUMBER OF USER-DEFINED ZONES (E.G. FOR SETTING FRICTION) IN SUBROUTINE DEF_ZONES
00999 !
01000       INTEGER NZONE
01001 !
01002 !     NUMBER OF PERIODS FOR FOURIER ANALYSIS
01003 !
01004       INTEGER NPERIAF
01005 !
01006 !     OPTION FOR PARAMETER ESTIMATION, IDENTIFICATION METHOD
01007 !
01008       INTEGER OPTID
01009 !
01010 !     NUMBER OF REMARKABLE POINTS
01011 !
01012       INTEGER NPTS
01013 !
01014 !     LIST OF REMARKABLE POINTS
01015 !
01016       INTEGER LIST_PTS(100)
01017 !
01018 !     CHOICE OF COST-FUNCTION
01019 !
01020       INTEGER OPTCOST
01021 !
01022 !     MAXIMUM NUMBER OF ITERATIONS FOR IDENTIFICATION
01023 !
01024       INTEGER MAXEST
01025 !
01026 !     COUPLING PERIOD (WITH SISYPHE)
01027 !
01028       INTEGER PERCOU
01029 !
01030 !     COUPLING PERIOD FOR TOMAWAC
01031 !
01032       INTEGER PERCOU_WAC
01033 !
01034 !     FINITE VOLUME SCHEME
01035 !
01036       INTEGER OPTVF
01037 !
01038 !     ORIGINS OF THE COORDINATE SYSTEM
01039 !
01040       INTEGER I_ORIG,J_ORIG
01041 !
01042 !     NUMBER OF TRACERS
01043 !
01044       INTEGER NTRAC
01045 !
01046 !     INDEX FOR TEMPERATURE, FOR SALINITY AND FOR SECONDARY CURRENT
01047 !
01048       INTEGER IND_T,IND_S,IND_SEC
01049 !
01050 !     NUMBER OF POINTS GIVEN FOR EACH DISCHARGE-ELEVATIONS CURVES
01051 !
01052       INTEGER PTS_CURVES(MAXFRO)
01053 !
01054 !     OPTION FOR TREATING STAGE-DISCHARGE CURVES
01055 !
01056       INTEGER STA_DIS_CURVES(MAXFRO)
01057 !
01058 !     DEBUGGER
01059 !
01060       INTEGER DEBUG
01061 !
01062 !     DEPTH IN FRICTION TERMS
01063 !
01064       INTEGER HFROT
01065 !
01066 !     LAW OF FRICTION ON LATERAL BOUNDARIES
01067 !
01068       INTEGER KFROTL
01069 !
01070 !     TREATMENT OF FLUXES At THE BOUNDARIES
01071 !
01072       INTEGER DIRFLU
01073 !
01074 !     OPTION FOR TIDAL BOUNDARY CONDITIONS
01075 !
01076       INTEGER TIDALTYPE
01077 !
01078 !     OPTION FOR TSUNAMI GENERATION
01079 !
01080       INTEGER OPTTSUNAMI
01081 !
01082 !     TIDAL DATA BASE
01083 !
01084       INTEGER TIDALDB
01085 !
01086 !     GEOGRAPHIC SYSTEM
01087 !
01088       INTEGER GEOSYST
01089 !
01090 !     ZONE NUMBER IN GEOGRAPHIC SYSTEM
01091 !
01092       INTEGER NUMZONE
01093 !
01094 !     LAW OF TRACERS DEGRADATION
01095 !
01096       INTEGER LOITRAC(MAXTRA)
01097 !
01098 !     RECORD NUMBER FOR RESTART
01099 !
01100       INTEGER START_RECORD
01101 !
01102 !     NUMBER OF BREACHES
01103 !
01104       INTEGER NBRECH
01105 !
01106 !     SPATIAL PROJECTION TYPE
01107 !
01108       INTEGER PROTYP
01109 !
01110 !     ALGAE TYPE
01111 !
01112       INTEGER ALGTYP
01113 !
01114 !     OPTION FOR CHARACTERISTICS,
01115 !     NUMBER OF GAUSS POINTS FOR WEAK CHARACTERISTICS
01116 !
01117       INTEGER OPTCHA,NGAUSS
01118 !
01119 !     MAXIMUM NUMBER OF ITERATIONS FOR ADVECTION SCHEMES
01120 !
01121       INTEGER MAXADV
01122 !
01123 !     STOCHASTIC DIFFUSION MODEL (FOR PARTICLES ALGAE, OIL SPILLS...)
01124 !
01125       INTEGER STOCHA
01126 !
01127 !     OPTION FOR WEIR TREATMENT
01128 !
01129       INTEGER TYPSEUIL
01130 !
01131 !     STORAGE OF MAXIMUM NUMBER OF ELEMENTS ON ALL WEIRS
01132 !
01133       INTEGER MAXNPS
01134 !
01135 !     PSI SCHEME OPTION
01136 !
01137       INTEGER OPTPSI
01138 !
01139 !     ADVECTION SCHEME OPTIONS FOR VARIOUS VARIABLES
01140 !     VELOCITY, K-EPSILON AND TRACERS
01141 !
01142       INTEGER OPTADV_VI,OPTADV_KE,OPTADV_TR(MAXTRA)
01143 !
01144 !     OPTION FOR WIND
01145 !
01146       INTEGER OPTWIND
01147 !
01148 !-----------------------------------------------------------------------
01149 !
01150 !       5) LOGICAL VALUES
01151 !
01152 !-----------------------------------------------------------------------
01153 !
01154 !     IF YES, COMPUTATION CONTINUED
01155 !
01156       LOGICAL DEBU
01157 !
01158 !     IF YES, LISTING PRINTOUT IS REQUIRED
01159 !
01160       LOGICAL LISTIN
01161 !
01162 !     IF YES, DIFFUSION OF VELOCITY
01163 !
01164       LOGICAL DIFVIT
01165 !
01166 !     IF YES, AIR PRESSURE IS TAKEN INTO ACCOUNT
01167 !
01168       LOGICAL ATMOS
01169 !
01170 !     IF YES, ADVECTION
01171 !
01172       LOGICAL CONV
01173 !
01174 !     IF YES, ADVECTION OF U AND V (1), H (2), TRACERS (3), K AND EPSILON (4)
01175 !
01176       LOGICAL CONVV(4)
01177 !
01178 !     IF YES, DIFFUSION OF TRACERS
01179 !
01180       LOGICAL DIFT
01181 !
01182 !     IF YES, CORIOLIS
01183 !
01184       LOGICAL CORIOL
01185 !
01186 !     IF YES, INFORMATION PRINTED ON LISTING
01187 !
01188       LOGICAL INFOGR
01189 !
01190 !     IF YES, MASS-BALANCE
01191 !
01192       LOGICAL BILMAS
01193 !
01194 !     IF YES, H CLIPPING
01195 !
01196       LOGICAL CLIPH
01197 !
01198 !     IF YES, WIND IS TAKEN INTO ACCOUNT
01199 !
01200       LOGICAL VENT
01201 !
01202 !     IF YES, PROPAGATION
01203 !
01204       LOGICAL PROPA
01205 !
01206 !     IF YES, SPHERICAL COORDINATES
01207 !
01208       LOGICAL SPHERI
01209 !
01210 !     IF YES, LINEARISED PROPAGATION
01211 !
01212       LOGICAL PROLIN
01213 !
01214 !     IF YES, VALIDATION
01215 !
01216       LOGICAL VALID
01217 !
01218 !     IF YES, VERIFICATION OF LIMITS
01219 !
01220       LOGICAL VERLIM
01221 !
01222 !     IF YES, CONTINUITY CORRECTION
01223 !
01224       LOGICAL CORCON
01225 !
01226 !     IF YES, INITIAL TIME SET TO ZERO
01227 !
01228       LOGICAL RAZTIM
01229 !
01230 !     IF YES, INFORMATION ABOUT K-EPSILON MODEL PRINTED ON LISTING
01231 !
01232       LOGICAL INFOKE
01233 !
01234 !     IF YES, THERE ARE MASKED ELEMENTS
01235 !
01236       LOGICAL MSK
01237 !
01238 !     IF YES, STOP WHEN A STEADY STATE IS REACHED
01239 !
01240       LOGICAL STOPER
01241 !
01242 !     IF YES, ELEMENTS MASKED BY USER
01243 !
01244       LOGICAL MSKUSE
01245 !
01246 !     TO KNOW IF A VARIABLE WILL BE EXITED ON FILE, ON LISTING
01247 !
01248       LOGICAL SORLEO(MAXVAR),SORIMP(MAXVAR)
01249 !
01250 !     VARIABLE DENSITY. IF YES, DENSITY EFFECTS INCLUDED
01251 !
01252       LOGICAL ROVAR
01253 !
01254 !     TIDE GENERATING FORCE
01255 !
01256       LOGICAL MAREE
01257 !
01258 !     IF YES, THERE IS A TREATMENT OF BOUNDARY CONDITIONS WITH
01259 !     THOMPSON METHOD
01260 !
01261       LOGICAL THOMFR
01262 !
01263 !     IF YES, C-U PRECONDITIONING
01264 !
01265       LOGICAL PRECCU
01266 !
01267 !     IF YES, VARIABLE TIME-STEP
01268 !
01269       LOGICAL DTVARI
01270 !
01271 !     IF YES, TIDAL FLATS
01272 !
01273       LOGICAL BANDEC
01274 !
01275 !     IF YES, PRINT INFORMATIONS ON LISTING
01276 !
01277       LOGICAL ENTET
01278 !
01279 !     IF YES, OIL SPILL MODEL
01280 !
01281       LOGICAL SPILL_MODEL
01282 !
01283 !     IF YES, WAVE DRIVEN CURRENTS ARE TAKEN INTO ACCOUNT
01284 !
01285       LOGICAL COUROU
01286 !
01287 !     IF YES, WAVE FRICTION ENHANCEMENT IS TAKEN INTO ACCOUNT
01288 !
01289       LOGICAL FRICOU
01290 !
01291 !     IF YES, VERTICAL STRUCTURES ARE TAKEN INTO ACCOUNT
01292 !
01293       LOGICAL VERTIC
01294 !
01295 !     IF YES, OUTPUT INITIAL CONDITIONS
01296 !
01297       LOGICAL OUTINI
01298 !
01299 !     IF YES, THE USER WANTS TO DEFINE ZONES
01300 !
01301       LOGICAL DEFZON
01302 !
01303 !     IF YES, COMPATIBLE COMPUTATION OF FLUXES (RELATED TO FLUXES THROUGH SECTIONS)
01304 !
01305       LOGICAL COMFLU
01306 !
01307 !     IF YES, PRINTS CUMULATED FLOWRATES
01308 !
01309       LOGICAL CUMFLO
01310 !
01311 !     IF YES, OUTPUT OF SALINITY FOR DELWAQ
01312 !
01313       LOGICAL SALI_DEL
01314 !
01315 !     IF YES, OUTPUT OF TEMPERATURE FOR DELWAQ
01316 !
01317       LOGICAL TEMP_DEL
01318 !
01319 !     IF YES, OUTPUT OF VELOCITY FOR DELWAQ
01320 !
01321       LOGICAL VELO_DEL
01322 !
01323 !     IF YES, OUTPUT OF DIFFUSIVITY FOR DELWAQ
01324 !
01325       LOGICAL DIFF_DEL
01326 !
01327 !     IF YES, RAIN OR EVAPORATION TAKEN INTO ACCOUNT
01328 !
01329       LOGICAL RAIN
01330 !
01331 !     IF YES, INFERENCE OF MINOR CONSTITUENTS
01332 !
01333       LOGICAL INTMICON
01334 !
01335 !     IF YES, THE USER WANTS TO DEFINE BREACHES
01336 !
01337       LOGICAL BRECHE
01338 !
01339 !     IF YES, THE PARTICLES ARE ALGAE
01340 !
01341       LOGICAL ALGAE
01342 !
01343 !     SECONDARY CURRENTS
01344 !
01345       LOGICAL SECCURRENTS
01346 !
01347 !     IF YES, WATER QUALITY CONSIDERED
01348 !
01349       LOGICAL WATQUA
01350 !
01351 !-----------------------------------------------------------------------
01352 !
01353 !       6) REALS
01354 !
01355 !-----------------------------------------------------------------------
01356 !
01357 !     TIME STEP
01358 !
01359       DOUBLE PRECISION DT
01360 !
01361 !     GRAVITY ACCELERATION
01362 !
01363       DOUBLE PRECISION GRAV
01364 !
01365 !     FRICTION COEFFICIENT
01366 !
01367       DOUBLE PRECISION FFON
01368 !
01369 !     COEFFICIENT OF CORIOLIS
01370 !
01371       DOUBLE PRECISION FCOR
01372 !
01373 !     COEFFICIENT OF WIND INFLUENCE
01374 !
01375       DOUBLE PRECISION FAIR
01376 !
01377 !     COMPONENTS OF WIND VELOCITY,ITS NORM AND DIRECTION
01378 !
01379       DOUBLE PRECISION FUAIR,FVAIR,WIND_SPD(2)
01380 !
01381 !     INITIAL VALUES OF TRACERS
01382 !
01383       DOUBLE PRECISION TRAC0(MAXTRA)
01384 !
01385 !     COEFFICIENT FOR DIFFUSION OF TRACERS
01386 !
01387       DOUBLE PRECISION DIFNU
01388 !
01389 !     IMPLICITATION FOR TRACERS
01390 !
01391       DOUBLE PRECISION TETAT
01392 !
01393 !     VELOCITY DIFFUSIVITY
01394 !
01395       DOUBLE PRECISION PROPNU
01396 !
01397 !     THRESHOLD VALUES FOR STOPPING THE COMPUTATION
01398 !
01399       DOUBLE PRECISION BORNES(8)
01400 !
01401 !     IMPLICITATION FOR DEPTH
01402 !
01403       DOUBLE PRECISION TETAC
01404 !
01405 !     IMPLICITATION FOR VELOCITY
01406 !
01407       DOUBLE PRECISION TETAU
01408 !
01409 !     IMPLICITATION FOR DIFFUSION OF VELOCITY
01410 !
01411       DOUBLE PRECISION TETAD
01412 !
01413 !     MASS-LUMPING COEFFICIENT ON H
01414 !
01415       DOUBLE PRECISION AGGLOC
01416 !
01417 !     MASS-LUMPING COEFFICIENT ON VELOCITY
01418 !
01419       DOUBLE PRECISION AGGLOU
01420 !
01421 !     MASS-LUMPING FOR WEAK CHARACTERISTICS
01422 !
01423       DOUBLE PRECISION AGGLOW
01424 !
01425 !     MINIMUM VALUE OF DEPTH
01426 !
01427       DOUBLE PRECISION HMIN
01428 !
01429 !     TIME STEP REDUCTION FOR K-EPSILON MODEL
01430 !
01431       DOUBLE PRECISION REDUC
01432 !
01433 !     MEAN DEPTH FOR LINEARIZATION
01434 !
01435       DOUBLE PRECISION HAULIN
01436 !
01437 !     WATER DENSITY
01438 !
01439       DOUBLE PRECISION ROEAU
01440 !
01441 !     LATITUDE OF ORIGIN POINT
01442 !
01443       DOUBLE PRECISION LAMBD0
01444 !
01445 !     ROUGHNESS COEFFICIENT OF BOUNDARIES
01446 !
01447       DOUBLE PRECISION SB
01448 !
01449 !     INITIAL ELEVATION
01450 !
01451       DOUBLE PRECISION COTINI
01452 !
01453 !     INITIAL DEPTH
01454 !
01455       DOUBLE PRECISION HAUTIN
01456 !
01457 !     PRESCRIBED FLOWRATES
01458 !
01459       DOUBLE PRECISION DEBIT(MAXFRO)
01460 !
01461 !     PRESCRIBED ELEVATIONS
01462 !
01463       DOUBLE PRECISION COTE(MAXFRO)
01464 !
01465 !     PRESCRIBED VELOCITIES
01466 !
01467       DOUBLE PRECISION VITES(MAXFRO)
01468 !
01469 !     PRESCRIBED TRACERS VALUES
01470 !
01471       DOUBLE PRECISION TRACER(MAXFRO*MAXTRA)
01472 !
01473 !     FLUXES AT BOUNDARIES
01474 !
01475       DOUBLE PRECISION FLUX_BOUNDARIES(MAXFRO)
01476 !
01477 !     ABSCISSAE, ORDINATES OF SOURCES
01478 !
01479       DOUBLE PRECISION XSCE(MAXSCE),YSCE(MAXSCE)
01480 !
01481 !     SOURCES WATER DISCHARGES TAKEN FROM THE STEERING FILE
01482 !
01483       DOUBLE PRECISION DSCE(MAXSCE)
01484 !
01485 !     SOURCES DISCHARGES WITH VARIATION IN TIME
01486 !
01487       DOUBLE PRECISION DSCE2(MAXSCE)
01488 !
01489 !     SOURCES TRACER DISCHARGES TAKEN FROM THE STERING FILE
01490 !
01491       DOUBLE PRECISION TSCE(MAXSCE,MAXTRA)
01492 !
01493 !     SOURCES OF TRACERS WITH VARIATIONS IN TIME
01494 !
01495       DOUBLE PRECISION TSCE2(MAXSCE,MAXTRA)
01496 !
01497 !     VELOCITIES OF THE SOURCES ALONG X,Y
01498 !
01499       DOUBLE PRECISION USCE(MAXSCE),VSCE(MAXSCE)
01500 !
01501 !     UPWIND COEFFICIENTS FOR SUPG (1:u and v, 2:h, 3:tracers, 4:k and epsilon)
01502 !
01503       DOUBLE PRECISION COSUPG(4)
01504 !
01505 !     STOP CRITERIA (ORDER: H,U AND V,T)
01506 !
01507       DOUBLE PRECISION CRIPER(3)
01508 !
01509 !     REFERENCE TEMPERATURE FOR COMPUTING DENSITY
01510 !
01511       DOUBLE PRECISION TMOY
01512 !
01513 !     DIRECTION OF NORTH, COUNTER-CLOCK-WISE, STARTING FROM VERTICAL AXIS
01514 !
01515       DOUBLE PRECISION NORD
01516 !
01517 !     NON-DIMENSIONAL DISPERSION COEFFICIENTS
01518 !
01519       DOUBLE PRECISION ELDER(2)
01520 !
01521 !     LONGITUDE OF ORIGIN POINT
01522 !
01523       DOUBLE PRECISION PHI0
01524 !
01525 !     MASS-LUMPING ON TRACERS
01526 !
01527       DOUBLE PRECISION AGGLOT
01528 !
01529 !     DURATION OF COMPUTATION
01530 !
01531       DOUBLE PRECISION DUREE
01532 !
01533 !     DESIRED COURANT NUMBER
01534 !
01535       DOUBLE PRECISION CFLWTD
01536 !
01537 !     MINIMUM DEPTH TO TAKE WIND INTO ACCOUNT
01538 !
01539       DOUBLE PRECISION HWIND
01540 !
01541 !     THRESHOLD FOR NEGATIVE DEPTHS
01542 !
01543       DOUBLE PRECISION HNEG
01544 !
01545 !     FREE SURFACE GRADIENT COMPATIBILITY
01546 !
01547       DOUBLE PRECISION TETAZCOMP
01548 !
01549 !     TIME RANGE FOR FOURIER ANALYSIS
01550 !
01551       DOUBLE PRECISION TAFBGN,TAFEND
01552 !
01553 !     CURRENT TIME
01554 !
01555       DOUBLE PRECISION AT
01556 !
01557 !     FOURIER ANALYSIS PERIODS
01558 !
01559       DOUBLE PRECISION PERIAF(50)
01560 !
01561 !     ARRAY OF REALS TO READ INTO SELAFIN FILES
01562 !
01563       REAL, ALLOCATABLE :: W(:)
01564 !
01565 !     TOLERANCES FOR IDENTIFICATION
01566 !
01567       DOUBLE PRECISION TOLEST(4)
01568 !
01569 !     NEWMARK TIME INTEGRATION COEFFICIENT
01570 !
01571       DOUBLE PRECISION GAMMA
01572 !
01573 !     ARRAY WITH STAGE-DISCHARGE CURVES
01574 !
01575       DOUBLE PRECISION, ALLOCATABLE :: QZ(:,:,:)
01576 !
01577 !     RAIN OR EVAPORATION IN MM PER DAY
01578 !
01579       DOUBLE PRECISION RAIN_MMPD
01580 !
01581 !     PHYSICAL CHARACTERISTICS OF THE TSUNAMI
01582 !
01583       DOUBLE PRECISION COETSUNAMI(10)
01584 !
01585 !     VALUES OF TRACERS IN THE RAIN
01586 !
01587       DOUBLE PRECISION TRAIN(MAXTRA)
01588 !
01589 !     COEFFICIENT TO CALIBRATE TIDAL RANGE
01590 !
01591       DOUBLE PRECISION CTIDE
01592 !
01593 !     COEFFICIENT TO CALIBRATE TIDAL VELOCITIES
01594 !
01595       DOUBLE PRECISION CTIDEV
01596 !
01597 !     COEFFICIENT TO CALIBRATE SEA LEVEL
01598 !
01599       DOUBLE PRECISION MSL
01600 !
01601 !     COEFFICIENT 1 FOR LAW OF TRACERS DEGRADATION
01602 !     (1 IN CASE OF FUTURE LAW WITH MORE COEF.)
01603       DOUBLE PRECISION COEF1TRAC(MAXTRA)
01604 !
01605 !     THRESHOLD DEPTH FOR RECEDING PROCEDURE
01606 !
01607       DOUBLE PRECISION HREC
01608 !
01609 !     DIAMETRE OF ALGAE
01610 !
01611       DOUBLE PRECISION DALGAE
01612 !
01613 !     DENSITY OF ALGAE
01614 !
01615       DOUBLE PRECISION RALGAE
01616 !
01617 !     THICKNESS OF ALGAE
01618 !
01619       DOUBLE PRECISION EALGAE
01620 !
01621 !     VALUE OF THE ATMOSPHERIC PRESSURE
01622 !
01623       DOUBLE PRECISION PATMOS_VALUE
01624 !
01625 !     PRODUCTION COEFFICIENT FOR SECONDARY CURRENTS
01626 !     DISSIPATION COEFFICIENT FOR SECONDARY CURRENTS
01627 !
01628       DOUBLE PRECISION SEC_AS,SEC_DS
01629 !
01630 !-----------------------------------------------------------------------
01631 !
01632 !       7) STRINGS
01633 !
01634 !-----------------------------------------------------------------------
01635 !
01636 !     TITLE OF STUDY
01637 !
01638       CHARACTER(LEN=72) TITCAS
01639 !
01640 !     VARIABLES FOR GRAPHIC PRINTOUT
01641 !
01642       CHARACTER(LEN=72) VARDES
01643 !
01644 !     INITIAL CONDITIONS
01645 !
01646       CHARACTER(LEN=72) CDTINI
01647 !
01648 !     VARIABLES TO BE PRINTED
01649 !
01650       CHARACTER(LEN=72) VARIMP
01651 !
01652 !     EQUATIONS
01653 !
01654       CHARACTER(LEN=20) EQUA
01655 !
01656 !     NAMES OF CLANDESTINE VARIABLES
01657 !
01658       CHARACTER(LEN=32) VARCLA(10)
01659 !
01660 !     NAMES AND UNITS OF VARIABLES
01661 !
01662       CHARACTER(LEN=32) TEXTE(MAXVAR),TEXTPR(MAXVAR)
01663 !
01664 !     NAMES OF REMARKABLE POINTS
01665 !
01666       CHARACTER(LEN=32) NAME_PTS(100)
01667 !
01668 !     NAMES OF TRACERS
01669 !
01670       CHARACTER(LEN=32) NAMETRAC(MAXVAR)
01671 !
01672 !-----------------------------------------------------------------------
01673 !
01674 !       8) SLVCFG STRUCTURES
01675 !
01676 !-----------------------------------------------------------------------
01677 !
01678 !     STRUCTURE WITH SOLVER FOR PROPAGATION
01679 !
01680       TYPE(SLVCFG) :: SLVPRO
01681 !
01682 !     STRUCTURE WITH SOLVER OPTIONS FOR K
01683 !
01684       TYPE(SLVCFG) :: SLVK
01685 !
01686 !     STRUCTURE WITH SOLVER OPTIONS FOR E
01687 !
01688       TYPE(SLVCFG) :: SLVEP
01689 !
01690 !     SOLVER FOR DIFFUSION OF TRACERS
01691 !
01692       TYPE(SLVCFG) :: SLVTRA(MAXTRA)
01693 !
01694 !-----------------------------------------------------------------------
01695 !
01696 !       9) MESH STRUCTURE
01697 !
01698 !-----------------------------------------------------------------------
01699 !
01700 !     MESH STRUCTURE
01701 !
01702       TYPE(BIEF_MESH) :: MESH
01703 !
01704 !-----------------------------------------------------------------------
01705 !
01706 !      10) ALIASES
01707 !
01708 !-----------------------------------------------------------------------
01709 !
01710 !     DECLARATION OF POINTERS FOR ALIASES.
01711 !     TARGETS ARE DEFINED IN POINT_TELEMAC2D.
01712 !
01713 !     ALIASES FOR WORKING VECTORS IN TB
01714 !
01715       TYPE(BIEF_OBJ),POINTER :: T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11
01716       TYPE(BIEF_OBJ),POINTER :: T12,T13,T14,T15,T16,T17,T18,T19,T20
01717       TYPE(BIEF_OBJ),POINTER :: T21,T22
01718 !
01719 !     ALIASES FOR VECTOR IN BLOCK PRIVE
01720 !
01721       DOUBLE PRECISION,POINTER :: PRIVE1(:),PRIVE2(:)
01722       DOUBLE PRECISION,POINTER :: PRIVE3(:),PRIVE4(:)
01723 !
01724 !     CONNECTIVITY TABLE
01725 !
01726       TYPE(BIEF_OBJ), POINTER :: IKLE
01727 !
01728 !     COORDINATES OF POINTS IN THE MESH
01729 !
01730       DOUBLE PRECISION, DIMENSION(:), POINTER :: X,Y
01731 !
01732 !     NUMBER OF ELEMENTS IN THE MESH
01733 !
01734       INTEGER, POINTER:: NELEM
01735 !
01736 !     MAXIMUM NUMBER OF ELEMENTS IN THE MESH
01737 !
01738       INTEGER, POINTER:: NELMAX
01739 !
01740 !     NUMBER OF BOUNDARY POINTS IN THE MESH
01741 !
01742       INTEGER, POINTER:: NPTFR
01743 !
01744 !     MAXIMUM NUMBER OF BOUNDARY POINTS IN THE MESH
01745 !
01746       INTEGER, POINTER:: NPTFRX
01747 !
01748 !     TYPE OF ELEMENT
01749 !
01750       INTEGER, POINTER:: TYPELM
01751 !
01752 !     NUMBER OF POINTS IN THE MESH
01753 !
01754       INTEGER, POINTER:: NPOIN
01755 !
01756 !     MAXIMUM NUMBER OF POINTS IN THE MESH
01757 !
01758       INTEGER, POINTER:: NPMAX
01759 !
01760 !     MAXIMUM NUMBER OF POINTS NEIGHBOURS OF A POINT
01761 !
01762       INTEGER, POINTER:: MXPTVS
01763 !
01764 !     MAXIMUM NUMBER OF ELEMENTS NEIGHBOURS OF A POINT
01765 !
01766       INTEGER, POINTER:: MXELVS
01767 !
01768 !     VECTOR LENGTH OF THE MACHINE
01769 !
01770       INTEGER, POINTER:: LV
01771 !
01772 !=======================================================================
01773 !
01774 !       ADDED DECLARATIONS FOR THE IDENTIFICATION OF PARAMETERS
01775 !
01776 !
01777 !-----------------------------------------------------------------------
01778 !
01779 !       1) VECTORS
01780 !
01781 !-----------------------------------------------------------------------
01782 !
01783 !     ADJOINT VARIABLES
01784 !
01785       TYPE(BIEF_OBJ), TARGET :: PP,QQ,RR
01786 !
01787 !     MEASUREMENTS
01788 !
01789       TYPE(BIEF_OBJ), TARGET :: UD,VD,HD
01790 !
01791 !     DIRECT VARIABLES AT ITERATION IT
01792 !
01793       TYPE(BIEF_OBJ), TARGET :: UU,VV,HH
01794 !
01795 !     DIRECT VARIABLES AT ITERATION IT+1
01796 !
01797       TYPE(BIEF_OBJ), TARGET :: UIT1,VIT1,HIT1
01798 !
01799 !     BOUNDARY VALUES FOR ADJOINT VARIABLE (ONLY DIRICHLET)
01800 !
01801       TYPE(BIEF_OBJ), TARGET :: PBOR,QBOR,RBOR
01802 !
01803 !     VECTOR USED TO CHANGE THE SET OF STRICKLERS
01804 !
01805       TYPE(BIEF_OBJ) :: DESC
01806 !
01807 !     GRADIENT OF COST FUNCTION (ITERATION K)
01808 !
01809       TYPE(BIEF_OBJ) :: GRADJ
01810 !
01811 !     GRADIENT OF COST FUNCTION (ITERATION K-1)
01812 !
01813       TYPE(BIEF_OBJ) :: GRADJN
01814 !
01815 !     SET OF STRICKLERS (ZONES): NEW
01816 !
01817       TYPE(BIEF_OBJ) :: SETSTR
01818 !
01819 !     SET OF STRICKLERS' (ZONES): OLD
01820 !
01821       TYPE (BIEF_OBJ) :: SETSTR2
01822 !
01823 !     GRADIENTS
01824 !
01825       TYPE(BIEF_OBJ) :: ALPHA1,ALPHA2,ALPHA3
01826 !
01827 !     VARIABLES TRANSMITTED FROM TOMAWAC TO SISYPHE
01828 !
01829       TYPE(BIEF_OBJ) :: DIRMOY,HM0,TPR5,ORBVEL
01830 !
01831 !
01832 !-----------------------------------------------------------------------
01833 !
01834 !       2) MATRICES
01835 !
01836 !-----------------------------------------------------------------------
01837 !
01838 !       MATRICES
01839 !
01840 !       SYSTEM SOLVED WILL BE :
01841 !
01842 !     ( TAM1  TCM1  TCM2 )   (PP )      ( CV1 )
01843 !     (                  )   (   )      (     )
01844 !     ( TBM1  TAM2  A23  )   (QQ )  =   ( CV2 )
01845 !     (                  )   (   )      (     )
01846 !     ( TBM2  A32   TAM3 )   (RR )      ( CV3 )
01847 !
01848 !
01849 !     MATRICES FOR ADJOINT SYSTEM
01850 !
01851       TYPE(BIEF_OBJ), TARGET :: TAM1,TAM2,TAM3,TBM1,TBM2,TCM1,TCM2
01852 !
01853 !-----------------------------------------------------------------------
01854 !
01855 !       3) BLOCKS
01856 !
01857 !-----------------------------------------------------------------------
01858 !
01859 !     BLOCKS OF MATRICES, RIGHT HAND SIDES AND UNKNOWNS
01860 !     FOR LINEAR SYSTEMS
01861 !
01862 !     BLOCKS OF MATRICES, RIGHT HAND SIDES FOR LINEAR SYSTEMS
01863 !
01864       TYPE(BIEF_OBJ), TARGET :: MATADJ
01865 !
01866 !     BLOCKS OF UNKNOWNS FOR LINEAR SYSTEMS
01867 !
01868       TYPE(BIEF_OBJ), TARGET :: UNKADJ
01869 !
01870 !     BLOCK OF ADJOINT VARIABLES FOR OUTPUT
01871 !
01872       TYPE(BIEF_OBJ), TARGET :: VARSORA
01873 !
01874 !     BLOCK OF DIRICHLET CONDITION FOR ADJOINT VARIABLES
01875 !
01876       TYPE(BIEF_OBJ), TARGET :: ADJDIR
01877 !
01878 !-----------------------------------------------------------------------
01879 !
01880 !     4) INTEGERS
01881 !
01882 !     NUMBER OF VARIABLES FOR LITENR (READ BY SKIPGEO)
01883 !
01884       INTEGER NVARRES
01885 !
01886 !     NUMBER OF ITERATIONS FOR PARAMETERS CALIBRATION
01887 !
01888       INTEGER NITERA
01889 !
01890 !-----------------------------------------------------------------------
01891 !
01892 !     5) LOGICALS
01893 !
01894 !     IF YES: ACTIVATES THE ADJOINT MODE IN TELEMAC2D/PROPAG
01895 !
01896       LOGICAL ADJO
01897 !
01898 !     WHETHER THE ADJOINT SYSTEM RESULTS ARE PRINTED; NB 100=MAXVAR
01899 !
01900       LOGICAL SORLEOA(100)
01901 !
01902 !     WHETHER ...; NB 100=MAXVAR
01903 !
01904       LOGICAL SORIMPA(100)
01905 !
01906 !-----------------------------------------------------------------------
01907 !
01908 !       6) STRINGS
01909 !
01910 !-----------------------------------------------------------------------
01911 !
01912 !     NAMES OF VARIABLES IN RES FILE
01913 !
01914       CHARACTER(LEN=32) TEXRES(100)
01915 !
01916 !     NAMES OF VARIABLES IN RBI FILE
01917 !
01918       CHARACTER(LEN=32) TEXRBI(100)
01919 !
01920 !     NAMES OF VARIABLES IN REF FILE
01921 !
01922       CHARACTER(LEN=32) TEXREF(100)
01923 !
01924 !     KEYWORD "PARAMETER ESTIMATION"
01925 !
01926       CHARACTER(LEN=72) ESTIME
01927 !
01928 !=======================================================================
01929 !
01930 !     COPY OF SUBMIT STRINGS IN THE DICTIONARY
01931 !
01932       CHARACTER(LEN=144) SUBMIT(4,300)
01933 !
01934 !-----------------------------------------------------------------------
01935 !
01936 !       7) FRICTION DEFINITION BY ZONE
01937 !
01938 !-----------------------------------------------------------------------
01939 !
01940 !     ???????
01941 !
01942       TYPE(FRICTION_OBJ), TARGET :: FRTAB
01943 !
01944 !     ???????
01945 !
01946       TYPE(BIEF_OBJ), TARGET :: KFROPT, NKFROT
01947 !
01948 !     ???????
01949 !
01950       TYPE(BIEF_OBJ), TARGET :: NDEFMA, LINDDP, LINDSP
01951 !
01952 !     ???????
01953 !
01954       TYPE(BIEF_OBJ), TARGET :: NDEF_B, KFRO_B
01955 !
01956 !     NUMBER OF ZONES
01957 !
01958       INTEGER:: NZONES
01959 !
01960 !     MAXIMUM NUMBER OF FRICTION DOMAINS
01961 !
01962       INTEGER:: NZONMX
01963 !
01964 !     IF YES, NON-SUBMERGED VEGETATION FRICTION
01965 !
01966       LOGICAL:: LINDNER
01967 !
01968 !     IF YES, FRICTION DATA
01969 !
01970       LOGICAL:: FRICTB
01971 !
01972 !     DEFAULT MANNING VALUE (FOR COLEBROOK-WHITE LAW)
01973 !
01974       DOUBLE PRECISION :: NDEF
01975 !
01976 !     DIAMETER OF ROUGHNESS ELEMENTS
01977 !
01978       DOUBLE PRECISION :: DP
01979 !
01980 !     SPACING OF ROUGHNESS ELEMENTS
01981 !
01982       DOUBLE PRECISION :: SP
01983 !
01984 !-----------------------------------------------------------------------
01985 !
01986 !      8) TELEMAC-2D FILES
01987 !
01988 !-----------------------------------------------------------------------
01989 !
01990 !     TELEMAC-2D FILES
01991 !
01992       TYPE(BIEF_FILE) :: T2D_FILES(MAXLU_T2D)
01993 !
01994 !-----------------------------------------------------------------------
01995 !
01996 !      9) SECTIONS
01997 !
01998 !-----------------------------------------------------------------------
01999 !
02000 !     FOR CONTROL SECTIONS
02001 !     ALLOCATED AND INITIALISED IN READ_SECTIONS_TELEMAC2D
02002 !
02003       TYPE (CHAIN_TYPE), ALLOCATABLE :: CHAIN(:)
02004 !
02005       SAVE
02006 !
02007       END MODULE DECLARATIONS_TELEMAC2D

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