The TELEMAC-MASCARET system  trunk
declarations_sisyphe.f
Go to the documentation of this file.
1 ! ***************************
3 ! ***************************
4 !
5 !
6 !***********************************************************************
7 ! SISYPHE V7P2
8 !***********************************************************************
9 !
10 !brief DECLARATION OF PRINCIPAL SISYPHE VARIABLES
11 !
12 !history CV
13 !+ 15/03/2009
14 !+
15 !+ ADDED VARIABLES MU, KS, KSP, KSR
16 !+
17 !+ VITCE AND VITCD ARE CONSTANT
18 !
19 !history JMH
20 !+ 13/08/2009
21 !+
22 !+ IT5 DELETED
23 !
24 !history CV+RK+UW
25 !+ 15/03/2011
26 !+
27 !+ ADDED VARIABLES MPM_ARRAY, MPM, MOFAC,ALPHA
28 !+
29 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
30 !+ 13/07/2010
31 !+ V6P0
32 !+ Translation of French comments within the FORTRAN sources into
33 !+ English comments
34 !
35 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
36 !+ 21/08/2010
37 !+ V6P0
38 !+ Creation of DOXYGEN tags for automated documentation and
39 !+ cross-referencing of the FORTRAN sources
40 !
41 !history MAK (HRW)
42 !+ 01/01/2012
43 !+ V6P2
44 !+ CHANGE create parameter for ratio depth averaged and reference concentration.
45 !+ CSRATIO
46 !
47 !history JWI (HRW)
48 !+ 31/05/2012
49 !+ V6P2
50 !+ added lines to include wave orbital velocities
51 !+ TYPE(BIEF_OBJ), TARGET :: DEL_UW
52 !
53 !history CV (EDF)
54 !+ 30/07/2012
55 !+ V6P2
56 !+ added new variable ZFCL_MS
57 !
58 !history Pablo Tassi PAT (EDF-LNHE)
59 !+ 12/02/2013
60 !+ V6P3
61 !+ Preparing for the use of a higher NSICLM value
62 !+ (by Rebekka Kopmann)
63 !
64 !history Pablo Tassi PAT (EDF-LNHE)
65 !+ 12/02/2013
66 !+ V6P3
67 !+ Settling lag: determines choice between Rouse and Miles concentration profile
68 !+ (by Michiel Knaapen HRW)
69 !
70 !history J-M HERVOUET (EDF-LAB, LNHE)
71 !+ 11/09/2015
72 !+ V7P1
73 !+ Arrays of size MAXFRO now allocatable.
74 !
75 !history R KOPMANN (BAW)
76 !+ 10/05/2016
77 !+ V7P2
78 !+ CALFA,SALFA dependent of grain classes
79 !
80 !history R. KOPMANN (BAW)
81 !+ 13/07/2016
82 !+ V7P2
83 !+ Integrating liquid boundary file for QS
84 !
85 !history R.KOPMANN (BAW)
86 !+ 07/12/2017
87 !+ V7P2
88 !+ VSPRES results file for CVSM handled by CAS-file.
89 !
90 !history B.GLANDER (BAW)
91 !+ 05/11/2018
92 !+ V7P2
93 !+ NEW VARIABLE: ZRL REFERENCE LEVEL FOR NESTOR
94 !
95 !history R.KOPMANN (BAW)
96 !+ 15/02/2019
97 !+ V7P2
98 !+ NEW VARIABLES: VOLNESTORCL,VOLNESTORCLA,VOLINI,VCUMUCL,RMASCL
99 !+ for mass balance per class including Nestor changes
100 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
102 !
103 !
104 ! NOTE: THIS MODULE IS ORGANISED IN 10 PARTS
105 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 !
107  USE bief_def
108 !
109 ! NOTE: THIS MODULE IS ORGANISED IN 10 PARTS
110 !
111 ! 1) VECTORS (WILL BE DECLARED AS BIEF_OBJ STRUCTURES)
112 ! 2) MATRICES (WILL BE DECLARED AS BIEF_OBJ STRUCTURES)
113 ! 3) BLOCKS (WILL BE DECLARED AS BIEF_OBJ STRUCTURES)
114 ! 4) INTEGERS
115 ! 5) LOGICAL VALUES
116 ! 6) REALS
117 ! 7) STRINGS
118 ! 8) SLVCFG STRUCTURES
119 ! 9) MESH STRUCTURE
120 ! 10) ALIASES
121 !
122 !-----------------------------------------------------------------------
123 !
124 ! 1) VECTORS
125 !
126 !-----------------------------------------------------------------------
127 !
128 ! EVOLUTION
129 !
130  TYPE(bief_obj), TARGET :: e
131 !
132 ! EVOLUTION SAVED FOR CONSTANT FLOW DISCHARGE
133 !
134  TYPE(bief_obj), TARGET :: ecpl
135 !
136 ! FREE SURFACE ELEVATION
137 !
138  TYPE(bief_obj), TARGET :: z
139 !
140 ! INCREMENT OF FREE SURFACE ELEVATION WHEN READING AN HYDRO FILE
141 !
142  TYPE(bief_obj), TARGET :: del_z
143 !
144 ! EVOLUTION DUE TO BEDLOAD
145 !
146  TYPE(bief_obj), TARGET :: zf_c
147 !
148 ! EVOLUTION DUE TO SUSPENSION
149 !
150  TYPE(bief_obj), TARGET :: zf_s
151 !
152 ! CUMULATED BED EVOLUTION
153 !
154  TYPE(bief_obj), TARGET :: esomt
155 !
156 ! MAXIMUM EVOLUTION
157 !
158  TYPE(bief_obj), TARGET :: emax
159 !
160 ! COMPONENTS OF DEPTH-AVERAGED FLOW RATE
161 !
162  TYPE(bief_obj), TARGET :: qu
163 !
164 ! COMPONENTS OF DEPTH-AVERAGED FLOW RATE
165 !
166  TYPE(bief_obj), TARGET :: qv
167 !
168 ! INCREMENTS OF FLOW RATE COMPONENTS WHEN READING AN HYDRO FILE
169 !
170  TYPE(bief_obj), TARGET :: del_qu
171 !
172 ! INCREMENTS OF FLOW RATE COMPONENTS WHEN READING AN HYDRO FILE
173 !
174  TYPE(bief_obj), TARGET :: del_qv
175 ! JWI 31/05/2012 - added lines to include wave orbital velocities
177 !
178  TYPE(bief_obj), TARGET :: del_uw
179 ! JWI END
180 !
181 ! FLOW RATE
182 !
183  TYPE(bief_obj), TARGET :: q
184 !
185 ! SOLID DISCHARGE
186 !
187  TYPE(bief_obj), TARGET :: qs
188 !
189 ! SOLID DISCHARGE ,ALONG X AND Y
190 !
191  TYPE(bief_obj), TARGET :: qsx,qsy
192 !
193 ! SOLID DISCHARGE (BEDLOAD)
194 !
195  TYPE(bief_obj), TARGET :: qs_c
196 !
197 ! SOLID DISCHARGE (BEDLOAD), ALONG X AND Y
198 !
199  TYPE(bief_obj), TARGET :: qsxc,qsyc
200 !
201 ! SOLID DISCHARGE (SUSPENSION)
202 !
203  TYPE(bief_obj), TARGET :: qs_s
204 !
205 ! SOLID DISCHARGE (SUSPENSION), ALONG X AND Y
206 !
207  TYPE(bief_obj), TARGET :: qsxs,qsys
208 !
209 ! WATER DEPTH
210 !
211  TYPE(bief_obj), TARGET :: hn
212 !
213 ! DEPTH AFTER CLIPPING
214 !
215  TYPE(bief_obj), TARGET :: hclip
216 !
217 ! COMPONENTS OF DEPTH-AVERAGED VELOCITY
218 !
219  TYPE(bief_obj), TARGET :: u2d,v2d
220 !
221 ! FLOW INTENSITY
222 !
223  TYPE(bief_obj), TARGET :: unorm
224 !
225 ! WATER DEPTH SAVED FOR CONSTANT FLOW DISCHARGE
226 !
227  TYPE(bief_obj), TARGET :: hcpl
228 !
229 ! IMPOSED BED EVOLUTION AT THE BOUNDARY
230 !
231  TYPE(bief_obj), TARGET :: ebor
232 !
233 ! IMPOSED SOLID TRANSPORT AT THE BOUNDARY
234 ! QBOR : IN M3/S, FOR EVERY CLASS
235 ! Q2BOR: IN M2/S, TOTAL, READ IN THE BOUNDARY CONDITIONS FILE
236 !
237  TYPE(bief_obj), TARGET :: qbor,q2bor
238 !
239 ! ZF VALUES ON BOUNDARIES
240 !
241  TYPE(bief_obj), TARGET :: flbor
242 !
243 ! BOTTOM ELEVATION
244 !
245  TYPE(bief_obj), TARGET :: zf
246 !
247 ! NON ERODABLE (RIGID) BOTTOM ELEVATION
248 !
249  TYPE(bief_obj), TARGET :: zr
250 !
251 ! REFERENCE ELEVATION
252 !
253  TYPE(bief_obj), TARGET :: zref
254 !
255 ! INTEGRAL OF BASES
256 !
257  TYPE(bief_obj), TARGET :: volu2d
258 !
259 ! INTEGRAL OF BASES IN PARALLEL
260 !
261  TYPE(bief_obj), TARGET :: v2dpar
262 !
263 ! INVERSE OF INTEGRAL OF BASES
264 !
265  TYPE(bief_obj), TARGET :: unsv2d
266 !
267 ! BOTTOM FRICTION COEFFICIENT (CHEZY, NIKURADSE OR STRICKLER)
268 !
269  TYPE(bief_obj), TARGET :: chestr
270 !
271 ! ANGLE BETWEEN QS AND Q
272 !
273  TYPE(bief_obj), TARGET :: calfa_cl
274 !
275 ! ANGLE BETWEEN QS AND Q
276 !
277  TYPE(bief_obj), TARGET :: salfa_cl
278 !
279 ! CURVE RADIUS FOR SECONDARY CURRENTS
280 !
281  TYPE(bief_obj), TARGET :: radsec
282 !
283 ! VOID STRUCTURE
284 !
285  TYPE(bief_obj), TARGET :: s
286 !
287 ! MASK ON POINTS
288 !
289  TYPE(bief_obj), TARGET :: maskpt
290 !
291 ! MASK
292 !
293  TYPE(bief_obj), TARGET :: masktr
294 !
295 ! MASK
296 !
297  TYPE(bief_obj), TARGET :: maskb
298 !
299 ! MASK
300 !
301  TYPE(bief_obj), TARGET :: maskel
302 !
303 ! MASK
304 !
305  TYPE(bief_obj), TARGET :: msktmp
306 !
307 ! WORKING ARRAYS
308 !
309  TYPE(bief_obj), TARGET :: w1
310 !
311 ! WAVE DATA
312 ! --------
313 !
314 ! WAVE DIRECTION (DEG WRT OX AXIS) !!!!!SOME SAY OY AXIS!!!!!
315 !
316  TYPE(bief_obj), TARGET :: thetaw
317 !
318 ! FRICTION COEFFICIENT (WAVES)
319 !
320  TYPE(bief_obj), TARGET :: fw
321 !
322 ! ORBITAL VELOCITY
323 !
324  TYPE(bief_obj), TARGET :: uw
325 !
326 ! SIGNIFICANT WAVE HEIGHT
327 !
328  TYPE(bief_obj), TARGET :: hw
329 !
330 ! MEAN WAVE PERIOD
331 !
332  TYPE(bief_obj), TARGET :: tw
333 !
334 !
335 !
336  TYPE(bief_obj), TARGET :: indic,ifamas
337 !
338 ! INTEGER WORKING ARRAYS
339 !
340  TYPE(bief_obj), TARGET :: it1,it2,it3,it4
341 !
342 ! TYPE OF BOUNDARY CONDITIONS ON BED EVOLUTION
343 !
344  TYPE(bief_obj), TARGET :: liebor
345 !
346 ! TYPE OF BOUNDARY CONDITIONS ON SAND TRANSPORT RATE
347 !
348  TYPE(bief_obj), TARGET :: liqbor
349 !
350 ! TYPE OF BOUNDARY CONDITIONS
351 !
352  TYPE(bief_obj), TARGET :: limtec
353 !
354 ! IMPACT OF THE SLOPE EFFECT ON AMPLITUDE
355 !
356  TYPE(bief_obj), TARGET :: coefpn
357 !
358 ! LIQUID BOUNDARY NUMBERING
359 !
360  TYPE(bief_obj), TARGET :: numliq
361 !
362 ! SHEAR STRESS
363 !
364  TYPE(bief_obj), TARGET :: tob
365 !
366 ! FRICTION COEFFICIENT
367 !
368  TYPE(bief_obj), TARGET :: cf
369 !
370 ! WAVE INDUCED SHEAR STRESS
371 !
372  TYPE(bief_obj), TARGET :: tobw
373 !
374 ! rapport entre la contrainte de frottement de peau et la contrainte totale
375 !
376  TYPE(bief_obj), TARGET :: mu
377 !
378 ! rugosite totale
379 !
380  TYPE(bief_obj), TARGET :: ks
381 !
382 ! rugosite de peau
383 !
384  TYPE(bief_obj), TARGET :: ksp
385 !
386 ! rugosite de ride
387 !
388  TYPE(bief_obj), TARGET :: ksr
389 !
390 ! BED LEVEL CHANGE FOR GRAIN-FEEDING
391 !
392  TYPE(bief_obj), TARGET :: dzf_gf
393 !
394 ! MEAN DIAMETER OF ACTIVE-LAYER
395 !
396  TYPE(bief_obj), TARGET :: acladm
397 !
398 ! MEAN DIAMETER OF UNDER-LAYER
399 !
400  TYPE(bief_obj), TARGET :: unladm
401 !
402 ! NUMBER OF LAYERS FOR EACH POINT
403 !
404  TYPE(bief_obj), TARGET :: nlayer
405 !
406 ! HIDING FACTOR FOR PARTICULAR SIZE CLASS
407 !
408  TYPE(bief_obj), TARGET :: hiding
409 !
410 !
411 !
412  TYPE(bief_obj), TARGET :: elay
413 !
414 ! ACTIVE STRATUM THICKNESS
415 !
416  TYPE(bief_obj), TARGET :: estrat
417 !
418 ! DEPOSITION FLUX
419 !
420  TYPE(bief_obj), TARGET :: fludp
421 !
422 ! DEPOSITION FLUX
423 !
424  TYPE(bief_obj), TARGET :: fludpt
425 !
426 ! EROSION FLUX
427 !
428  TYPE(bief_obj), TARGET :: fluer
429 !
430 ! EROSION FLUX
431 !
432  TYPE(bief_obj), TARGET :: fluert
433 !
434 ! CONCENTRATION AT TIME N
435 !
436  TYPE(bief_obj), TARGET :: cs
437 
438 ! MAK CHANGE create parameter for ratio depth averaged and reference concentration.
439 ! TYPE(BIEF_OBJ), TARGET :: CST, CTILD, CSTAEQ
440  TYPE(bief_obj), TARGET :: cst, ctild, cstaeq, csratio
441 !
442 ! IMPOSED SUSPENDED SAND CONCENTRATION AT THE BOUNDARY (DIM.NPTFR)
443 !
444  TYPE(bief_obj), TARGET :: cbor
445 !
446 ! CONCENTRATION IN G/L
447 !
448  TYPE(bief_obj), TARGET :: csgl
449 !
450 ! COMPONENTS OF VELOCITY VECTORS
451 !
452  TYPE(bief_obj), TARGET :: uconv,vconv
453 !
454 ! PROPAGATION HEIGHT
455 !
456  TYPE(bief_obj), TARGET :: hprop
457 !
458 !
459 !
460  TYPE(bief_obj), TARGET :: disp,disp_c
461 !
462 ! FLUX CONDITION NU DF/DN=AFBOR * F + BFBOR
463 !
464  TYPE(bief_obj), TARGET :: afbor,bfbor
465 !
466 ! FLUX AT THE BOUNDARIES
467 !
468  TYPE(bief_obj), TARGET :: flbor_sis
469 !
470 ! FLUX AT THE BOUNDARIES FOR TRACER
471 !
472  TYPE(bief_obj), TARGET :: flbortra
473 !
474 ! BOUNDARY CONDITIONS FOR SEDIMENT : LICBOR
475 ! TYPES OF BOUNDARY CONDITIONS FOR H : LIHBOR
476 ! TYPES OF BOUNDARY CONDITIONS FOR PROPAGATION : LIMPRO
477 ! POINTS : .1:H .2:U .3:V
478 ! SEGMENTS : .4:H .5:U .6:V
479 !
480 ! TYPE OF BOUNDARY CONDITIONS ON SUSPENDED SAND CONCENTRATION
481 !
482  TYPE(bief_obj), TARGET :: licbor
483 !
484 ! TYPE OF BOUNDARY CONDITIONS FOR H
485 !
486  TYPE(bief_obj), TARGET :: lihbor
487 !
488 ! TYPE OF BOUNDARY CONDITIONS FOR PROPAGATION
489 !
490  TYPE(bief_obj), TARGET :: limpro
491 !
492 ! TYPE OF BOUNDARY CONDITIONS FOR DIFFUSION
493 !
494  TYPE(bief_obj), TARGET :: limdif
495 !
496 ! LAST COLUMN OF THE BOUNDARY CONDITION FILE
497 !
498  TYPE(bief_obj), TARGET :: boundary_colour
499 !
500 ! BOUNDARY CONDITIONS FOR TRACER, U AND V (MODIFIED LITBOR, LIUBOR,LIVBOR)
501 !
502  TYPE(bief_obj), TARGET :: clt,clu,clv
503 !
504 ! WORK ARRAYS FOR ELEMENTS
505 !
506  TYPE(bief_obj), TARGET :: te1,te2,te3
507 !
508 ! COEFFICIENTS OF THE DISPERSION TENSOR (DIM. NPOIN)
509 !
510  TYPE(bief_obj), TARGET :: kx,ky,kz
511 !
512 ! ARRAY SAYING WHETHER THE NON-ERODABLE BOTTOM HAS BEEN REACHED (VF)
513 !
514  TYPE(bief_obj), TARGET :: breach
515 !
516 ! FOR MIXED SEDIMENTS
517 !
519 !
520 ! REFERENCE LEVEL FOR NESTOR
521  TYPE(bief_obj),TARGET :: zrl
522 !
523 !
524 !-----------------------------------------------------------------------
525 !
526 ! 2) MATRICES
527 !
528 !-----------------------------------------------------------------------
529 !
530 ! BOUNDARY MATRIX
531 !
532  TYPE(bief_obj), TARGET :: mbor
533 !
534 ! MATRICES
535 !
536  TYPE(bief_obj), TARGET :: am1_s,am2_s
537 !
538 !-----------------------------------------------------------------------
539 !
540 ! 3) BLOCKS
541 !
542 !-----------------------------------------------------------------------
543 !
544 ! BLOCK OF MASKS
545 !
546  TYPE(bief_obj), TARGET :: mask
547 !
548 ! BLOCKS OF WORKING ARRAYS
549 !
550  TYPE(bief_obj), TARGET :: tb,tb2
551 !
552 ! BLOCK OF PRIVATE VECTORS
553 !
554  TYPE(bief_obj), TARGET :: prive
555 !
556 ! BLOCK OF DIFFERENTIATED VECTORS
557 !
558  TYPE(bief_obj), TARGET :: advar
559 !
560 ! BLOCK OF CLANDESTINE VARIABLES
561 !
562  TYPE(bief_obj), TARGET :: varcl
563 !
564 ! BLOCK OF VARIABLES FOR INPUT
565 !
566  TYPE(bief_obj), TARGET :: varhyd
567 !
568 ! BLOCK OF VARIABLES FOR OUTPUT
569 !
570  TYPE(bief_obj), TARGET :: varsor
571 
572 ! UHM / PAT
573 
574 ! VERTICAL SORTING PROFILE: FRACTION FOR EACH LAYER, CLASS, POINT
575 
576  DOUBLE PRECISION,DIMENSION(:,:,:),TARGET,ALLOCATABLE::pro_f
577 
578 ! VERTICAL SORTING PROFILE: DEPTH FOR EACH LAYER, CLASS, POINT
579 
580  DOUBLE PRECISION,DIMENSION(:,:,:),TARGET,ALLOCATABLE::pro_d
581 
582 ! UHM / PAT
584 !
585 ! SEDIMENT FRACTION FOR EACH LAYER, CLASS, POINT
586 !
587  DOUBLE PRECISION,DIMENSION(:,:,:),TARGET,ALLOCATABLE::avail
588 !
589 ! LAYER THICKNESSES AS DOUBLE PRECISION
590 !
591  DOUBLE PRECISION,DIMENSION(:,:),TARGET,ALLOCATABLE :: es
592 !
593 ! LAYER THICKNESSES OF THE MUD AS DOUBLE PRECISION
594 !
595  DOUBLE PRECISION,DIMENSION(:,:),TARGET,ALLOCATABLE :: es_vase
596 !
597 ! LAYER THICKNESSES OF THE SAND AS DOUBLE PRECISION
598 !
599  DOUBLE PRECISION,DIMENSION(:,:),TARGET,ALLOCATABLE :: es_sable
600 !
601 ! SEDIMENT COMPOSITION
602 !
603  TYPE(bief_obj), TARGET :: avai
604 !
605 ! LAYER THICKNESSES
606 !
607  TYPE(bief_obj), TARGET :: laythi
609 !
610  TYPE(bief_obj), TARGET :: layconc
612 !
613  TYPE(bief_obj), TARGET :: qscl
615 !
616  TYPE(bief_obj), TARGET :: qscl_c
618 !
619  TYPE(bief_obj), TARGET :: qsclxc, qsclyc
621 !
622  TYPE(bief_obj), TARGET :: qscl_s
624 !
625  TYPE(bief_obj), TARGET :: qsclxs, qsclys
627 !
628  TYPE(bief_obj), TARGET :: zfcl
630 !
631  TYPE(bief_obj), TARGET :: zfcl_c
633 !
634  TYPE(bief_obj), TARGET :: zfcl_s
636 !
637  TYPE(bief_obj), TARGET :: zfcl_ms
638 
640 !
641  TYPE(bief_obj), TARGET :: mpm_aray
642 !
643 ! FLUX LIMITATION PER SEGMENT
644 !
645  TYPE(bief_obj), TARGET :: flulim
646 !
647 ! FLUXES AT BOUNDARY FOR EVERY CLASS
648 !
649  TYPE(bief_obj), TARGET :: flbcla
650 !
651 ! CV modifs V6P2 new variables for consolidation model
652 !
653 ! VOID INDEX OF BED LAYERS
654 !
655  DOUBLE PRECISION,DIMENSION(:,:),TARGET,ALLOCATABLE::ivide
656 !
657 ! CONCENTRATION OF BED LAYER
658 !
659  DOUBLE PRECISION,DIMENSION(:,:),TARGET,ALLOCATABLE::conc
660 !
661 !-----------------------------------------------------------------------
662 !
663 ! 4) INTEGERS
664 !
665 !-----------------------------------------------------------------------
666 !
667 ! KEYWORDS AND PARAMETERS
668 !
669 ! Maximum Layer Number in a VERTICAL SORTING PROFILE FOR EACH POINT (UHM)
670  INTEGER, ALLOCATABLE :: pro_max(:)
671 !
672 ! MAXIMUM NUMBER OF OUTPUT VARIABLES
673 !
674  INTEGER, PARAMETER :: maxvar = 500
675  INTEGER :: nvar_sis
676 !
677 ! MAXIMUM NUMBER OF (LIQUID BOUNDARIES, SOLID BOUNDARIES)
678 !
679  INTEGER maxfro
680 !
681 ! NUMBER OF LIQUID BOUNDARIES
682 !
683  INTEGER nfrliq
684 !
685 ! OPTION FOR THE DIFFUSION OF TRACER
686 !
687  INTEGER opdtra
688 !
689 ! OPTION FOR THE DISPERSION
690 !
691  INTEGER optdif
692 !
693 ! SUPG OPTION
694 !
695  INTEGER optsup
696 !
697 ! NUMBER OF ITERATIONS WITH CONSTANT FLOW DISCHARGE
698 !
699  INTEGER :: ncondis
700 !
701 ! LAW OF BOTTOM FRICTION
702 !
703  INTEGER kfrot
704 !
705 ! BED-LOAD TRANSPORT FORMULA
706 !
707  INTEGER icf
708 !
709  INTEGER, TARGET :: npas
710 !
711 ! NUMBER OF TIDES OR FLOODS
712 !
713  INTEGER nmaree
714 !
715  INTEGER, TARGET :: leopr
716 !
717  INTEGER,TARGET :: lispr
718 !
719  INTEGER nvarcl
720 !
722 !
723 ! standard du fichier de geometrie
724 !
725 ! INTEGER STDGEO
726 !
727 ! INTEGER LOGDES ,LOGPRE
728 !
729  INTEGER optban ,lvmac
730 !
731 ! HYDRODYNAMIC CODE
732 !
733 ! INTEGER HYDRO
734 !
735 ! MATRIX STORAGE
736 !
737  INTEGER optass
738 !
739 ! NUMBER OF SUB-ITERATIONS
740 !
741  INTEGER nsous
742 !
743 !
744 !
745  INTEGER mardat(3),martim(3),produc
746 !
747 ! OPTION FOR THE TREATMENT OF NON ERODABLE BEDS
748 !
749  INTEGER choix
750 !
751  INTEGER ptinil,ptinig
752 !
753 ! NUMBER OF PRIVATE ARRAYS, NUMBER OF PRIVATE ARRAYS WITH GIVEN NAME
754 !
756 !
757 ! NUMBER OF DIFFERENTIATING ARRAYS, AND THOSE WITH A GIVEN NAME
758 !
760 !
761 ! NUMBER OF DIRECTIONS FOR DIFFERENTIATING in VECTOR MODES
762 !
763  INTEGER ad_numofdir
764 !
765 ! COUPLING PERIOD
766 !
767  INTEGER, TARGET :: percou
768 !
769 ! NUMERO DU PAS DE TEMPS
770 !
771  INTEGER, TARGET :: lt
772 !
773  INTEGER resol
774 !
775 ! FORMULA FOR DEVIATION
776 !
777  INTEGER devia
778 !
779 ! FORMULA FOR SLOPE EFFECT
780 !
781  INTEGER slopeff
782 !
783 ! NON-EQUILIBRIUM BEDLOAD AND NON-UNIFORM BED MATERIA (BMD AND MGDL)
784 ! --------
785 !
786 ! MAXIMUM NUMBER OF SIZE-CLASSES
787 !
788  INTEGER, PARAMETER :: nsiclm = 10
789 !
790 ! NUMBER OF SIZE-CLASSES OF BED MATERIAL (LESS THAN 10)
791 !
792  INTEGER, TARGET :: nsicla
793 !
794 ! MAXIMUM NUMBER OF LAYERS ON THE MESH
795 !
796  INTEGER, PARAMETER :: nlaymax = 20
797 !
798 ! NUMBER OF BED LOAD MODEL LAYERS
799 !
800  INTEGER nomblay
801 !
802 ! FORMULATION FOR THE HIDING FACTOR
803 !
804  INTEGER hidfac
805 !
806  INTEGER :: loadmeth
807 !
808 ! DEBUGGER
809 !
810  INTEGER :: debug
811 !
812 ! REFERENCE CONCENTRATION FORMULA
813 !
814  INTEGER :: icq
815 !
816 ! NUMBER OF CONTROL SECTIONS POINTS
817 !
818  INTEGER ncp
819 !
820 ! ARRAY CONTAINING THE GLOBAL NUMBER OF THE POINTS IN THE CONTROL SECTIONS
821 !
822  INTEGER, ALLOCATABLE :: ctrlsc(:)
823 !
824 ! COORDINATES OF THE ORIGIN
825 !
826  INTEGER i_orig,j_orig
827 !
828 ! NUMBER OF LAYERS FOR CONSOLIDATION
829 !
830  INTEGER ncouch_tass
831 !
832 ! SKIN FRICTION CORRECTION
833 !
834  INTEGER icr
835 !
836 ! BED ROUGHNESS PREDICTOR OPTION
837 !
838  INTEGER iks
839 !
840 ! CONSOLIDATION MODEL
841 !
842  INTEGER itass
843 !
844 ! TREATMENT OF FLUXES AT THE BOUNDARIES
845 !
846  INTEGER dirflu
847 !
848 ! NUMBER OF GIVEN SSOLID DISCHARGES GIVEN BY USER
849 !
850  INTEGER nsoldis
851 !
852 !// UHM // For the Continous Vertical Sorting MODEL
853 !
854 ! Type of the Vertical Grain Sorting: Hirano Layers or Continous-VSM
855 !
856  INTEGER vsmtype
857 !
858 ! Maximum Number of Profile SECTIONS
859 !
860  INTEGER pro_max_max
861 !
862 ! Printout Period for Full Vertical Sorting Model: PRO_D & PRO_F
863 !
864  INTEGER cvsmpperiod
865 !
866 ! CHOOSE POINTS or FULL MODEL AS PRINTOUT
867 !
868  INTEGER cvsmoutput(100) !Limited to 100 for no specific reason
869 !
870 ! CHOOSE A MODEL FOR ESTIMATION OF A DYNAMIC ACTIVE LAYER THICKNESS
871 !
872  INTEGER alt_model
873 !
874 ! MAXIMUM NUMBER OF ITERATIONS FOR ADVECTION SCHEMES
875 !
876  INTEGER maxadv
877 !
878 ! SCHEME OPTION FOR ADVECTION
879 !
880  INTEGER optadv
881 !
882 ! NUMBER OF CORRECTIONS FOR DISTRIBUTIVE SCHEMES
883 ! NUMBER OF SUB-STEPS FOR DISTRIBUTIVE SCHEMES
884 !
885  INTEGER nco_dist,nsp_dist
886 !
887 !-----------------------------------------------------------------------
888 !
889 ! 5) LOGICAL VALUES
890 !
891 !-----------------------------------------------------------------------
892 !
893 ! USED IN FUNCTION CGL
894 !
895  LOGICAL, ALLOCATABLE :: okcgl(:)
896 !
897 ! USED IN FUNCTION QGL!
898 !
899  LOGICAL, ALLOCATABLE :: okqgl(:)
900 !
901 ! C-VSM WRITES OUT (OR NOT) IN THIS TIMESTEP
902 !
903  LOGICAL :: cvsm_out !UHM
904 
905 ! C-VSM_FULL WRITES OUT (OR NOT) EVER
906 !
907  LOGICAL :: cvsm_out_full !UHM
908 !
909 ! GRAPHICAL OUTPUT
910 !
911  LOGICAL :: sorleo(maxvar)
912 !
913 ! LISTING OUTPUT
914 !
915  LOGICAL :: sorimp(maxvar)
916 !
917 ! MASKING
918 !
919  LOGICAL :: msk
920 !
921 ! WRITES OUT (OR NOT)
922 !
923  LOGICAL :: entet
924 !
925 ! RESOLUTION FOR SUSPENSION IS IMPLICIT (OR NOT)
926 !
927  LOGICAL :: yasmi
928 !
929 ! SPHERICAL EQUATIONS (HARD-CODED)
930 !
931  LOGICAL :: spheri
932 !
933 ! STEADY HYDRODYNAMICS
934 !
935  LOGICAL :: perma
936 !
937 ! TIDAL FLATS
938 !
939  LOGICAL :: bandec
940 !
941 ! WAVE EFFECT
942 !
943  LOGICAL :: houle
944 !
945 ! FALL VELOCITY (PARTIALLY HARD-CODED)
946 !
947  LOGICAL :: calwc
948 !
949 ! SHIELDS PARAMETER
950 !
951  LOGICAL :: calac
952 !
953 ! BEDLOAD
954 !
955  LOGICAL, TARGET :: charr
956 !
957 ! LOADING LAW USED OR NOT
958 !
959  LOGICAL :: noequbed
960 !
961 ! FINITE VOLUMES
962 !
963  LOGICAL :: vf
964 !
965 ! MASS-LUMPING
966 !
967  LOGICAL :: lumpi
968 !
969 ! CONSTANT FLOW DISCHARGE
970 !
971  LOGICAL :: lcondis
972 !
973 ! GRAIN-FEEDING
974 !
975  LOGICAL :: lgrafed
976 !
977 ! CONSTANT ACTIVE LAYER THICKNESS
978 !
979  LOGICAL :: const_alayer
980 !
981 ! SUSPENSION
982 !
983  LOGICAL, TARGET :: susp
984 !
985 ! MASS BALANCE
986 !
987  LOGICAL :: bilma
988 !
989 ! VALIDATION
990 !
991  LOGICAL :: valid
992 !
993 ! IMPOSED CONCENTRATION IN INFLOW
994 !
995  LOGICAL :: imp_inflow_c
996 !
997 ! SECONDARY CURRENTS
998 !
999  LOGICAL :: seccurrent
1000 !
1001 ! SECONDARY CURRENTS RADII FILE
1002 !
1003  LOGICAL :: havesecfile
1004 !
1005 ! MASS CONCENTRATIONS IN G/L
1006 !
1007  LOGICAL :: unit
1008 !
1009 ! CORRECTION ON CONVECTION VELOCITY
1010 !
1011  LOGICAL :: corr_conv
1012 !
1013 ! COMPUTATION CONTINUED
1014 !
1015  LOGICAL :: debu
1016 !
1017 ! DIFFUSION OF SUSPENDED SEDIMENT CONCENTRATION
1018 !
1019  LOGICAL :: dift
1020 !
1021 ! SEDIMENT SLIDE
1022 !
1023  LOGICAL :: slide
1024 !
1025 ! COHESIVE SEDIMENTS (FOR EACH CLASS)
1026 !
1027  LOGICAL :: sedco(nsiclm)
1028 !
1029 ! CONSOLIDATION TAKEN INTO ACCOUNT
1030 !
1031  LOGICAL :: tass
1032 !
1033 ! MIXED SEDIMENTS
1034 !
1035  LOGICAL :: mixte
1036 !
1037 ! COUPLING WITH NESTOR
1038 !
1039  LOGICAL :: nestor
1040 !
1041 ! BED FRICTION PREDICTION
1042 !
1043  LOGICAL :: kspred
1044 !
1045 ! Settling lag: determines choice between Rouse and Miles concentration profile
1046 ! SET_LAG = TRUE : Miles
1047 ! = FALSE: Rouse
1048 !
1049  LOGICAL :: set_lag
1050 !
1051 ! STATIONARY MODE: calculate sediment transport without updating the bed.
1052 !
1053  LOGICAL :: stat_mode
1054 !
1055 ! FLUXLINE
1056 !
1057  LOGICAL :: doflux
1058 !
1059 !-----------------------------------------------------------------------
1060 !
1061 ! 6) REALS
1062 !
1063 !-----------------------------------------------------------------------
1064 !
1065  DOUBLE PRECISION rc
1066 !
1067 ! WATER DENSITY
1068 !
1069  DOUBLE PRECISION xmve
1070 !
1071 ! SAND DENSITY
1072 !
1073  DOUBLE PRECISION xmvs
1074 !
1075 ! COEFFICIENT FUNCTION OF THE POROSITY
1076 !
1077  DOUBLE PRECISION, TARGET :: xkv
1078 !
1079 ! GRAVITY ACCELERATION
1080 !
1081  DOUBLE PRECISION grav
1082 !
1083  DOUBLE PRECISION sfon
1084 !
1085 ! FLOW VISCOSITY
1086 !
1087  DOUBLE PRECISION vce
1088 !
1089  DOUBLE PRECISION teta
1090 !
1091 ! MINIMAL VALUE OF THE WATER HEIGHT
1093  DOUBLE PRECISION hmin
1094 !
1095  DOUBLE PRECISION beta
1096  DOUBLE PRECISION, TARGET :: delt
1097 !
1098 ! TIDAL PERIOD
1099 !
1100  DOUBLE PRECISION pmaree
1101 !
1102 ! STARTING TIME OF THE HYDROGRAM
1103 !
1104  DOUBLE PRECISION, TARGET :: tprec
1105 !
1106  DOUBLE PRECISION phi0
1107 !
1108 ! TIME STEP
1109 !
1110  DOUBLE PRECISION, TARGET :: dt
1111 !
1112 ! CRITERION TO UPDATE THE FLOW (WITH CONSTANT FLOW DISCHARGE)
1113 !
1114  DOUBLE PRECISION :: crit_cfd
1115 !
1116  DOUBLE PRECISION :: fracsed_gf(nsiclm)
1117 !
1118 ! INITIAL SUSPENSION CONCENTRATIONS
1119 !
1120  DOUBLE PRECISION :: cs0(nsiclm)
1121 !
1122 ! MASS EXCHANGED BY SOURCE TERM
1123 !
1124  DOUBLE PRECISION massou
1125 !
1126  DOUBLE PRECISION, TARGET :: csf_sable
1127 !
1128 ! SETTLING VELOCITIES
1129 !
1130  DOUBLE PRECISION, TARGET :: xwc(nsiclm)
1131 !
1132 ! CRITICAL SHIELDS PARAMETER
1133 !
1134  DOUBLE PRECISION, TARGET :: ac(nsiclm)
1135 !
1136 ! TETA SUSPENSION
1137 !
1138  DOUBLE PRECISION teta_susp
1139 !
1140  DOUBLE PRECISION xkx, xky
1141 !
1142 ! FRICTION ANGLE OF THE SEDIMENT
1143 !
1144  DOUBLE PRECISION, TARGET :: phised
1145 !
1146 ! PARAMETER FOR DEVIATION
1147 !
1148  DOUBLE PRECISION, TARGET :: beta2
1149 !
1150 ! HIDING FACTOR FOR PARTICULAR SIZE CLASS WHEN THE USER SUBROUTINE INIT_HIDING IS NOT USED
1151 !
1152  DOUBLE PRECISION hidi(nsiclm)
1153 !
1154 ! D90
1155 !
1156  DOUBLE PRECISION fd90(nsiclm)
1157 !
1158 ! SEDIMENT DIAMETERS
1159 !
1160  DOUBLE PRECISION, TARGET :: fdm(nsiclm)
1161 !
1162 ! INITIAL SEDIMENT COMPOSITION FOR PARTICULAR SIZE CLASS WHEN INIT_COMPO IS NOT USED
1163 !
1164  DOUBLE PRECISION ava0(nsiclm)
1165 !
1166 ! WANTED ACTIVE LAYER THICKNESS; ELAYO=FIXED VALUE, ELAY=REAL VALUE FOR EACH POINT; WHEN ENOUGH SEDIMENT ELAY = ELAY0
1167 !
1168  DOUBLE PRECISION elay0
1169 !
1170 ! TOTAL VOLUME OF SEDIMENT IN EACH CLASS
1171 !
1172  DOUBLE PRECISION voltot(nsiclm)
1173 !
1174 ! INITIAL VOLUME OF SEDIMENT IN EACH CLASS
1175 !
1176  DOUBLE PRECISION volini(nsiclm)
1177 !
1178 ! CUMULATED NESTOR VOLUME PER CLASS
1179 !
1180  DOUBLE PRECISION volnestorcl(nsiclm)
1181 !
1182 ! NESTOR VOLUME PER CLASS AND TIME STEP
1183 !
1184  DOUBLE PRECISION volnestorcla(nsiclm)
1185 !
1186 ! CUMULATED VOLUME OF FLUXES OVER BOUNDARIES PER CLASS
1187 !
1188  DOUBLE PRECISION vcumucl(nsiclm)
1189 !
1190 ! CUMULATED VOLUME OF EVOLUTION PER CLASS
1191 !
1192  DOUBLE PRECISION rmascl(nsiclm)
1193 !
1194 ! CRITICAL SHEAR VELOCITY FOR MUD DEPOSITION
1195 !
1196  DOUBLE PRECISION :: vitcd
1197 !
1198 ! CRITICAL EROSION SHEAR VELOCITY OF THE MUD
1199 !
1200  DOUBLE PRECISION :: vitce
1201 !
1202 ! SUSPENDED MASS BALANCE
1203 !
1204  DOUBLE PRECISION :: mased0(nsiclm)
1206 ! SUSPENDED MASS BALANCE
1208  DOUBLE PRECISION :: masini(nsiclm)
1209  DOUBLE PRECISION :: masten(nsiclm),mastou(nsiclm)
1210  DOUBLE PRECISION :: mastcp(nsiclm),masfin(nsiclm)
1211  DOUBLE PRECISION :: masdep(nsiclm),masdept(nsiclm)
1212 !
1213 ! FOR MASS BALANCE OF COHESIVE SEDIMENT AND MIXTE
1214 !
1215  DOUBLE PRECISION :: masvt,masv0,masst,mass0
1216 !
1217 ! FOR NON-EQUILIBIRUM BEDLOAD
1218 !
1219  DOUBLE PRECISION :: ls0
1220 !
1221 ! RATIO BETWEEN SKIN FRICTION AND MEAN DIAMETER
1222 !
1223  DOUBLE PRECISION, TARGET :: kspratio
1224 !
1225 ! KARIM, HOLLY & YANG CONSTANT
1226 !
1227  DOUBLE PRECISION :: karim_holly_yang
1228 !
1229 ! KARMAN CONSTANT
1230 !
1231  DOUBLE PRECISION :: karman
1232 !
1233 ! PARTHENIADES CONSTANT
1234 !
1235  DOUBLE PRECISION, TARGET :: partheniades
1236 !
1237 ! MAXIMUM CONCENTRATION
1238 !
1239  DOUBLE PRECISION :: cmax
1240 !
1241 ! PI
1242 !
1243  DOUBLE PRECISION :: pi
1244 !
1245 ! Meyer Peter Mueller-Coefficient
1246 !
1247  DOUBLE PRECISION, TARGET :: mpm
1248 !
1249 ! Secondary Current Alpha Coefficient
1250 !
1251  DOUBLE PRECISION, TARGET :: alpha
1252 !
1253 ! Morphological Factor
1254 !
1255  DOUBLE PRECISION :: mofac
1256 !
1257 ! ZERO OF THE CODE
1258 !
1259  DOUBLE PRECISION :: zero
1260 !
1261 ! B VALUE FOR THE BIJKER FORMULA
1262 !
1263  DOUBLE PRECISION :: bijk
1264 !
1265 ! MUD CONCENTRATION AT BOUNDARIES FOR EACH CLASS
1266 !
1267  DOUBLE PRECISION, ALLOCATABLE, TARGET :: cbor_classe(:)
1268 !
1269 ! MUD CONCENTRATION FOR EACH LAYER (Constant)
1270 !
1271  DOUBLE PRECISION :: conc_vase(nlaymax)
1272 !
1273 ! MASS TRANSFER BETWEEN LAYERS
1274 !
1275  DOUBLE PRECISION :: trans_mass(nlaymax)
1276 !
1277 ! CRITICAL EROSION SHEAR STRESS OF THE MUD PER LAYER
1278 !
1279  DOUBLE PRECISION :: toce_vase(nlaymax)
1280 !
1281 ! CRITICAL EROSION SHEAR STRESS OF THE SAND
1282 !
1283  DOUBLE PRECISION :: toce_sable
1284 !
1285 ! THIEBOT MODEL
1286 !
1287  DOUBLE PRECISION :: conc_gel, coef_n,conc_max
1288 !
1289 ! PRESCRIBED SOLID DISCHARGES
1290 !
1291  DOUBLE PRECISION, ALLOCATABLE :: soldis(:)
1292 !
1293 ! FOR MASS BALANCE OF COHESIVE SEDIMENT
1294 !
1295  DOUBLE PRECISION :: masbed0,masbed
1296 !
1297 ! MINIMUM DEPTH FOR BEDLOAD
1298 !
1299  DOUBLE PRECISION :: hmin_bedload
1300 !
1301 ! SAND FRACTION
1302 !
1303  DOUBLE PRECISION, ALLOCATABLE :: sanfra(:)
1304 !
1305 !-----------------------------------------------------------------------
1306 !
1307 ! 7) STRINGS
1309 !-----------------------------------------------------------------------
1311 !
1312  CHARACTER(LEN=72) titca,sortis,varim
1313 !
1314  CHARACTER(LEN=3) bingeosis,binpresis,binhydsis
1315 !
1316  CHARACTER(LEN=3) binressis,binrefsis
1317 !
1318 ! FOR CLANDESTINE VARIABLES
1319 !
1320  CHARACTER(LEN=32) varcla(nsiclm),texte(maxvar),textpr(maxvar)
1321 !
1322 ! NAMES OF PRIVATE ARRAYS (GIVEN BY USER)
1323 !
1324  CHARACTER(LEN=32) names_prive(4)
1325 !
1326 ! NAMES OF DIFFERENTING ARRAYS (GIVEN BY USER)
1327 !
1328  CHARACTER(LEN=32) names_advar(maxvar)
1329 !
1330 ! EQUATION SOLVED
1331 !
1332  CHARACTER(LEN=20) equa
1333 !
1334 ! MNEMO OF VARIABLES FOR GRAPHIC PRINTOUTS (B FOR BOTTOM, ETC.)
1335 !
1336  CHARACTER(LEN=8) mnemo(maxvar)
1337 !
1338  CHARACTER(LEN=PATH_LEN) couplingsis
1339 !
1340 !-----------------------------------------------------------------------
1341 !
1342 ! 8) SLVCFG STRUCTURES
1343 !
1344 !-----------------------------------------------------------------------
1345 !
1346  TYPE(slvcfg) :: slvsed
1347 !
1348  TYPE(slvcfg) :: slvtra
1349 !
1350 !-----------------------------------------------------------------------
1351 !
1352 ! 9) MESH STRUCTURE
1353 !
1354 !-----------------------------------------------------------------------
1355 !
1356 ! MESH STRUCTURE
1357 !
1358  TYPE(bief_mesh),TARGET :: mesh
1359 !
1360 !-----------------------------------------------------------------------
1361 !
1362 ! 10) ALIASES
1363 !
1364 !-----------------------------------------------------------------------
1365 !
1366 ! DECLARATION OF POINTERS FOR ALIASES
1367 ! TARGETS ARE DEFINED IN POINT_TELEMAC2D
1369 ! ALIASES FOR WORK VECTORS IN TB
1370 !
1371  TYPE(bief_obj),POINTER :: t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12
1372  TYPE(bief_obj),POINTER :: t13,t14
1373 !
1374 !
1375 ! USEFUL COMPONENTS IN STRUCTURE MESH
1377 !
1378 ! CONNECTIVITY TABLE
1379 !
1380  TYPE(bief_obj), POINTER :: ikle
1381 !
1382 ! 2D COORDINATES OF THE MESH
1383 !
1384  DOUBLE PRECISION, DIMENSION(:), POINTER :: x,y
1385 !
1386 ! NUMBER OF ELEMENTS IN THE MESH
1387 !
1388  INTEGER, POINTER:: nelem
1389 !
1390 ! MAXIMUM NUMBER OF ELEMENTS IN THE MESH
1391 !
1392  INTEGER, POINTER:: nelmax
1393 !
1394 ! NUMBER OF BOUNDARY POINTS, MAXIMUM NUMBER
1395 !
1396  INTEGER, POINTER:: nptfr,nptfrx
1397 !
1398  INTEGER, POINTER:: typelm
1399 !
1400 ! NUMBER OF 2D POINTS IN THE MESH
1401 !
1402  INTEGER, POINTER:: npoin
1403 !
1404  INTEGER, POINTER:: npmax
1405 !
1406  INTEGER, POINTER:: mxptvs
1407 !
1408  INTEGER, POINTER:: mxelvs
1409 !
1410  INTEGER, POINTER:: lv
1411 !
1412 !-----------------------------------------------------------------------
1413 !
1414 ! 11) SISYPHE FILES + INTEGER DECLARATION FOR MED APPROACH
1415 !
1416 !-----------------------------------------------------------------------
1417 !
1418 ! MAXIMUM RANK OF LOGICAL UNITS AS DECLARED IN SUBMIT STRINGS IN THE DICTIONARY
1419 !
1420  INTEGER, PARAMETER :: maxlu_sis = 46
1421 !
1422 ! FOR STORING INFORMATION ON FILES
1423 !
1424  TYPE(bief_file), TARGET :: sis_files(maxlu_sis)
1426 ! VARIOUS FILES RANKS, WHICH ARE ALSO LOGICAL UNITS IF NO COUPLING
1428  INTEGER, TARGET :: sisres,sisref,sispre
1429  INTEGER, TARGET :: sishyd,siscou,sisgeo,siscli,siscas
1430  INTEGER sisfon,sissec,sisseo,sisliq,sisflx
1431  INTEGER sinact, sinpol, sinref, sinrst ! nestor
1432  INTEGER vspres
1433 
1434 !-----------------------------------------------------------------------
1435 !
1436 ! 12) SECTIONS
1437 !
1438 !-----------------------------------------------------------------------
1439 !
1440  type(chain_type), ALLOCATABLE :: chain(:)
1442 ! SAVED VARIABLE
1443 !
1444  ! fluxpr_sisyphe
1445  DOUBLE PRECISION, ALLOCATABLE :: work(:),workb(:)
1446  LOGICAL :: init_fluxpr=.true.
1447  ! read_fic_conc
1448  INTEGER, PARAMETER :: maxval_rfc=50
1450  DOUBLE PRECISION tl1_rfc,tl2_rfc,lastat_rfc
1451  DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: infic_rfc
1452  DOUBLE PRECISION, DIMENSION(:) , ALLOCATABLE :: time_rfc
1454  LOGICAL :: deja_rfc = .false.
1455  !LEO new variable for node_Depth of sisyphe
1456  DOUBLE PRECISION, ALLOCATABLE, TARGET :: tds_sis_node_depth(:)
1457  DOUBLE PRECISION, ALLOCATABLE,
1459  DOUBLE PRECISION, ALLOCATABLE, TARGET :: tds_hn(:)
1460  ! sisyphe
1461  DOUBLE PRECISION :: vcumu! FOR THE BALANCE
1462  DOUBLE PRECISION :: mass_gf! FOR GRAIN-FEEDING
1463  LOGICAL :: pass,pass_susp ! IDENTIFIES 1ST TIMESTEP
1464  INTEGER :: nidt, ncalcu, numen, nit, valnit !
1465  DOUBLE PRECISION :: at0 ! TIME
1466  ! flusec_sisyphe
1467  LOGICAL :: deja_flusec = .false.
1468  INTEGER, ALLOCATABLE :: nseg(:),liste(:,:,:)
1469  DOUBLE PRECISION, ALLOCATABLE :: volnegs(:),volposs(:)
1470  DOUBLE PRECISION, ALLOCATABLE :: volnegc(:),volposc(:)
1471  DOUBLE PRECISION, ALLOCATABLE :: flx(:),volneg(:),volpos(:)
1472  DOUBLE PRECISION, ALLOCATABLE :: flxs(:),flxc(:)
1473  LOGICAL :: old_method_flusec=.false.
1474  ! flusec_sis
1475  TYPE fluxline
1476  INTEGER, ALLOCATABLE :: sectionids(:)
1477  INTEGER, ALLOCATABLE :: direction(:)
1478  INTEGER :: nofsections
1479  END TYPE fluxline
1481  LOGICAL :: deja_flusec2 = .false.
1482  TYPE(fluxline), ALLOCATABLE :: fluxlinedata_flusec2(:)
1483  DOUBLE PRECISION, ALLOCATABLE :: flux_flusec2(:,:)
1484  DOUBLE PRECISION, ALLOCATABLE :: volflux_flusec2(:,:)
1485  INTEGER :: numberoflines_flusec2
1486  DOUBLE PRECISION time_flusec2
1487 !
1488  SAVE
1489 !
1490 
1491  END MODULE declarations_sisyphe
1492 
character(len=8) lastwhat_rfc
type(bief_obj), target del_qu
type(bief_obj), target zf_s
type(bief_obj), target cstaeq
double precision, dimension(:), allocatable volposs
type(bief_obj), target thetaw
type(bief_obj), target hcpl
type(bief_obj), target maskpt
double precision, dimension(:), allocatable, target cbor_classe
double precision, dimension(:), allocatable sanfra
type(bief_obj), target laythi
type(bief_obj), target msktmp
type(bief_obj), target numliq
type(bief_obj), target limdif
type(bief_obj), target w1
type(bief_obj), target ksp
double precision, target phised
double precision, dimension(nsiclm) mased0
integer, parameter maxvar
type(bief_obj), target am2_s
type(bief_obj), target del_uw
type(bief_obj), target unsv2d
type(bief_obj), target vconv
type(bief_obj), target del_qv
type(bief_obj), target indic
type(bief_obj), target e
double precision, dimension(nsiclm) hidi
character(len=8), dimension(maxval_rfc) choix_rfc
type(bief_obj), target flbcla
type(bief_obj), target advar
type(bief_obj), target licbor
type(bief_obj), target q2bor
type(bief_obj), target tb
logical, dimension(maxvar) sorleo
type(bief_obj), target unladm
double precision hmin_bedload
type(bief_obj), pointer t10
double precision, dimension(:), allocatable volpos
double precision, dimension(nsiclm) ava0
type(bief_obj), target ks
double precision, target xkv
type(bief_obj), target zfcl_c
type(bief_obj), target zr
type(bief_obj), target limtec
type(bief_obj), target ctild
type(bief_obj), target qsy
type(bief_obj), target zf_c
logical, dimension(:), allocatable okcgl
type(bief_obj), target hclip
type(bief_obj), target hprop
type(bief_obj), target te3
type(bief_obj), target ms_sable
type(bief_obj), target uconv
type(bief_obj), target tb2
type(bief_obj), target esomt
type(bief_obj), target clu
type(bief_obj), target ebor
type(bief_obj), target qsxc
type(bief_obj), target flbortra
type(bief_obj), target varcl
type(bief_obj), target qscl_s
type(bief_obj), target boundary_colour
double precision, dimension(:,:,:), allocatable, target pro_f
double precision, dimension(nsiclm), target xwc
type(bief_obj), target nlayer
type(bief_obj), pointer t4
integer, dimension(3) mardat
type(bief_obj), target fw
type(bief_obj), target calfa_cl
type(bief_obj), target zf
double precision, dimension(:), allocatable time_rfc
type(bief_obj), pointer t5
type(bief_obj), target cbor
type(bief_obj), target ms_vase
type(bief_obj), target coefpn
double precision, target tprec
type(bief_obj), target qsys
integer, dimension(100) cvsmoutput
type(bief_obj), target limpro
double precision, dimension(nsiclm) fracsed_gf
type(bief_obj), target mask
double precision, dimension(:), allocatable workb
double precision, dimension(:), allocatable volneg
type(bief_obj), target maskb
type(bief_obj), target qsxs
type(bief_obj), target acladm
type(bief_obj), target it1
type(bief_obj), target avai
character(len=32), dimension(4) names_prive
type(bief_obj), pointer t13
type(bief_obj), target qsclxc
double precision, dimension(:,:), allocatable volflux_flusec2
double precision, dimension(nsiclm) masfin
type(bief_obj), pointer t9
type(bief_obj), target tobw
character(len=32), dimension(nsiclm) varcla
type(bief_obj), target estrat
type(bief_obj), target qsclxs
integer, parameter nsiclm
integer, parameter maxval_rfc
type(bief_obj), target cs
double precision, dimension(:,:), allocatable, target tds_node_sediment_fraction
character(len=path_len) couplingsis
double precision, dimension(nsiclm) masdept
double precision, dimension(:,:), allocatable, target ivide
type(bief_obj), target flbor_sis
double precision, dimension(nsiclm) volini
type(bief_obj), pointer t8
type(bief_obj), target it4
type(bief_obj), target salfa_cl
double precision, target partheniades
type(bief_obj), target mu
type(bief_obj), target lihbor
integer, dimension(:), allocatable ctrlsc
double precision, dimension(:,:), allocatable, target conc
double precision, target dt
double precision, dimension(nlaymax) trans_mass
double precision, target delt
double precision time_flusec2
double precision, dimension(nsiclm) fd90
type(bief_obj), target qscl_c
double precision, dimension(nsiclm) mastou
integer, parameter maxlu_sis
double precision, dimension(:), allocatable, target tds_hn
type(bief_obj), target mpm_aray
logical, dimension(maxvar) sorimp
double precision, dimension(nsiclm) volnestorcl
double precision, dimension(:), pointer x
type(bief_obj), pointer t11
type(bief_obj), target zfcl_ms
type(bief_obj), target liebor
type(bief_obj), target varsor
type(bief_obj), target it2
double precision karim_holly_yang
type(bief_obj), target tw
type(bief_obj), pointer t14
double precision, dimension(nsiclm) voltot
type(bief_obj), target qs
type(bief_obj), target disp_c
type(bief_obj), pointer t1
type(bief_obj), target fluert
type(bief_obj), target fluer_vase
double precision, dimension(nsiclm) vcumucl
type(bief_obj), target csratio
double precision, dimension(:), allocatable volnegc
integer, dimension(:), allocatable pro_max
type(bief_obj), target cf
type(bief_obj), target fludpt
type(bief_obj), target qs_c
type(bief_obj), target fluer
type(bief_obj), target qsyc
type(bief_obj), target qsclyc
type(bief_obj), target maskel
type(bief_obj), target qs_s
type(bief_obj), target del_z
double precision, dimension(nsiclm), target fdm
type(bief_obj), target masktr
type(bief_obj), target zfcl
type(bief_obj), target v2d
type(bief_obj), target afbor
type(bief_obj), target hw
double precision, dimension(nsiclm) masini
double precision, dimension(nsiclm) volnestorcla
type(bief_obj), target dzf_gf
type(bief_obj), target bfbor
type(bief_obj), target qbor
logical, dimension(nsiclm) sedco
type(bief_obj), target q
double precision, dimension(:), allocatable, target tds_sis_node_depth
type(bief_obj), target z
type(bief_obj), target te1
type(bief_obj), pointer t3
type(bief_obj), target disp
double precision, dimension(:), allocatable soldis
double precision, dimension(:), pointer y
type(bief_obj), target te2
type(bief_obj), target cst
type(bief_obj), target v2dpar
double precision, dimension(:,:), allocatable flux_flusec2
type(bief_obj), target am1_s
double precision, dimension(:,:), allocatable, target es_sable
double precision, dimension(:), allocatable work
logical, dimension(:), allocatable okqgl
type(bief_obj), target unorm
type(bief_obj), pointer ikle
type(bief_obj), target qv
type(bief_obj), target liqbor
type(bief_obj), target qu
character(len=32), dimension(maxvar) names_advar
type(bief_obj), target ifamas
type(bief_obj), pointer t12
type(bief_obj), target ky
double precision, dimension(nlaymax) toce_vase
double precision, dimension(:,:,:), allocatable, target avail
double precision, dimension(:), allocatable flxc
type(bief_obj), target zrl
type(bief_obj), target chestr
type(bief_obj), target zref
type(bief_obj), pointer t7
type(bief_obj), target kx
type(bief_obj), target fludp
type(bief_obj), target clv
double precision, dimension(nlaymax) conc_vase
type(bief_obj), target qsclys
character(len=8), dimension(maxvar) mnemo
double precision, dimension(:), allocatable flxs
type(bief_obj), target s
type(bief_obj), target prive
type(bief_obj), target varhyd
double precision, target kspratio
type(bief_obj), target hn
double precision, target alpha
type(bief_obj), target kz
character(len=32), dimension(maxvar) textpr
double precision, dimension(nsiclm) masten
double precision, dimension(:), allocatable volposc
double precision, dimension(nsiclm) rmascl
integer, parameter nlaymax
type(bief_obj), target it3
type(bief_obj), target radsec
type(bief_obj), target breach
integer, dimension(:), allocatable nseg
type(bief_obj), pointer t2
type(bief_obj), target mbor
type(fluxline), dimension(:), allocatable fluxlinedata_flusec2
double precision, dimension(:,:,:), allocatable, target pro_d
type(bief_obj), target csgl
double precision, dimension(nsiclm) cs0
type(bief_obj), target volu2d
type(bief_obj), target hiding
integer, dimension(3) martim
double precision, dimension(:,:), allocatable, target es_vase
type(chain_type), dimension(:), allocatable chain
double precision, dimension(:,:), allocatable infic_rfc
integer, dimension(:,:,:), allocatable liste
type(bief_obj), target qscl
type(bief_obj), target flulim
type(bief_obj), target tob
type(bief_obj), target layconc
double precision, dimension(nsiclm) masdep
type(bief_obj), target emax
type(bief_obj), target u2d
double precision, dimension(:), allocatable volnegs
type(bief_obj), target flbor
type(bief_mesh), target mesh
double precision, dimension(nsiclm) mastcp
type(bief_obj), target zfcl_s
type(bief_obj), target uw
type(bief_obj), target qsx
character(len=32), dimension(maxvar) texte
double precision, target beta2
double precision, dimension(nsiclm), target ac
double precision, target mpm
type(bief_obj), target toce_mixte
double precision, target csf_sable
type(bief_obj), pointer t6
type(bief_obj), target elay
double precision, dimension(:), allocatable flx
type(bief_obj), target clt
type(bief_file), dimension(maxlu_sis), target sis_files
type(bief_obj), target ecpl
type(bief_obj), target ksr
double precision, dimension(:,:), allocatable, target es