The TELEMAC-MASCARET system  trunk
interface_sisyphe_bedload.f
Go to the documentation of this file.
1 ! **********************************
3 ! **********************************
4 !
5 !
6 !***********************************************************************
7 ! SISYPHE V8P0 12/09/2018
8 !***********************************************************************
9 !
10 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12 !
13  INTERFACE
14 !
15 !**********************************************************************C
16 ! SISYPHE RELEASE 5.6 12/01/05 F. HUVELIN C
17 !**********************************************************************C
18 !
19 !history F.CORDIER (EDF-LNHE)
20 !+ 15/12/2017
21 !+ V7P2
22 !+ NEW SUBROUTINE - BEDLOAD_WILCOCK_CROWE
23 !
24 ! ======================================= !
25 ! INTERFACE FOR THE SISYPHE SUBROUTINE !
26 ! FOR BEDLOAD TRANSPORT !
27 ! ======================================= !
28 !
29 ! COPYRIGHT EDF-DTMPL-SOGREAH-LHF-GRADIENT
30 !**********************************************************************C
31 ! C
32 ! SSSS I SSSS Y Y PPPP H H EEEEE C
33 ! S I S Y Y P P H H E C
34 ! SSS I SSS Y PPPP HHHHH EEEE C
35 ! S I S Y P H H E C
36 ! SSSS I SSSS Y P H H EEEEE C
37 ! C
38 !----------------------------------------------------------------------C
39 !======================================================================!
40 !======================================================================!
41 !
42  !================================================================!
43  SUBROUTINE bedload_bailard !
44  !----------------------------------------------------------------!
45  &(u2d,v2d,ucmoy,tob,tobw,thetaw,uw,fw,cf,npoin,pi,
46  & xmve,grav,dens,xwc,alphaw,qscx,qscy,qssx,qssy,
47  & uc3x,uc3y,us4x,us4y,thetac,fcw,qsc,qss,houle)
48  USE bief_def
50  IMPLICIT NONE
51  TYPE(bief_obj), INTENT(IN) :: U2D,V2D,UCMOY, TOB
52  TYPE(bief_obj), INTENT(IN) :: TOBW, THETAW, UW, FW, CF
53  INTEGER, INTENT(IN) :: NPOIN
54  LOGICAL, INTENT(IN) :: HOULE
55  DOUBLE PRECISION, INTENT(IN) :: PI, XMVE, GRAV, DENS, XWC
56  TYPE(bief_obj), INTENT(INOUT) :: ALPHAW ! WORK ARRAY BEDLOAD_EB
57  TYPE(bief_obj), INTENT(INOUT) :: QSCX, QSCY ! WORK ARRAY T3 AND T4
58  TYPE(bief_obj), INTENT(INOUT) :: QSSX, QSSY ! WORK ARRAY T5 AND T6
59  TYPE(bief_obj), INTENT(INOUT) :: UC3X, UC3Y ! WORK ARRAY T7 AND T8
60  TYPE(bief_obj), INTENT(INOUT) :: US4X, US4Y ! WORK ARRAY T9 AND T10
61  TYPE(bief_obj), INTENT(INOUT) :: THETAC, FCW ! WORK ARRAY T11 AND T12
62  TYPE(bief_obj), INTENT(INOUT) :: QSC, QSS
63  !----------------------------------------------------------------!
64  END SUBROUTINE bedload_bailard
65 !
66  !================================================================!
67 !
68 !
69  !================================================================!
70  SUBROUTINE bedload_bijker
71  !----------------------------------------------------------------!
72  & (tobw,tob,mu,ksp,ksr,hn,npoin,dm,dens,xmve,grav,xwc,
73  & karman,zero,t4,t7,t8,t9,qsc,qss,bijk,houle)
74  !----------------------------------------------------------------!
75  USE bief
77  IMPLICIT NONE
78  TYPE(bief_obj), INTENT(IN) :: TOBW, TOB, MU,KSP,KSR,HN
79  INTEGER, INTENT(IN) :: NPOIN
80  DOUBLE PRECISION, INTENT(IN) :: DM, DENS, XMVE, GRAV, XWC
81  DOUBLE PRECISION, INTENT(IN) :: KARMAN, ZERO
82  LOGICAL, INTENT(IN) :: HOULE
83  TYPE(bief_obj), INTENT(INOUT) :: T4
84  TYPE(bief_obj), INTENT(INOUT) :: T7, T8, T9
85  TYPE(bief_obj), INTENT(INOUT) :: QSC, QSS
86  DOUBLE PRECISION, INTENT(IN) :: BIJK
87  !----------------------------------------------------------------!
88  END SUBROUTINE bedload_bijker
89  !================================================================!
90 !
91 !
92  !================================================================!
93  SUBROUTINE bedload_calcdw
94  !----------------------------------------------------------------!
95  & (ucw, uw, tw, npoin, pi, uw1, uw2, tw1, tw2)
96  !----------------------------------------------------------------!
97  USE bief
99  IMPLICIT NONE
100  TYPE(bief_obj), INTENT(IN) :: UCW, UW, TW
101  INTEGER, INTENT(IN) :: NPOIN
102  DOUBLE PRECISION, INTENT(IN) :: PI
103  TYPE(bief_obj), INTENT(INOUT) :: UW1, UW2, TW1, TW2
104  !----------------------------------------------------------------!
105  END SUBROUTINE bedload_calcdw
106  !================================================================!
107 !
108 !
109  !================================================================!
110  SUBROUTINE bedload_dibwat !
111  !----------------------------------------------------------------!
112 !
113  & (u2d,v2d,ucmoy, cf, tob, tobw, uw, tw, fw, thetaw, npoin,
114  & xmve, dens, grav, dm, xwc, pi, alphaw, t2, t3, ucw, ucn,
115  & uw1, uw2, tw1, tw2, thetac, fcw, qsc)
116 !
117  USE bief_def
119  IMPLICIT NONE
120 !
121  TYPE(bief_obj), INTENT(IN) :: U2D,V2D,UCMOY, CF, TOB, TOBW
122  TYPE(bief_obj), INTENT(IN) :: UW, TW, FW
123  TYPE(bief_obj), INTENT(IN) :: THETAW
124  INTEGER, INTENT(IN) :: NPOIN
125  DOUBLE PRECISION, INTENT(IN) :: XMVE, DENS, GRAV, DM, XWC, PI
126  TYPE(bief_obj), INTENT(INOUT) :: ALPHAW ! WORK ARRAY T1
127  TYPE(bief_obj), INTENT(INOUT) :: T2, T3 !
128  TYPE(bief_obj), INTENT(INOUT) :: UCW, UCN ! WORK ARRAY T4, T5, T6
129  TYPE(bief_obj), INTENT(INOUT) :: UW1, UW2, TW1 ! WORK ARRAY T7, T8, T9
130  TYPE(bief_obj), INTENT(INOUT) :: TW2, THETAC ! WORK ARRAY T10, T11
131  TYPE(bief_obj), INTENT(INOUT) :: FCW, QSC ! WORK ARRAY T12
132  !----------------------------------------------------------------!
133  END SUBROUTINE bedload_dibwat
134  !================================================================!
135 !
136 !
137  !================================================================!
138  SUBROUTINE bedload_diffin
139 ! *************************
140 !
141  &(u, v, nbor, xnebor, ynebor, maskel, nelbor, nptfr,
142  & kent, ksort, klog, kdir, kddl, kneu, msk, clt, litbor,
143  & masktr, limtra,iklbor,neleb,nelebx)
144  USE bief_def
146  IMPLICIT NONE
147  TYPE(bief_obj), INTENT(IN) :: U,V,NBOR,XNEBOR,YNEBOR
148  TYPE(bief_obj), INTENT(IN) :: MASKEL,NELBOR
149  INTEGER, INTENT(IN) :: NPTFR,KENT,KSORT,KLOG
150  INTEGER, INTENT(IN) :: KDIR,KDDL,KNEU,NELEB,NELEBX
151  INTEGER, INTENT(IN) :: IKLBOR(nelebx,2)
152  LOGICAL, INTENT(IN) :: MSK
153  TYPE(bief_obj), INTENT(INOUT) :: CLT
154  TYPE(bief_obj), INTENT(INOUT) :: LITBOR, MASKTR, LIMTRA
155  !----------------------------------------------------------------!
156  END SUBROUTINE bedload_diffin
157  !================================================================!
158 !
159 !
160  !================================================================!
161  SUBROUTINE bedload_direction
162  !----------------------------------------------------------------!
163  & (qu, qv, npoin, pi, thetac)
164  !----------------------------------------------------------------!
165  USE bief
167  IMPLICIT NONE
168  TYPE(bief_obj), INTENT(IN) :: QU, QV
169  INTEGER, INTENT(IN) :: NPOIN
170  DOUBLE PRECISION, INTENT(IN) :: PI
171  TYPE(bief_obj), INTENT(INOUT) :: THETAC
172  !----------------------------------------------------------------!
173  END SUBROUTINE bedload_direction
174  !================================================================!
175 !
176 !
177 !
178  !================================================================!
179  SUBROUTINE bedload_effpnt !
180  !----------------------------------------------------------------!
181 !
182  &(maskel,liqbor,s,zf,npoin,nptfr,ielmt,
183  & kent,beta,pi,msk,mesh,dzfdx,dzfdy,epsix,epsiy,
184  & coef,calfa,salfa,slopeff,phised,devia,beta2,
185  & tob,xmvs,xmve,dm,grav,unsv2d)
186 !
187  USE bief_def
189  IMPLICIT NONE
190 !
191  TYPE(bief_obj), INTENT(IN) :: MASKEL,LIQBOR,S,UNSV2D
192  TYPE(bief_obj), INTENT(IN) :: ZF,TOB
193  INTEGER, INTENT(IN) :: NPOIN,NPTFR,IELMT,KENT
194  INTEGER, INTENT(IN) :: SLOPEFF,DEVIA
195  DOUBLE PRECISION, INTENT(IN) :: BETA,PI,PHISED,BETA2
196  DOUBLE PRECISION, INTENT(IN) :: XMVS,XMVE,GRAV,DM
197  LOGICAL, INTENT(IN) :: MSK
198  TYPE(bief_mesh), INTENT(INOUT) :: MESH
199  TYPE(bief_obj), INTENT(INOUT) :: DZFDX,DZFDY
200  TYPE(bief_obj), INTENT(INOUT) :: EPSIX,EPSIY
201  TYPE(bief_obj), INTENT(INOUT) :: COEF,CALFA,SALFA
202 !
203  !----------------------------------------------------------------!
204  END SUBROUTINE bedload_effpnt
205  !================================================================!
206 !
207 !
208  !================================================================!
209  SUBROUTINE bedload_einst
210  !----------------------------------------------------------------!
211  & (tetap, npoin, dens, grav, dm, dstar, qsc)
212  !----------------------------------------------------------------!
213  USE bief
215  IMPLICIT NONE
216  TYPE(bief_obj), INTENT(IN) :: TETAP
217  INTEGER, INTENT(IN) :: NPOIN
218  DOUBLE PRECISION, INTENT(IN) :: DENS, GRAV, DM, DSTAR
219  TYPE(bief_obj), INTENT(INOUT) :: QSC
220  !----------------------------------------------------------------!
221  END SUBROUTINE bedload_einst
222  !================================================================!
223 !
224 !
225  !================================================================!
226  SUBROUTINE bedload_engel
227  !----------------------------------------------------------------!
228  & (tob, cf, dens, grav, dm, xmve, qsc)
229  !----------------------------------------------------------------!
230  USE bief
232  IMPLICIT NONE
233  TYPE(bief_obj), INTENT(IN) :: TOB, CF
234  DOUBLE PRECISION, INTENT(IN) :: DENS, GRAV, DM, XMVE
235  TYPE(bief_obj), INTENT(INOUT) :: QSC
236  !----------------------------------------------------------------!
237  END SUBROUTINE bedload_engel
238  !================================================================!
239 !
240 !
241  !================================================================!
242  SUBROUTINE bedload_engel_cc
243  !----------------------------------------------------------------!
244  & (tetap,cf,npoin,grav,dm,dens,teta,qsc)
245  !----------------------------------------------------------------!
248  IMPLICIT NONE
249 !
250  TYPE(bief_obj), INTENT(IN) :: TETAP, CF
251  INTEGER, INTENT(IN) :: NPOIN
252  DOUBLE PRECISION, INTENT(IN) :: GRAV, DM, DENS
253  TYPE(bief_obj), INTENT(INOUT) :: TETA ! WORK ARRAY T1, T2
254  TYPE(bief_obj), INTENT(INOUT) :: QSC
255  !----------------------------------------------------------------!
256  END SUBROUTINE bedload_engel_cc
257  !================================================================!
258 !
259 !
260  !================================================================!
261  SUBROUTINE bedload_evol
262  !----------------------------------------------------------------!
263 !
264  &(s,elay,ava,coefpn,calfa,salfa,limtec,ebor,
265  & maskel,mask,v2dpar,unsv2d,debug,npoin,nptfr,
266  & ielmt,kent,kdir,kddl,
267  & dts,
268  & vf,entet,msk,mesh,
269  & qs,t1,t2,t3,t4,t8,
270  & t11,t12,t13,csf_sable,breach,qsx,qsy,zfcl,slopeff,icla,
271  & flbcla,liqbor,qbor,maxadv)
272  USE bief_def
274  IMPLICIT NONE
275  TYPE(bief_obj), INTENT(IN) :: S,UNSV2D,ELAY
276  TYPE(bief_obj), INTENT(IN) :: COEFPN,CALFA,SALFA
277  TYPE(bief_obj), INTENT(IN) :: MASKEL,MASK,V2DPAR
278  INTEGER, INTENT(IN) :: DEBUG,SLOPEFF,NPOIN,NPTFR,ICLA
279  INTEGER, INTENT(IN) :: IELMT,KENT,KDIR,KDDL
280  INTEGER, INTENT(IN) :: MAXADV
281  DOUBLE PRECISION, INTENT(IN) :: DTS
282  DOUBLE PRECISION, INTENT(IN) :: AVA(npoin)
283  LOGICAL, INTENT(IN) :: VF,ENTET,MSK
284  TYPE(bief_mesh), INTENT(INOUT) :: MESH
285  TYPE(bief_obj), INTENT(INOUT) :: QS,EBOR,FLBCLA
286  TYPE(bief_obj), INTENT(INOUT) :: T1, T2, T3, T4
287  TYPE(bief_obj), INTENT(INOUT) :: T8,T11, T12, T13
288  DOUBLE PRECISION, INTENT(IN) :: CSF_SABLE
289  TYPE(bief_obj), INTENT(INOUT) :: BREACH, QSX, QSY, ZFCL,LIMTEC
290  TYPE(bief_obj), INTENT(IN) :: LIQBOR,QBOR
291 !
292  !----------------------------------------------------------------!
293  END SUBROUTINE bedload_evol
294  !================================================================!
295 !
296 !
297  !============================!
298  SUBROUTINE bedload_formula !
299  !----------------------------------------------------------------!
300 !
301  & (u2d, v2d,ucmoy, hn, cf, mu,tob, tobw, uw, tw, thetaw, fw,
302  & acladm, unladm,ksp,ksr, ava, npoin, icf, hidfac, xmvs, xmve,
303  & dm, grav, vce, hmin, xwc, d90, karman, zero,
304  & pi, susp, ac, hiding, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10,
305  & t11,cfp, qsc, qss,ielmt,seccurrent,slopeff,
306  & coefpn, calfa, salfa,bijk,houle, sanfra)
307 !
308  USE bief_def
310  IMPLICIT NONE
311  TYPE(bief_obj), INTENT(IN) :: U2D, V2D, UCMOY,HN, CF, TOB
312  TYPE(bief_obj), INTENT(IN) :: MU,TOBW, UW, TW, THETAW, FW
313  TYPE(bief_obj), INTENT(IN) :: ACLADM, UNLADM, KSP,KSR
314  INTEGER, INTENT(IN) :: NPOIN, ICF, HIDFAC,IELMT
315  DOUBLE PRECISION, INTENT(IN) :: XMVS, XMVE, DM, GRAV, VCE
316  DOUBLE PRECISION, INTENT(IN) :: HMIN, XWC, D90
317  DOUBLE PRECISION, INTENT(IN) :: KARMAN, ZERO, PI
318  LOGICAL, INTENT(IN) :: SUSP,SECCURRENT,HOULE
319  DOUBLE PRECISION, INTENT(INOUT) :: AC
320  TYPE(bief_obj), INTENT(INOUT) :: HIDING
321  TYPE(bief_obj), INTENT(INOUT) :: T1, T2, T3, T4, T5, T6, T7
322  TYPE(bief_obj), INTENT(INOUT) :: T8, T9, T10,T11
323  TYPE(bief_obj), INTENT(INOUT) :: CFP ! WORK ARRAY T12
324  TYPE(bief_obj), INTENT(INOUT) :: QSC, QSS
325  TYPE(bief_obj), INTENT(INOUT) :: COEFPN,CALFA,SALFA
326  INTEGER, INTENT(IN) :: SLOPEFF
327  DOUBLE PRECISION, INTENT(IN) :: BIJK,AVA(npoin)
328  DOUBLE PRECISION, INTENT(IN) :: SANFRA(npoin)
329  !----------------------------------------------------------------!
330  END SUBROUTINE bedload_formula
331  !================================================================!
332 !
333 !
334  !================================================================!
335  SUBROUTINE bedload_hiding_factor
336  !----------------------------------------------------------------!
337  & (acladm, hidfac, npoin, hidi, dm, karim_holly_yang, hiding)
338  !----------------------------------------------------------------!
339  USE bief
341  IMPLICIT NONE
342  TYPE(bief_obj), INTENT(IN) :: ACLADM
343  INTEGER, INTENT(IN) :: HIDFAC, NPOIN
344  DOUBLE PRECISION, INTENT(IN) :: HIDI, DM, KARIM_HOLLY_YANG
345  TYPE(bief_obj), INTENT(INOUT) :: HIDING
346  !----------------------------------------------------------------!
347  END SUBROUTINE bedload_hiding_factor
348  !================================================================!
349 !
350 !
351  !================================================================!
352  SUBROUTINE bedload_hunz_meyer
353  !----------------------------------------------------------------!
354  & (tob,mu, acladm, unladm, npoin, dens, xmve, grav, dm, ac,
355  & tetap, ahunzi, acp, hiding, qsc)
356  !----------------------------------------------------------------!
357  USE bief
359  IMPLICIT NONE
360  TYPE(bief_obj), INTENT(IN) :: TOB, MU, ACLADM, UNLADM
361  INTEGER, INTENT(IN) :: NPOIN
362  DOUBLE PRECISION, INTENT(IN) :: DENS, XMVE, GRAV, DM, AC
363  TYPE(bief_obj), INTENT(INOUT) :: TETAP, AHUNZI ! WORK ARRAY T1, T2
364  TYPE(bief_obj), INTENT(INOUT) :: ACP ! WORK ARRAY T3
365  TYPE(bief_obj), INTENT(INOUT) :: HIDING, QSC
366  !----------------------------------------------------------------!
367  END SUBROUTINE bedload_hunz_meyer
368  !================================================================!
369 !
370 !
371  !================================================================!
372  SUBROUTINE bedload_interact
373  !----------------------------------------------------------------!
374  & (ucmoy, tobw, tob, alphaw, fw, cf, uw, npoin, xmve, fcw)
375  !----------------------------------------------------------------!
376  USE bief
378  IMPLICIT NONE
379  TYPE(bief_obj), INTENT(IN) :: UCMOY, TOBW, TOB, ALPHAW
380  TYPE(bief_obj), INTENT(IN) :: FW, CF, UW
381  INTEGER, INTENT(IN) :: NPOIN
382  DOUBLE PRECISION, INTENT(IN) :: XMVE
383  TYPE(bief_obj), INTENT(INOUT) :: FCW
384  !----------------------------------------------------------------!
385  END SUBROUTINE bedload_interact
386  !================================================================!
387 !
388 !
389  !================================================================!
390  SUBROUTINE bedload_main !
391  !----------------------------------------------------------------!
392 !
393  &(acladm,ksp,ksr, v2dpar,unsv2d,cf,ebor,fw,hn,liqbor,
394  & mask, maskel, maskpt, qbor, u2d,
395  & v2d, s,unladm,uw,thetaw,mu,tob,tobw,tw,zf,
396  & debug, hidfac, icf, ielmt, kddl, kdir,
397  & kent, klog, kneu, ksort,
398  & npoin, nptfr, nsicla, optban, beta, fd90, fdm,
399  & grav, hidi, hmin, vce, csf_sable, xmve, xmvs, xwc,
400  & pi, karman, zero, karim_holly_yang,msk, susp, vf,
401  & mesh,
402  & elay, liebor, limtec, masktr,
403  & it1, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11,
404  & t12,t13,unorm,ac, dts,
405  & avail, breach, calfa_cl, coefpn,
406  & hiding, qscl_c, qscl_s, qs_c,
407  & qsclxc, qsxc, qsclyc, qsyc, salfa_cl, zf_c, zfcl_c,
408  & entets, seccurrent, slopeff,
409  & phised, devia, beta2, bijk,sedco,houle,
410  & u3d,v3d,code,flbcla,maxadv)
411 !
412  USE bief_def
413  USE declarations_sisyphe, ONLY : nomblay
415  IMPLICIT NONE
416 !
417  TYPE(bief_obj), INTENT(IN) :: ACLADM, KSR,V2DPAR,UNSV2D
418  TYPE(bief_obj), INTENT(IN) :: CF,FW,KSP,HN,LIQBOR
419  TYPE(bief_obj), INTENT(IN) :: MASK, MASKEL, MASKPT
420  TYPE(bief_obj), INTENT(IN) :: QBOR
421  TYPE(bief_obj), INTENT(INOUT) :: U2D,V2D,TOB,MU,UNORM,EBOR
422  TYPE(bief_obj), INTENT(IN) :: S,UNLADM
423  TYPE(bief_obj), INTENT(IN) :: UW, THETAW, TOBW, TW
424  TYPE(bief_obj), INTENT(IN) :: ZF
425  INTEGER, INTENT(IN) :: DEBUG, HIDFAC, ICF,MAXADV
426  INTEGER, INTENT(IN) :: IELMT, KDDL, KDIR, KENT
427  INTEGER, INTENT(IN) :: KLOG, KNEU, KSORT
428  INTEGER, INTENT(IN) :: NPOIN, NPTFR
429  INTEGER, INTENT(IN) :: NSICLA, OPTBAN
430  DOUBLE PRECISION, INTENT(IN) :: BETA, FD90(nsicla)
431  DOUBLE PRECISION, INTENT(IN) :: FDM(nsicla),GRAV
432  DOUBLE PRECISION, INTENT(IN) :: HIDI(nsicla),HMIN,VCE
433  DOUBLE PRECISION, INTENT(IN) :: CSF_SABLE,XMVE,XMVS,XWC(nsicla)
434  DOUBLE PRECISION, INTENT(IN) :: PI,KARMAN,ZERO
435  DOUBLE PRECISION, INTENT(IN) :: KARIM_HOLLY_YANG
436  LOGICAL, INTENT(IN) :: MSK, SUSP, VF
437  LOGICAL, INTENT(IN) :: SECCURRENT
438  LOGICAL, INTENT(IN) :: SEDCO(nsicla),HOULE
439  TYPE(bief_mesh), INTENT(INOUT) :: MESH
440  TYPE(bief_obj), INTENT(INOUT) :: ELAY,FLBCLA
441  TYPE(bief_obj), INTENT(INOUT) :: LIEBOR, LIMTEC, MASKTR
442  TYPE(bief_obj), INTENT(INOUT) :: IT1,T1,T2,T3,T4,T5,T6,T7
443  TYPE(bief_obj), INTENT(INOUT) :: T8,T9,T10,T11,T12,T13
444  DOUBLE PRECISION, INTENT(INOUT) :: AC(nsicla), DTS
445  DOUBLE PRECISION, INTENT(INOUT) :: AVAIL(npoin,nomblay,nsicla)
446  TYPE(bief_obj), INTENT(INOUT) :: BREACH, CALFA_CL, COEFPN
447  TYPE(bief_obj), INTENT(INOUT) :: HIDING
448  TYPE(bief_obj), INTENT(INOUT) :: QSCL_C,QSCL_S
449  TYPE(bief_obj), INTENT(INOUT) :: QS_C, QSCLXC, QSXC, QSCLYC
450  TYPE(bief_obj), INTENT(INOUT) :: QSYC, SALFA_CL, ZF_C, ZFCL_C
451  LOGICAL, INTENT(INOUT) :: ENTETS
452  DOUBLE PRECISION, INTENT(IN) :: BETA2, PHISED
453  INTEGER, INTENT (IN) :: SLOPEFF, DEVIA
454  DOUBLE PRECISION, INTENT(IN) :: BIJK
455  TYPE(bief_obj), INTENT(IN) :: U3D,V3D
456  CHARACTER(LEN=24), INTENT(IN) :: CODE
457 !
458  !----------------------------------------------------------------!
459  END SUBROUTINE bedload_main
460  !================================================================!
461 !
462 !
463  !================================================================!
464  SUBROUTINE bedload_meyer !
465  !----------------------------------------------------------------!
466  & (tetap, hiding, hidfac, dens, grav, dm, ac,
467  & acp, qsc, slopeff, coefpn)
468 !
469  USE bief_def
471  IMPLICIT NONE
472 !
473  ! 2/ GLOBAL VARIABLES
474  ! -------------------
475  ! -------------------
476  TYPE(bief_obj), INTENT(IN) :: TETAP, HIDING
477  INTEGER, INTENT(IN) :: HIDFAC, SLOPEFF
478  DOUBLE PRECISION, INTENT(IN) :: DENS, GRAV, DM, AC
479  TYPE(bief_obj), INTENT(INOUT) :: ACP ! WORK ARRAY T1
480  TYPE(bief_obj), INTENT(INOUT) :: QSC, COEFPN
481  !----------------------------------------------------------------!
482  END SUBROUTINE bedload_meyer
483  !================================================================!
484 !
485 !
486  !================================================================!
487  SUBROUTINE bedload_neq_bed_load !
488  !----------------------------------------------------------------!
489 !
490  & (hn, q, s, calfa, salfa, mask,loadmeth, npoin, ielmt,
491  & ls0, dm, xmve, xmvs, grav, vce, d90, mesh, qslo, t1, t2, t3,
492  & t4, t5, t6, t7, t8, t9, t10,msk,maskel)
493 !
494  USE bief_def
496  IMPLICIT NONE
497  type(bief_obj), INTENT(IN) :: hn, q, s, calfa, salfa, mask
498  type(bief_obj), INTENT(IN) :: maskel
499  INTEGER, INTENT(IN) :: LOADMETH, NPOIN, IELMT
500  DOUBLE PRECISION, INTENT(IN) :: LS0
501  DOUBLE PRECISION, INTENT(IN) :: DM, XMVE, XMVS, GRAV, VCE, D90
502  type(bief_mesh), INTENT(INOUT) :: mesh
503  type(bief_obj), INTENT(INOUT) :: qslo
504  type(bief_obj), INTENT(INOUT) :: t1,t2,t3,t4,t5
505  type(bief_obj), INTENT(INOUT) :: t6,t7,t8,t9,t10
506  LOGICAL, INTENT(IN) :: MSK
507  !----------------------------------------------------------------!
508  END SUBROUTINE bedload_neq_bed_load
509  !================================================================!
510 !
511 !
512  !================================================================!
513  SUBROUTINE bedload_nerbed_vf !
514  &(mesh,liebor,ksort,elay,v2dpar,qsx,qsy,ava,npoin,nseg,nptfr,
515  & dt,qs,t1,t2,t3,breach,csf_sable,nubo,vnoin)
516  USE bief_def
518  IMPLICIT NONE
519  TYPE(bief_mesh), INTENT(INOUT) :: MESH
520  TYPE(bief_obj), INTENT(IN) :: LIEBOR
521  TYPE(bief_obj), INTENT(IN) :: QSX, QSY
522  INTEGER, INTENT(IN) :: NPOIN, NSEG, NPTFR,KSORT
523  DOUBLE PRECISION, INTENT(IN) :: DT
524  TYPE(bief_obj), INTENT(INOUT) :: QS, T1, T2, T3
525  TYPE(bief_obj), INTENT(INOUT) :: BREACH
526  DOUBLE PRECISION, INTENT(IN) :: ELAY(npoin),V2DPAR(npoin)
527  DOUBLE PRECISION, INTENT(IN) :: AVA(npoin), CSF_SABLE
528  INTEGER, INTENT(IN) :: NUBO(2,nseg)
529  DOUBLE PRECISION, INTENT(IN) :: VNOIN(3,nseg)
530  !----------------------------------------------------------------!
531  END SUBROUTINE bedload_nerbed_vf
532  !================================================================!
533 !
534 !
535  !================================================================!
536  SUBROUTINE bedload_solidischarge !
537  !----------------------------------------------------------------!
538 !
539  & (mesh, u2d, v2d, unorm, hn, tw, uw, mu,tob, cf, tobw, fw,
540  & thetaw, ava, maskpt, maskel, acladm, unladm,ksp, ksr,liqbor,
541  & debug, npoin, nptfr, ielmt, icf, kent, optban,
542  & hidfac, grav, dm, d90, xwc, xmve, xmvs, vce, hmin,
543  & hidi,karman, zero, pi, karim_holly_yang,
544  & susp, msk,t1, t2, t3, t4, t5, t6, t7, t8, t9, t10,
545  & t11,t12, ac,hiding, qsc, qss,
546  & slopeff, coefpn, phised, calfa, salfa, beta, zf_c, s,
547  & devia, beta2, seccurrent,bijk,houle,unsv2d,
548  & u3d,v3d,code,sanfra)
549  USE bief_def
551  IMPLICIT NONE
552 !
553  TYPE(bief_mesh), INTENT(INOUT) :: MESH
554  TYPE(bief_obj), INTENT(IN) :: U2D, V2D, HN, TW, UW
555  TYPE(bief_obj), INTENT(IN) :: UNORM,MU,TOB
556  TYPE(bief_obj), INTENT(IN) :: KSP, CF, TOBW, FW, THETAW
557  TYPE(bief_obj), INTENT(IN) :: MASKPT, MASKEL
558  TYPE(bief_obj), INTENT(IN) :: ACLADM, UNLADM,KSR,LIQBOR
559  INTEGER, INTENT(IN) :: DEBUG
560  INTEGER, INTENT(IN) :: NPOIN, NPTFR, IELMT, ICF
561  INTEGER, INTENT(IN) :: KENT, OPTBAN,HIDFAC
562  DOUBLE PRECISION, INTENT(IN) :: GRAV, DM, D90, XWC, XMVE, XMVS
563  DOUBLE PRECISION, INTENT(IN) :: VCE, HMIN,HIDI
564  DOUBLE PRECISION, INTENT(IN) :: KARMAN, ZERO, PI
565  DOUBLE PRECISION, INTENT(IN) :: KARIM_HOLLY_YANG
566  LOGICAL, INTENT(IN) :: SUSP, MSK,SECCURRENT,HOULE
567  TYPE(bief_obj), INTENT(INOUT) :: T1,T2,T3,T4,T5,T6
568  TYPE(bief_obj), INTENT(INOUT) :: T7,T8,T9,T10,T11,T12
569  DOUBLE PRECISION, INTENT(INOUT) :: AC
570  TYPE(bief_obj), INTENT(INOUT) :: HIDING,QSC,QSS
571  INTEGER, INTENT(IN) :: SLOPEFF,DEVIA
572  DOUBLE PRECISION, INTENT(IN) :: PHISED,BETA,BETA2
573  TYPE(bief_obj), INTENT(IN) :: ZF_C,S,UNSV2D
574  TYPE(bief_obj), INTENT(INOUT) :: CALFA,SALFA,COEFPN
575  DOUBLE PRECISION, INTENT(IN) :: BIJK,AVA(npoin)
576 !
577  TYPE(bief_obj), INTENT(IN) :: U3D,V3D
578  CHARACTER(LEN=24), INTENT(IN) :: CODE
579  DOUBLE PRECISION, INTENT(IN) :: SANFRA(npoin)
580  !----------------------------------------------------------------!
581  END SUBROUTINE bedload_solidischarge
582  !================================================================!
583 !
584 !
585  !================================================================!
586  SUBROUTINE bedload_soulsby !
587  !----------------------------------------------------------------!
588  &(ucmoy,hn,uw,npoin,dens,grav,dm,dstar,d90,qsc,qss)
589  USE bief_def
591  IMPLICIT NONE
592  TYPE(bief_obj), INTENT(IN) :: HN, UCMOY, UW
593  INTEGER, INTENT(IN) :: NPOIN
594  DOUBLE PRECISION, INTENT(IN) :: DENS, GRAV, DM, DSTAR, D90
595  TYPE(bief_obj), INTENT(INOUT) :: QSC, QSS
596  !----------------------------------------------------------------!
597  END SUBROUTINE bedload_soulsby
598  !================================================================!
599 !
600 !
601  !================================================================!
602  SUBROUTINE bedload_solvs_fe
603  !----------------------------------------------------------------!
604  &(mesh,s,ebor,maskel,mask,
605  & qsx,qsy,ielmt,npoin,nptfr,kent,kdir,kddl,limtec,dt,
606  & msk,entet,t1,t2,t3,t4,t8,
607  & zfcl,hz,hzn,gloseg,dimglo,flodel,flulim,nseg,unsv2d,csf_sable,
608  & icla,flbcla,ava,liqbor,qbor,maxadv)
609  USE bief_def
611  IMPLICIT NONE
612  TYPE(bief_mesh), INTENT(INOUT) :: MESH
613  TYPE(bief_obj), INTENT(IN) :: S,MASKEL,MASK,QSX,QSY
614  INTEGER, INTENT(IN) :: IELMT,NPOIN,NPTFR,KENT,KDIR
615  INTEGER, INTENT(IN) :: DIMGLO,NSEG,ICLA,KDDL,MAXADV
616  INTEGER, INTENT(IN) :: GLOSEG(dimglo,2)
617  DOUBLE PRECISION, INTENT(IN) :: DT,CSF_SABLE,AVA(npoin)
618  DOUBLE PRECISION, INTENT(INOUT) :: FLULIM(nseg)
619  LOGICAL, INTENT(IN) :: MSK,ENTET
620  TYPE(bief_obj), INTENT(INOUT) :: FLODEL,T1,T2,T3,T4,T8
621  TYPE(bief_obj), INTENT(INOUT) :: HZ,EBOR,LIMTEC
622  TYPE(bief_obj), INTENT(INOUT) :: ZFCL,FLBCLA
623  TYPE(bief_obj), INTENT(IN) :: HZN,UNSV2D,LIQBOR,QBOR
624  !----------------------------------------------------------------!
625  END SUBROUTINE bedload_solvs_fe
626  !================================================================!
627 !
628 !
629  !================================================================!
630  SUBROUTINE bedload_solvs_vf
631  &(mesh,qsx,qsy,limtec,unsv2d,ebor,breach,nseg,nptfr,npoin,
632  & kent,kdir,kddl,dt,zfcl,flux,csf_sable,flbcla,ava,liqbor,qbor,
633  & nubo,vnoin)
634  USE bief_def
636  IMPLICIT NONE
637  TYPE(bief_mesh), INTENT(INOUT) :: MESH
638  TYPE(bief_obj), INTENT(IN) :: QSX,QSY,LIMTEC,UNSV2D,EBOR
639  TYPE(bief_obj), INTENT(IN) :: BREACH,LIQBOR,QBOR
640  INTEGER, INTENT(IN) :: NSEG,NPTFR,NPOIN,KENT,KDIR,KDDL
641  DOUBLE PRECISION, INTENT(IN) :: DT,CSF_SABLE
642  DOUBLE PRECISION, INTENT(IN) :: AVA(npoin)
643  TYPE(bief_obj), INTENT(INOUT) :: FLBCLA,ZFCL,FLUX
644  INTEGER, INTENT(IN) :: NUBO(2,nseg)
645  DOUBLE PRECISION, INTENT(IN) :: VNOIN(3,nseg)
646  !----------------------------------------------------------------!
647  END SUBROUTINE bedload_solvs_vf
648  !================================================================!
649 !
650 !
651  !================================================================!
652  SUBROUTINE bedload_vanrijn
653  & (tob, npoin, dm, dens, grav, dstar, ac, qsc)
654 !
657  IMPLICIT NONE
658  TYPE(bief_obj), INTENT(IN) :: TOB
659  INTEGER, INTENT(IN) :: NPOIN
660  DOUBLE PRECISION, INTENT(IN) :: DM, DENS, GRAV, DSTAR, AC
661  TYPE(bief_obj), INTENT(INOUT) :: QSC
662 !
663  !----------------------------------------------------------------!
664  END SUBROUTINE bedload_vanrijn
665  !================================================================!
666 !
667 !
668  !================================================================!
669  SUBROUTINE bedload_wilcock_crowe !
670  !----------------------------------------------------------------!
671  &(tob, mu, acladm, dm, ava, grav, xmve, xmvs, sanfra, qsc, ac, acp,
672  & slopeff, coefpn)
673 !
674  USE bief_def
676  IMPLICIT NONE
677  INTEGER, INTENT(IN) :: SLOPEFF
678  TYPE(bief_obj), INTENT(INOUT) :: QSC, COEFPN
679  DOUBLE PRECISION, INTENT(IN) :: XMVE, XMVS, GRAV, DM, AC,
680  & ava(qsc%DIM1)
681  DOUBLE PRECISION, INTENT(IN) :: SANFRA(qsc%dim1)
682  TYPE(bief_obj), INTENT(INOUT) :: ACP ! WORK ARRAY T1
683  TYPE(bief_obj), INTENT(IN) :: ACLADM
684  TYPE(bief_obj), INTENT(IN) :: TOB, MU
685  !----------------------------------------------------------------!
686  END SUBROUTINE bedload_wilcock_crowe
687  !================================================================!
688 ! ENDFC
689 !======================================================================!
690 !======================================================================!
691 !
692  END INTERFACE
693  END MODULE interface_sisyphe_bedload
subroutine bedload_nerbed_vf
subroutine bedload_hunz_meyer(TOB, MU, ACLADM, UNLADM, NPOIN, DENS, XMVE, GRAV, DM, AC, TETAP, AHUNZI, ACP, HIDING, QSC)
subroutine bedload_calcdw
Definition: bedload_calcdw.f:4
subroutine bedload_solidischarge(MESH, U2D, V2D, UNORM, HN, TW, UW, MU, TOB, CF, TOBW, FW, THETAW, AVA, MASKPT, MASKEL, ACLADM, UNLADM, KSP, KSR, LIQBOR, DEBUG, NPOIN, NPTFR, IELMT, ICF, KENT, OPTBAN, HIDFAC, GRAV, DM, D90, XWC, XMVE, XMVS, VCE, HMIN, HIDI, KARMAN, ZERO, PI, KARIM_HOLLY_YANG, SUSP, MSK, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, AC, HIDING, QSC, QSS, SLOPEFF, COEFPN, PHISED, CALFA, SALFA, BETA, ZF_C, S, DEVIA, BETA2, SECCURRENT, BIJK, HOULE, UNSV2D, U3D, V3D, CODE, SANFRA)
subroutine bedload_formula(U2D, V2D, UCMOY, HN, CF, MU, TOB, TOBW, UW, TW, THETAW, FW, ACLADM, UNLADM, KSP, KSR, AVA, NPOIN, ICF, HIDFAC, XMVS, XMVE, DM, GRAV, VCE, HMIN, XWC, D90, KARMAN, ZERO, PI, SUSP, AC, HIDING, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TETAP, QSC, QSS, IELMT, SECCURRENT, SLOPEFF, COEFPN, CALFA, SALFA, BIJK, HOULE, SANFRA)
subroutine bedload_evol(S, ELAY, AVA, COEFPN, CALFA, SALFA, LIMTEC, EBOR, MASKEL, MASK, V2DPAR, UNSV2D, DEBUG, NPOIN, NPTFR, IELMT, KENT, KDIR, KDDL, DTS, VF, ENTET, MSK, MESH, QS, T1, T2, T3, T4, T8, T11, T12, T13, CSF_SABLE, BREACH, QSX, QSY, ZFCL, SLOPEFF, ICLA, FLBCLA, LIQBOR, QBOR, MAXADV)
Definition: bedload_evol.f:14
subroutine bedload_solvs_fe(MESH, S, EBOR, MASKEL, MASK, QSX, QSY, IELMT, NPOIN, NPTFR, KENT, KDIR, KDDL, LIMTEC, DT, MSK, ENTET, T1, T2, T3, T4, T8, ZFCL, HZ, HZN, GLOSEG, DIMGLO, FLODEL, FLULIM, NSEG, UNSV2D, CSF_SABLE, ICLA, FLBCLA, AVA, LIQBOR, QBOR, MAXADV)
subroutine bedload_wilcock_crowe(TOB, MU, ACLADM, DM, AVA, GRAV, XMVE, XMVS, SANFRA, QSC, AC, ACP, SLOPEFF, COEFPN)
subroutine bedload_effpnt(MASKEL, LIQBOR, S, ZF, NPOIN, NPTFR, IELMT, KENT, BETA, PI, MSK, MESH, DZFDX, DZFDY, CTETA, STETA, COEF, CALFA, SALFA, SLOPEFF, PHISED, DEVIA, BETA2, TOB, XMVS, XMVE, DM, GRAV, UNSV2D)
subroutine bedload_engel_cc(TETAP, CF, NPOIN, GRAV, DM, DENS, TETA, QSC)
subroutine bedload_main(ACLADM, KSP, KSR, V2DPAR, UNSV2D, CF, EBOR, FW, HN, LIQBOR, MASK, MASKEL, MASKPT, QBOR, U2D, V2D, S, UNLADM, UW, THETAW, MU, TOB, TOBW, TW, ZF, DEBUG, HIDFAC, ICF, IELMT, KDDL, KDIR, KENT, KLOG, KNEU, KSORT, NPOIN, NPTFR, NSICLA, OPTBAN, BETA, FD90, FDM, GRAV, HIDI, HMIN, VCE, CSF_SABLE, XMVE, XMVS, XWC, PI, KARMAN, ZERO, KARIM_HOLLY_YANG, MSK, SUSP, VF, MESH, ELAY, LIEBOR, LIMTEC, MASKTR, IT1, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, UNORM, AC, DTS, AVAIL, BREACH, CALFA_CL, COEFPN, HIDING, QSCL_C, QSCL_S, QS_C, QSCLXC, QSXC, QSCLYC, QSYC, SALFA_CL, ZF_C, ZFCL_C, ENTETS, SECCURRENT, SLOPEFF, PHISED, DEVIA, BETA2, BIJK, SEDCO, HOULE, U3D, V3D, CODE, FLBCLA, MAXADV)
Definition: bedload_main.f:24
subroutine breach
Definition: breach.f:4
subroutine bedload_vanrijn(TETAP, NPOIN, DM, DENS, GRAV, DSTAR, AC, QSC)
subroutine bedload_meyer(TETAP, HIDING, HIDFAC, DENS, GRAV, DM, AC, ACP, QSC, SLOPEFF, COEFPN)
Definition: bedload_meyer.f:7
subroutine bedload_bijker(TOBW, TOB, MU, KSP, KSR, HN, NPOIN, DM, DENS, XMVE, GRAV, XWC, KARMAN, ZERO, T4, T7, T8, T9, QSC, QSS, BIJK, HOULE)
Definition: bedload_bijker.f:8
subroutine bedload_einst(TETAP, NPOIN, DENS, GRAV, DM, DSTAR, QSC)
Definition: bedload_einst.f:7
subroutine bedload_diffin(U, V, NBOR, XNEBOR, YNEBOR, MASKEL, NELBOR, NPTFR, KENT, KSORT, KLOG, KDIR, KDDL, KNEU, MSK, CLT, LITBOR, MASKTR, LIMTRA, IKLBOR, NELEB, NELEBX)
Definition: bedload_diffin.f:9
subroutine bedload_engel(TOB, CF, DENS, GRAV, DM, XMVE, QSC)
Definition: bedload_engel.f:7
subroutine bedload_soulsby(UCMOY, HN, UW, NPOIN, DENS, GRAV, DM, DSTAR, D90, QSC, QSS)
subroutine bedload_direction
subroutine bedload_bailard
double precision function q(I)
Definition: q.f:7
subroutine bedload_interact(UCMOY, TOBW, TOB, ALPHAW, FW, CF, UW, NPOIN, XMVE, FCW)
subroutine bedload_hiding_factor(ACLADM, HIDFAC, NPOIN, HIDI, DM, KARIM_HOLLY_YANG, HIDING)
subroutine bedload_solvs_vf(MESH, QSX, QSY, LIMTEC, UNSV2D, EBOR, BREACH, NSEG, NPTFR, NPOIN, KENT, KDIR, KDDL, DT, ZFCL, FLUX, CSF_SABLE, FLBCLA, AVA, LIQBOR, QBOR, NUBO, VNOIN)
subroutine coef(S3D_IVIDE, S3D_EPAI, TRA01, S3D_NPFMAX, IMAX, NDEB, S3D_RHOS, GRAV, S3D_DTC, DSIG1)
Definition: coef.f:9
subroutine bedload_dibwat
Definition: bedload_dibwat.f:4
Definition: bief.f:3