The TELEMAC-MASCARET system  trunk
interface_waqtel.f
Go to the documentation of this file.
1 ! ***********************
2  MODULE interface_waqtel
3 ! ***********************
4 !
5 !
6 !***********************************************************************
7 ! TELEMAC2D 6.2
8 !***********************************************************************
9 !
10 !
11 !-----------------------------------------------------------------------
12 !
13 ! DEFINITION OF INTERFACES
14 !
15 !-----------------------------------------------------------------------
16 !
17  INTERFACE
18  SUBROUTINE algae_death
19  &(ald,mp,cmor,tr,tresp,gt,tox,npoin)
20  USE bief_def
21  IMPLICIT NONE
22  INTEGER , INTENT(IN):: NPOIN
23  DOUBLE PRECISION, INTENT(IN):: CMOR(2),TR(npoin),TOX,TRESP
24  DOUBLE PRECISION, INTENT(INOUT)::ALD(npoin),MP(npoin)
25  TYPE(bief_obj) , INTENT(IN ) ::GT
26  END SUBROUTINE
27  END INTERFACE
28 !
29 !-----------------------------------------------------------------------
30 !
31  INTERFACE
32  SUBROUTINE algae_growth
33  &(alg,cmax,ray,gt,nutr,tox,npoin )
34  USE bief_def
35  IMPLICIT NONE
36  INTEGER , INTENT(IN):: NPOIN
37  DOUBLE PRECISION, INTENT(IN):: CMAX,RAY(npoin),NUTR(npoin),TOX
38  DOUBLE PRECISION, INTENT(INOUT)::ALG(npoin)
39  TYPE(bief_obj) , INTENT(IN ) ::GT
40  END SUBROUTINE
41  END INTERFACE
42 !
43 !-----------------------------------------------------------------------
44 !
45  INTERFACE
46  SUBROUTINE lecwaqpar
47  &(ific,npoin,nbrech,optnbr,tdecbr,durbr,zfinbr,numpsd,mesh,
48  & zdecbr,nbndbr,indbr,zcrbr)
49  USE bief_def
50  IMPLICIT NONE
51  INTEGER , INTENT(IN) :: IFIC
52  INTEGER , INTENT(IN) :: NPOIN
53  INTEGER , INTENT(INOUT) :: NBRECH
54  TYPE(bief_obj), INTENT(INOUT) :: OPTNBR,TDECBR,DURBR,ZFINBR
55  TYPE(bief_obj), INTENT(INOUT) :: ZDECBR
56  TYPE(bief_obj), INTENT(INOUT) :: NUMPSD,NBNDBR,INDBR,ZCRBR
57  TYPE(bief_mesh), INTENT(INOUT) :: MESH
58  END SUBROUTINE
59  END INTERFACE
60 !
61 !-----------------------------------------------------------------------
62 !
63  INTERFACE
64  SUBROUTINE calcs2d_biomass
65  & (npoin,wattemp,tn,texp,rayeff,hprop,t1,t2,t3,t4,t5,t6,debug)
66  USE bief_def
67  IMPLICIT NONE
68  INTEGER , INTENT(IN ) :: NPOIN,DEBUG
69  DOUBLE PRECISION , INTENT(IN ) :: WATTEMP
70  TYPE(bief_obj) , INTENT(IN ) :: TN,HPROP
71  TYPE(bief_obj) , INTENT(INOUT) :: TEXP,RAYEFF,T1,T2,T3,T4,T5,T6
72  END SUBROUTINE
73  END INTERFACE
74 !
75 !-----------------------------------------------------------------------
76 !
77  INTERFACE
78  SUBROUTINE calcs3d_biomass
79  & (npoin3,npoin2,nplan,wattemp,tn,texp,rayeff,zprop,
80  & t1,t2,t3,t4,t5,t6)
81  USE bief_def
82  IMPLICIT NONE
83  INTEGER , INTENT(IN ) :: NPOIN2,NPOIN3
84  INTEGER , INTENT(IN ) :: NPLAN
85  DOUBLE PRECISION , INTENT(IN ) :: WATTEMP
86  TYPE(bief_obj) , INTENT(IN ) :: TN,ZPROP
87  TYPE(bief_obj) , INTENT(INOUT) :: TEXP,RAYEFF
88  TYPE(bief_obj) , INTENT(INOUT) :: T1,T2,T3,T4,T5,T6
89 !
90  END SUBROUTINE
91  END INTERFACE
92 !
93 !-----------------------------------------------------------------------
94 !
95  INTERFACE
96  SUBROUTINE calcs2d_eutro
97  & (npoin,wattemp,tn,texp,timp,rayeff,hprop,t1,t2,t3,t4,
98  & t5,t6,t7,t8,t9,t10,t11,t12,debug,un,vn)
99  USE bief_def
100  IMPLICIT NONE
101  INTEGER , INTENT(IN ) :: NPOIN,DEBUG
102  DOUBLE PRECISION , INTENT(IN ) :: WATTEMP
103  TYPE(bief_obj) , INTENT(IN ) :: TN,HPROP,UN,VN
104  TYPE(bief_obj) , INTENT(INOUT) :: TIMP,TEXP,RAYEFF
105  TYPE(bief_obj) , INTENT(INOUT) :: T1,T2,T3,T4,T5,T6,T7,T8,T9,T10
106  TYPE(bief_obj) , INTENT(INOUT) :: T11,T12
107 !
108  END SUBROUTINE
109  END INTERFACE
110 !
111 !-----------------------------------------------------------------------
112 !
113  INTERFACE
114  SUBROUTINE calcs3d_eutro
115  & (npoin3,npoin2,nplan,wattemp,tn,texp,timp,rayeff,hprop,
116  & zprop,t1,t21,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,debug,un,vn)
117  USE bief_def
118  IMPLICIT NONE
119  INTEGER , INTENT(IN ) :: NPOIN3,NPOIN2,NPLAN
120  INTEGER , INTENT(IN ) :: DEBUG
121  DOUBLE PRECISION , INTENT(IN ) :: WATTEMP
122  TYPE(bief_obj) , INTENT(IN ) :: TN,HPROP,ZPROP,UN,VN
123  TYPE(bief_obj) , INTENT(INOUT) :: TEXP,TIMP,RAYEFF
124  TYPE(bief_obj) , INTENT(INOUT) :: T1,T21,T3,T4,T5,T6,T7,T8,T9
125  TYPE(bief_obj) , INTENT(INOUT) :: T10,T11,T12
126  END SUBROUTINE
127  END INTERFACE
128 !
129 !-----------------------------------------------------------------------
130 !
131  INTERFACE
132  SUBROUTINE calcs2d_micropol (NPOIN,TN,TEXP,TIMP,
133  & HPROP,CF,UN,VN,T1,T2,T3,T4)
134  USE bief_def
135  IMPLICIT NONE
136  INTEGER , INTENT(IN ) :: NPOIN
137  TYPE(bief_obj) , INTENT(IN ) :: TN,HPROP,CF,UN,VN
138  TYPE(bief_obj) , INTENT(INOUT) :: TEXP,T1,T2,T3,T4,TIMP
139  END SUBROUTINE
140  END INTERFACE
141 !
142 !-----------------------------------------------------------------------
143 !
144  INTERFACE
145  SUBROUTINE calcs3d_micropol (NPOIN2,TN,TEXP,
146  & TIMP,ZPROP,CF,UN,VN,T2_1,T2_2,T2_3,T3_1,T3_2,DEBUG)
147  USE bief_def
148  IMPLICIT NONE
149  INTEGER , INTENT(IN ) :: NPOIN2
150  INTEGER , INTENT(IN ) :: DEBUG
151  TYPE(bief_obj) , INTENT(IN ) :: TN,ZPROP,CF,UN,VN
152  TYPE(bief_obj) , INTENT(INOUT) :: TEXP,TIMP
153  TYPE(bief_obj) , INTENT(INOUT) :: T2_1,T2_2,T2_3,T3_1,T3_2
154  END SUBROUTINE
155  END INTERFACE
156 !
157 !-----------------------------------------------------------------------
158 !
159  INTERFACE
160  SUBROUTINE calcs2d_o2
161  & (npoin,wattemp,o2satu,demben,formk2,k1,k44,k22,
162  & photo,resp,tn,texp,timp,t2,t3,t4,hprop,un,vn,debug)
163  USE bief_def
164  IMPLICIT NONE
165  INTEGER , INTENT(IN ) :: FORMK2,NPOIN,DEBUG
166  DOUBLE PRECISION , INTENT(IN ) :: DEMBEN,WATTEMP
167  DOUBLE PRECISION , INTENT(IN ) :: PHOTO,RESP,K1,K44
168  DOUBLE PRECISION , INTENT(INOUT) :: O2SATU,K22
169  TYPE(bief_obj) , INTENT(IN ) :: TN,HPROP,UN,VN
170  TYPE(bief_obj) , INTENT(INOUT) :: TEXP,TIMP,T2,T3,T4
171  END SUBROUTINE
172  END INTERFACE
173 !
174 !-----------------------------------------------------------------------
175 !
176  INTERFACE
177  SUBROUTINE calcs3d_o2
178  & (npoin3,npoin2,nplan,wattemp,o2satu,demben,formk2,k1,k44,k22,
179  & photo,resp,tn,texp,timp,t31,t32,t21,hprop,zprop,un,vn)
180  USE bief_def
181  IMPLICIT NONE
182  INTEGER , INTENT(IN ) :: NPOIN2,NPOIN3,NPLAN
183  INTEGER , INTENT(IN ) :: FORMK2
184  DOUBLE PRECISION , INTENT(IN ) :: DEMBEN,WATTEMP
185  DOUBLE PRECISION , INTENT(IN ) :: PHOTO,RESP,K1,K44
186  DOUBLE PRECISION , INTENT(INOUT) :: O2SATU,K22
187  TYPE(bief_obj) , INTENT(IN ) :: TN,HPROP,UN,VN,ZPROP
188  TYPE(bief_obj) , INTENT(INOUT) :: TEXP,TIMP,T31,T32,T21
189  END SUBROUTINE
190  END INTERFACE
191 !
192 !-----------------------------------------------------------------------
193 !
194  INTERFACE
195  SUBROUTINE calcs2d_thermic
196  & (npoin,tn,texp,hprop,patmos)
197  USE bief_def
198  IMPLICIT NONE
199  INTEGER, INTENT(IN) :: NPOIN
200  TYPE(bief_obj), INTENT(IN) :: TN
201  TYPE(bief_obj), INTENT(INOUT) :: TEXP
202  TYPE(bief_obj), INTENT(IN) :: HPROP
203  TYPE(bief_obj), INTENT(IN) :: PATMOS
204  END SUBROUTINE
205  END INTERFACE
206 !
207 !-----------------------------------------------------------------------
208 !
209  INTERFACE
210  SUBROUTINE calcs3d_thermics
211  & (npoin2,npoin3,ta,atabos,btabos,patmos,atmosexch,
212  & windx,windy,rho)
213  USE bief_def
214  IMPLICIT NONE
215  INTEGER, INTENT(IN) :: NPOIN2,NPOIN3
216  INTEGER, INTENT(IN) :: ATMOSEXCH
217  TYPE(bief_obj), INTENT(IN) :: TA,WINDX,WINDY
218  TYPE(bief_obj), INTENT(INOUT) :: ATABOS,BTABOS
219  TYPE(bief_obj), INTENT(IN) :: PATMOS,RHO
220  END SUBROUTINE
221  END INTERFACE
222 !
223 !-----------------------------------------------------------------------
224 !
225  INTERFACE
226  SUBROUTINE calcs3d_thermicv(NPOIN2,NPOIN3,NPLAN,Z,RHO,TA,TEXP,
227  & LONGIT,LATIT,AT,MARDAT,MARTIM)
228  USE bief_def
229  IMPLICIT NONE
230  INTEGER, INTENT(IN) :: NPOIN2,NPOIN3,NPLAN
231  INTEGER, INTENT(IN) :: MARDAT(3),MARTIM(3)
232  DOUBLE PRECISION, INTENT(IN) :: Z(npoin3),LATIT,LONGIT,AT
233  DOUBLE PRECISION, INTENT(IN) :: RHO(npoin3)
234  TYPE(bief_obj), INTENT(IN) :: TA
235  TYPE(bief_obj), INTENT(INOUT) :: TEXP
236  END SUBROUTINE
237  END INTERFACE
238 !
239 !-----------------------------------------------------------------------
240 !
241  INTERFACE
242  SUBROUTINE depos_fx
243  & (sedp,taub,csus,taus,vitchu,npoin)
244  USE bief_def
245  IMPLICIT NONE
246  INTEGER , INTENT(IN) :: NPOIN
247  DOUBLE PRECISION, INTENT(IN) :: TAUS,VITCHU
248  TYPE(bief_obj) , INTENT(IN ) :: TAUB,CSUS
249  TYPE(bief_obj) , INTENT(INOUT) :: SEDP
250  END SUBROUTINE
251  END INTERFACE
252 !
253 !-----------------------------------------------------------------------
254 !
255  INTERFACE
256  SUBROUTINE erosion_fx
257  & (sedero,taub,sf,taur,ero,zzero,npoin)
258  USE bief_def
259  IMPLICIT NONE
260  INTEGER , INTENT(IN) :: NPOIN
261  DOUBLE PRECISION, INTENT(IN) :: TAUR,ERO,ZZERO
262  TYPE(bief_obj) , INTENT(IN ) :: TAUB,SF
263  TYPE(bief_obj) , INTENT(INOUT) :: SEDERO
264  END SUBROUTINE
265  END INTERFACE
266 !
267 !-----------------------------------------------------------------------
268 !
269  INTERFACE
270  SUBROUTINE lecdon_waqtel
271  & (file_desc,path,ncar,cas_file,dico_file)
273  IMPLICIT NONE
274  CHARACTER(LEN=PATH_LEN), INTENT(INOUT) ::
275  & file_desc(4,maxkeyword)
276  INTEGER, INTENT(IN) :: NCAR
277  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: PATH
278  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: DICO_FILE
279  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: CAS_FILE
280  END SUBROUTINE
281  END INTERFACE
282 !
283 !-----------------------------------------------------------------------
284 !
285  INTERFACE
286  SUBROUTINE nametrac_waqtel
287  & (nametrac,ntrac,process)
288  IMPLICIT NONE
289  INTEGER , INTENT(IN ):: PROCESS
290  INTEGER , INTENT(INOUT):: NTRAC
291  CHARACTER(LEN=32), INTENT(INOUT):: NAMETRAC(*)
292  END SUBROUTINE
293  END INTERFACE
294 !
295 !-----------------------------------------------------------------------
296 !
297  INTERFACE
298  SUBROUTINE nuteff
299  &(lnut,trr,npoin,ipo4,ino3,kp,kn)
300  USE bief_def
301  IMPLICIT NONE
302  INTEGER , INTENT(IN) :: NPOIN,IPO4,INO3
303  DOUBLE PRECISION, INTENT(IN) :: KN,KP
304  DOUBLE PRECISION, INTENT(INOUT) :: LNUT(npoin)
305  TYPE(bief_obj) , INTENT(IN) :: TRR
306  END SUBROUTINE
307  END INTERFACE
308 !
309 !-----------------------------------------------------------------------
310 !
311  INTERFACE
312  SUBROUTINE point_waqtel
313  & (mesh,ielm1,mesh3d,ielm3)
314  USE bief_def
315  IMPLICIT NONE
316 !
317  INTEGER, INTENT(IN ) :: IELM1
318  TYPE(bief_mesh), INTENT(INOUT) :: MESH
319  TYPE(bief_mesh), INTENT(INOUT),OPTIONAL :: MESH3D
320  INTEGER, INTENT(IN ),OPTIONAL :: IELM3
321  END SUBROUTINE
322  END INTERFACE
323 !
324 !-----------------------------------------------------------------------
325 !
326  INTERFACE
327  SUBROUTINE ray_effect
328  &(secchi,trr,npoin,mext,i0,ik,kpe,eff,h,t1,t2)
329  USE bief_def
330  IMPLICIT NONE
331  INTEGER , INTENT(IN) :: NPOIN,MEXT
332  DOUBLE PRECISION, INTENT(IN) :: I0,IK,SECCHI,KPE
333  TYPE(bief_obj) , INTENT(IN) :: H,TRR
334  TYPE(bief_obj) , INTENT(INOUT) :: EFF,T1,T2
335  END SUBROUTINE
336  END INTERFACE
337 !
338 !-----------------------------------------------------------------------
339 !
340  INTERFACE
341  SUBROUTINE reaer
342  &(formk2,k2,k22,npoin,nplan,un,vn,h,eps)
343  USE bief_def
344  IMPLICIT NONE
345  INTEGER , INTENT(IN) :: FORMK2,NPOIN,NPLAN
346  DOUBLE PRECISION, INTENT(IN) :: EPS,K22
347  TYPE(bief_obj) , INTENT(IN ) :: H,UN,VN
348  TYPE(bief_obj) , INTENT(INOUT) :: K2
349  END SUBROUTINE
350  END INTERFACE
351 !
352 !-----------------------------------------------------------------------
353 !
354  INTERFACE
355  SUBROUTINE reaer_weir
356  &(formrs,h1,h2,abrs,wattemp,eps,o2satu,trup,tn,ind_o2,ir)
357  USE bief_def
358  IMPLICIT NONE
359  INTEGER , INTENT(IN) :: FORMRS,IR,IND_O2
360  DOUBLE PRECISION, INTENT(IN) :: EPS,H1,H2,ABRS(2),WATTEMP
361  DOUBLE PRECISION, INTENT(IN) :: TRUP,O2SATU
362  TYPE(bief_obj) , INTENT(INOUT) :: TN
363  END SUBROUTINE
364  END INTERFACE
365 !
366 !-----------------------------------------------------------------------
367 !
368  INTERFACE
369  SUBROUTINE satur_o2
370  &(sato2,formcs,wattemp,eps)
371  IMPLICIT NONE
372  INTEGER , INTENT(IN) :: FORMCS
373  DOUBLE PRECISION, INTENT(IN) :: WATTEMP,EPS
374  DOUBLE PRECISION, INTENT(INOUT) :: SATO2
375  END SUBROUTINE
376  END INTERFACE
377 !
378 !-----------------------------------------------------------------------
379 !
380  INTERFACE
381  SUBROUTINE source_waq
382  &(npoin3,npoin2,texp,timp,tn,hprop,u,v,cf,
383  & t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12, t21,t22,t23,
384  & patmos,dimm,nplan,
385  & latit,longit,at,mardat,martim,zprop,rho)
386  USE bief_def
387  IMPLICIT NONE
388  INTEGER , INTENT(IN) :: NPOIN3,DIMM
389  INTEGER , INTENT(IN) :: NPLAN,NPOIN2
390  INTEGER , INTENT(IN) :: MARDAT(3),MARTIM(3)
391  DOUBLE PRECISION, INTENT(IN ) :: LATIT,LONGIT,AT
392  TYPE(bief_obj) , INTENT(IN) :: TN,HPROP,U,V,CF,PATMOS
393  TYPE(bief_obj) , INTENT(IN) :: ZPROP
394  TYPE(bief_obj) , INTENT(INOUT) :: TEXP,TIMP,T1,T2,T3,T4
395  TYPE(bief_obj) , INTENT(INOUT) :: T5,T6,T7,T8,T9,T10,T11,T12
396  TYPE(bief_obj) , INTENT(INOUT) :: T21,T22,T23
397  TYPE(bief_obj), INTENT(IN),OPTIONAL :: RHO
398  END SUBROUTINE
399  END INTERFACE
400 !
401 !-----------------------------------------------------------------------
402 !
403  INTERFACE
404  SUBROUTINE taub_waqtel
405  &(cf,density,taub,npoin,un,vn)
406  USE bief_def
407  IMPLICIT NONE
408  INTEGER , INTENT(IN) :: NPOIN
409  DOUBLE PRECISION, INTENT(IN) :: DENSITY
410  TYPE(bief_obj) , INTENT(IN ) :: CF,UN,VN
411  TYPE(bief_obj) , INTENT(INOUT) :: TAUB
412  END SUBROUTINE
413  END INTERFACE
414 !
415 !-----------------------------------------------------------------------
416 !
417  INTERFACE
418  SUBROUTINE yasmi_waq
419  & (yasmi)
420  IMPLICIT NONE
421  LOGICAL , INTENT(INOUT):: YASMI(*)
422  END SUBROUTINE
423  END INTERFACE
424 !
425 !-----------------------------------------------------------------------
426 !
427  END MODULE interface_waqtel
subroutine taub_waqtel(CF, DENSITY, TAUB, NPOIN, UN, VN)
Definition: taub_waqtel.f:7
double precision function tr(I, ITRAC, N, IERR)
Definition: tr.f:7
subroutine vitchu(S3D_WCHU, S3D_WCHU0, U, V, S3D_TURBA, S3D_TURBB, TRAV1, TRAV2, TRAV3, S, MESH3D, IELM3, NPOIN2, NPOIN3, NPLAN, NTRAC, MSK, MASKEL, UETCAR, TA, HN, S3D_FLOC, S3D_FLOC_TYPE, S3D_HINDER, S3D_HIND_TYPE, S3D_CGEL, S3D_CINI)
Definition: vitchu.f:10
subroutine lecdon_waqtel(FILE_DESC, PATH, NCAR, CAS_FILE, DICO_FILE)
Definition: lecdon_waqtel.f:7
subroutine ray_effect(SECCHI, TRR, NPOIN, MEXT, I0, IK, KPE, EFF, H, T1, T2)
Definition: ray_effect.f:7
integer, parameter maxkeyword
subroutine nuteff(LNUT, TRR, NPOIN, IPO4, INO3, KP, KN)
Definition: nuteff.f:7
subroutine reaer_weir(FORMRS, H1, H2, ABRS, WATTEMP, EPS, O2SATU, TRUP, TN, IND_O2, IR)
Definition: reaer_weir.f:7
subroutine point_waqtel(MESH2D, IELM1, MESH3D, IELM3)
Definition: point_waqtel.f:7
subroutine reaer(FORMK2, K2, K22, NPOIN2, NPLAN, UN, VN, H, EPS)
Definition: reaer.f:7
subroutine satur_o2(SATO2, FORMCS, WATTEMP, EPS)
Definition: satur_o2.f:7
subroutine yasmi_waq(YASMI)
Definition: yasmi_waq.f:6
subroutine source_waq(NPOIN3, NPOIN2, TEXP, TIMP, TN, HPROP, U, V, CF, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T2_1, T2_2, T2_3, PATMOS, DIMM, NPLAN, LATIT, LONGIT, AT, MARDAT, MARTIM, ZPROP, RHO)
Definition: source_waq.F:10
subroutine nametrac_waqtel(NAMETRAC, NTRAC, PROCESS)