The TELEMAC-MASCARET system  trunk
interface_telemac2d.f
Go to the documentation of this file.
1 ! **************************
3 ! **************************
4 !
5 !
6 !***********************************************************************
7 ! TELEMAC2D V8P2
8 !***********************************************************************
9 !
10 !
11 !-----------------------------------------------------------------------
12 !
13 ! DEFINITION OF INTERFACES
14 !
15 !-----------------------------------------------------------------------
16 !
17  INTERFACE
18  SUBROUTINE aksain
19  &(viscsa,npoin,numin)
20  IMPLICIT NONE
21  INTEGER ,INTENT(IN ) :: NPOIN
22  DOUBLE PRECISION,INTENT(INOUT) :: VISCSA(npoin)
23  DOUBLE PRECISION,INTENT(IN ) :: NUMIN
24  END SUBROUTINE
25  END INTERFACE
26 !
27 !-----------------------------------------------------------------------
28 !
29  INTERFACE
30  SUBROUTINE akepin
31  &(ak,ep,u,v,h,npoin,kfrot,cmu,c2,estar,schmit,emin,cf)
32  IMPLICIT NONE
33  INTEGER, INTENT(IN) :: NPOIN,KFROT
34  DOUBLE PRECISION, INTENT(INOUT) :: AK(npoin),EP(npoin)
35  DOUBLE PRECISION, INTENT(IN) :: EMIN,CMU,C2,ESTAR,SCHMIT
36  DOUBLE PRECISION, INTENT(IN) :: U(npoin),V(npoin),H(npoin),CF(*)
37  END SUBROUTINE
38  END INTERFACE
39 !
40 !-----------------------------------------------------------------------
41 !
42  INTERFACE
43  SUBROUTINE assignstr(CHESTR,SETSTR,PZONE,NZONE,NPOIN)
45  IMPLICIT NONE
46  TYPE(bief_obj), INTENT(INOUT) :: CHESTR
47  TYPE(bief_obj), INTENT(IN) :: SETSTR
48  INTEGER, INTENT(IN) :: PZONE(*)
49  INTEGER, INTENT(IN) :: NZONE
50  INTEGER, INTENT(IN) :: NPOIN
51  END SUBROUTINE
52  END INTERFACE
53 !
54 !-----------------------------------------------------------------------
55 !
56  INTERFACE
57  SUBROUTINE astro
58  &(year,month,day,hour,minu,sec,at,arl,ars,dl,ds,al,as)
59  IMPLICIT NONE
60  INTEGER, INTENT(IN) :: YEAR,MONTH,DAY,HOUR,MINU,SEC
61  DOUBLE PRECISION, INTENT(IN) :: AT
62  DOUBLE PRECISION, INTENT(INOUT) :: ARL,ARS,DL,DS,AL,AS
63  END SUBROUTINE
64  END INTERFACE
65 !
66 !-----------------------------------------------------------------------
67 !
68  INTERFACE
69  SUBROUTINE bilant1
70  &(h,uconv,vconv,hprop,work2,work3,work4,work5,lt,nit,info,
71  & masktr,t,tn,tetat,massou,msk,maskel,mesh,flusor,fluent,equa,
72  & itrac)
73  USE bief_def
74  IMPLICIT NONE
75  INTEGER, INTENT(IN) :: LT,NIT,ITRAC
76  DOUBLE PRECISION, INTENT(IN) :: TETAT,MASSOU,FLUSOR,FLUENT
77  TYPE(bief_obj), INTENT(INOUT) :: WORK2,WORK3,WORK4,WORK5
78  TYPE(bief_obj), INTENT(IN) :: HPROP,UCONV,VCONV,H,T,TN,MASKEL
79  TYPE(bief_obj), INTENT(IN) :: MASKTR
80  TYPE(bief_mesh), INTENT(INOUT) :: MESH
81  LOGICAL, INTENT(IN) :: MSK,INFO
82  CHARACTER(LEN=20), INTENT(IN) :: EQUA
83  END SUBROUTINE
84  END INTERFACE
85 !
86 !-----------------------------------------------------------------------
87 !
88  INTERFACE
89  SUBROUTINE bilan(MESH,H,WORK,AT,DT,LT,NIT,INFO,MASSES,
90  & MSK,MASKEL,EQUA,POROSS,OPTBAN,NPTFR,FLBOR,FLUX_BOUNDARIES,
91  & NUMLIQ,NFRLIQ,GAMMA)
92  USE bief_def
93  IMPLICIT NONE
94  INTEGER, INTENT(IN) :: LT,NIT,OPTBAN,NPTFR,NFRLIQ
95  INTEGER, INTENT(IN) :: NUMLIQ(*)
96  CHARACTER(LEN=20), INTENT(IN) :: EQUA
97  LOGICAL, INTENT(IN) :: INFO,MSK
98  TYPE(bief_mesh), INTENT(INOUT) :: MESH
99  TYPE(bief_obj), INTENT(INOUT) :: WORK,FLBOR
100  TYPE(bief_obj), INTENT(IN) :: H,MASKEL,POROSS
101  DOUBLE PRECISION, INTENT(IN) :: AT,DT,GAMMA
102  DOUBLE PRECISION, INTENT(INOUT):: MASSES,FLUX_BOUNDARIES(*)
103  END SUBROUTINE
104  END INTERFACE
105 !
106 !-----------------------------------------------------------------------
107 !
108  INTERFACE
109  SUBROUTINE fv_balance
110  & (masses,mass_rain,yasmh,smh,h,qu,qv,flux,flux_old,w,u,v,t,
111  & fluxt_old,massou,tn)
112  USE bief_def
114  IMPLICIT NONE
115  LOGICAL, INTENT(IN) :: YASMH
116  DOUBLE PRECISION, INTENT(INOUT) :: MASSES,MASS_RAIN,SMH(npoin)
117  DOUBLE PRECISION, INTENT(INOUT) :: H(npoin),QU(npoin),QV(npoin)
118  DOUBLE PRECISION, INTENT(INOUT) :: FLUX(npoin,3),FLUX_OLD(npoin,3)
119  DOUBLE PRECISION, INTENT(INOUT) :: W(3,npoin),U(npoin),V(npoin)
120  DOUBLE PRECISION, INTENT(INOUT) :: MASSOU(*)
121  TYPE(bief_obj) , INTENT(INOUT) :: T,FLUXT_OLD,TN
122  END SUBROUTINE
123  END INTERFACE
124 !
125 !-----------------------------------------------------------------------
126 !
127  INTERFACE
128  SUBROUTINE bord
129  &(hbor,ubor,vbor,tbor,u,v,h,
130  & zf,nbor,tra05,tra06,lihbor,liubor,litbor,
131  & xnebor,ynebor,npoin,nptfr,nptfr2,temps,
132  & ndebit,ncote,nvites,
133  & ntrac,ntrace,nfrliq,numliq,kent,kentu,provel,mask,mesh,equa,
134  & nomimp)
135  USE bief_def
136  IMPLICIT NONE
137  INTEGER, INTENT(IN) :: NPOIN,NPTFR,NDEBIT,NCOTE,NVITES,NTRACE
138  INTEGER, INTENT(IN) :: KENT,KENTU,NFRLIQ,NTRAC,NPTFR2
139  INTEGER, INTENT(IN) :: PROVEL(*)
140  INTEGER, INTENT(INOUT) :: LIHBOR(nptfr),LIUBOR(nptfr2)
141  INTEGER, INTENT(IN) :: NUMLIQ(nptfr),NBOR(nptfr2)
142  DOUBLE PRECISION, INTENT(IN) :: TEMPS
143  DOUBLE PRECISION, INTENT(IN) :: ZF(npoin)
144  DOUBLE PRECISION, INTENT(IN) :: XNEBOR(nptfr),YNEBOR(nptfr)
145  CHARACTER(LEN=20), INTENT(IN) :: EQUA
146  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: NOMIMP
147  DOUBLE PRECISION, INTENT(INOUT) :: UBOR(nptfr2,2),VBOR(nptfr2,2)
148  DOUBLE PRECISION, INTENT(INOUT) :: HBOR(nptfr)
149  TYPE(bief_mesh), INTENT(INOUT) :: MESH
150  TYPE(bief_obj), INTENT(INOUT) :: H,U,V,TRA05,TRA06,TBOR
151  TYPE(bief_obj), INTENT(IN) :: MASK,LITBOR
152  END SUBROUTINE
153  END INTERFACE
154 !
155 !-----------------------------------------------------------------------
156 !
157  INTERFACE
158  SUBROUTINE bord_tidal_bc
159  &(nbor,lihbor,liubor,nptfr,
160  & kent,kentu,mesh,geosyst,numzone,nl93,lambd0,phi0,tidaltype,
161  & boundary_colour,maxfro,nfo2,fmt_nbi2,nbi2,nrfo,xshift,yshift,
162  & beta,i_orig,j_orig)
163  USE bief_def
164  IMPLICIT NONE
165  INTEGER, INTENT(IN) :: NPTFR,NFO2,NBI2,NRFO,NL93
166  INTEGER, INTENT(IN) :: KENT,KENTU,MAXFRO
167  INTEGER, INTENT(IN) :: GEOSYST,NUMZONE,TIDALTYPE
168  INTEGER, INTENT(IN) :: I_ORIG,J_ORIG
169  INTEGER, INTENT(IN) :: LIHBOR(nptfr),LIUBOR(nptfr)
170  INTEGER, INTENT(IN) :: NBOR(nptfr)
171  DOUBLE PRECISION, INTENT(IN) :: XSHIFT,YSHIFT,LAMBD0,PHI0
172  DOUBLE PRECISION, INTENT(INOUT):: BETA
173  CHARACTER(LEN=8) :: FMT_NBI2
174  TYPE(bief_obj), INTENT(IN) :: BOUNDARY_COLOUR
175  TYPE(bief_mesh), INTENT(INOUT) :: MESH
176  END SUBROUTINE
177  END INTERFACE
178 !
179 !-----------------------------------------------------------------------
180 !
181  INTERFACE
182  SUBROUTINE bord_tide
183  &(zf,nbor,lihbor,liubor,npoin,nptfr,temps,dt,
184  & numliq,kent,kentu,tidaltype,ctide,msl,ctidev,nodalcorr,
185  & nfot,boundary_colour,hbtide,ubtide,vbtide,numtide,icalhw,
186  & mardat,martim,tm2s2n2equal)
187  USE bief_def
188  IMPLICIT NONE
189  INTEGER, INTENT(IN) :: NPOIN,NPTFR,NFOT
190  INTEGER, INTENT(IN) :: KENT,KENTU,NODALCORR
191  INTEGER, INTENT(IN) :: LIHBOR(nptfr),LIUBOR(nptfr)
192  INTEGER, INTENT(IN) :: NUMLIQ(nptfr),NBOR(nptfr)
193  INTEGER, INTENT(IN) :: TIDALTYPE,MARDAT(3),MARTIM(3)
194  INTEGER, INTENT(INOUT) :: ICALHW
195  DOUBLE PRECISION, INTENT(IN) :: TEMPS,CTIDE,MSL,CTIDEV,DT
196  DOUBLE PRECISION, INTENT(IN) :: ZF(npoin)
197  LOGICAL, INTENT(IN) :: TM2S2N2EQUAL
198  TYPE(bief_obj), INTENT(IN) :: BOUNDARY_COLOUR
199  TYPE(bief_obj), INTENT(INOUT) :: NUMTIDE,UBTIDE,VBTIDE,HBTIDE
200  END SUBROUTINE
201  END INTERFACE
202 !
203 !-----------------------------------------------------------------------
204 !
205  INTERFACE
206  SUBROUTINE bord_tide_misc
207  &(zf,nbor,lihbor,liubor,npoin,nptfr,temps,dt,
208  & numliq,kent,kentu,tidaltype,ctide,msl,
209  & ctidev,nodalcorr,nfot,
210  & boundary_colour,hbtide,ubtide,vbtide,numtide,icalhw,
211  & mardat,martim)
212  USE bief_def
213  IMPLICIT NONE
214  INTEGER, INTENT(IN) :: NPOIN,NPTFR,NFOT
215  INTEGER, INTENT(IN) :: KENT,KENTU,NODALCORR
216  INTEGER, INTENT(IN) :: LIHBOR(nptfr),LIUBOR(nptfr)
217  INTEGER, INTENT(IN) :: NUMLIQ(nptfr),NBOR(nptfr)
218  INTEGER, INTENT(IN) :: TIDALTYPE,MARDAT(3),MARTIM(3)
219  INTEGER, INTENT(INOUT) :: ICALHW
220  DOUBLE PRECISION, INTENT(IN) :: TEMPS,CTIDE,MSL,CTIDEV,DT
221  DOUBLE PRECISION, INTENT(IN) :: ZF(npoin)
222  TYPE(bief_obj), INTENT(IN) :: BOUNDARY_COLOUR
223  TYPE(bief_obj), INTENT(INOUT) :: NUMTIDE,UBTIDE,VBTIDE,HBTIDE
224  END SUBROUTINE
225  END INTERFACE
226 !
227 !-----------------------------------------------------------------------
228 !
229  INTERFACE
230  SUBROUTINE breach
231  IMPLICIT NONE
232  END SUBROUTINE
233  END INTERFACE
234 !
235 !-----------------------------------------------------------------------
236 !
237  INTERFACE
238  SUBROUTINE buse
239  &(relaxb,nbuse,entbus,sorbus,grav,
240  & h,zf,dbus,lrgbus,haubus,clpbus,
241  & altbus,csbus,cebus,angbus,lbus,
242  & ntrac,t,tbus,ubus,vbus,u,v,entet,
243  & cv,c56,cv5,c5,ctrash,fricbus,longbus,
244  & circ,delbus,optbuse,v2dpar,dt,secbus,maxsource,
245  & nptsce,npoin2,ksce)
246  USE bief_def
247  IMPLICIT NONE
248  INTEGER , INTENT(IN) :: NBUSE,NTRAC
249  INTEGER , INTENT(IN) :: ENTBUS(nbuse),SORBUS(nbuse)
250  LOGICAL , INTENT(IN) :: ENTET
251  DOUBLE PRECISION , INTENT(IN) :: RELAXB,GRAV,DT
252  DOUBLE PRECISION , INTENT(INOUT) :: UBUS(2,nbuse),VBUS(2,nbuse)
253  DOUBLE PRECISION , INTENT(INOUT) :: DBUS(nbuse),SECBUS(nbuse)
254  TYPE(bief_obj) , INTENT(INOUT) :: TBUS
255  DOUBLE PRECISION , INTENT(IN) :: ANGBUS(nbuse,2),LBUS(nbuse)
256  DOUBLE PRECISION , INTENT(IN) :: CEBUS(nbuse,2),CSBUS(nbuse,2)
257  DOUBLE PRECISION , INTENT(IN) :: ALTBUS(nbuse,2)
258  DOUBLE PRECISION , INTENT(IN) :: LRGBUS(nbuse),HAUBUS(nbuse,2)
259  INTEGER , INTENT(IN) :: CLPBUS(nbuse),CIRC(nbuse)
260  DOUBLE PRECISION , INTENT(IN) :: DELBUS(nbuse,2)
261  DOUBLE PRECISION , INTENT(IN) :: H(*),ZF(*),U(*),V(*)
262  TYPE(bief_obj) , INTENT(IN) :: T
263  DOUBLE PRECISION , INTENT(IN) :: CV(nbuse),C56(nbuse)
264  DOUBLE PRECISION , INTENT(IN) :: CV5(nbuse),C5(nbuse)
265  DOUBLE PRECISION , INTENT(IN) :: CTRASH(nbuse),FRICBUS(nbuse)
266  DOUBLE PRECISION , INTENT(IN) :: LONGBUS(nbuse)
267  INTEGER , INTENT(IN) :: OPTBUSE
268  TYPE(bief_obj) , INTENT(IN) :: V2DPAR
269  INTEGER , INTENT(IN) :: MAXSOURCE
270  INTEGER, INTENT(IN), OPTIONAL :: NPTSCE,NPOIN2
271  INTEGER, INTENT(IN), OPTIONAL :: KSCE(maxsource)
272  END SUBROUTINE
273  END INTERFACE
274 !
275 !-----------------------------------------------------------------------
276 !
277  INTERFACE
278  SUBROUTINE calcul_q_weir
279  IMPLICIT NONE
280  END SUBROUTINE
281  END INTERFACE
282 !
283 !-----------------------------------------------------------------------
284 !
285  INTERFACE
286  SUBROUTINE calcul_tang_w2
287  &(ip,nkfrot,chestr,h,pente,karman,utan)
288  IMPLICIT NONE
289  INTEGER, INTENT(IN) :: IP
290  INTEGER, INTENT(IN) :: NKFROT(*)
291  DOUBLE PRECISION, INTENT(IN) :: H,PENTE,KARMAN
292  DOUBLE PRECISION, INTENT(IN) :: CHESTR(*)
293  DOUBLE PRECISION, INTENT(OUT) :: UTAN
294  END SUBROUTINE
295  END INTERFACE
296 !
297 !-----------------------------------------------------------------------
298 !
299  INTERFACE
300  SUBROUTINE caldt
301  &(dt,dtn,leo)
302  IMPLICIT NONE
303  DOUBLE PRECISION, INTENT(INOUT) :: DT,DTN
304  LOGICAL , INTENT(INOUT) :: LEO
305  END SUBROUTINE
306  END INTERFACE
307 !
308 !-----------------------------------------------------------------------
309 !
310  INTERFACE
311  SUBROUTINE cdlproj(NS,NPTFR,NBOR,LIMPRO,XNEBOR,YNEBOR,KNEU,UA)
312  IMPLICIT NONE
313  INTEGER, INTENT(IN) :: NS,NPTFR,KNEU
314  INTEGER, INTENT(IN) :: NBOR(nptfr),LIMPRO(nptfr,6)
315  DOUBLE PRECISION, INTENT(IN) :: XNEBOR(2*nptfr),YNEBOR(2*nptfr)
316  DOUBLE PRECISION, INTENT(INOUT) :: UA(3,ns)
317  END SUBROUTINE
318  END INTERFACE
319 !
320 !-----------------------------------------------------------------------
321 !
322  INTERFACE
323  SUBROUTINE cdl_cin
324  &(limpro,ua,ce,fluent,flusort,flbor,dt,fluhbtemp)
325  USE bief_def
327  IMPLICIT NONE
328  INTEGER, INTENT(IN) :: LIMPRO(nptfr,6)
329  DOUBLE PRECISION, INTENT(IN) :: UA(3,npoin)
330  DOUBLE PRECISION, INTENT(INOUT) :: DT
331  DOUBLE PRECISION, INTENT(INOUT) :: CE(npoin,3),FLUENT,FLUSORT
332  TYPE(bief_obj) , INTENT(INOUT) :: FLUHBTEMP
333  TYPE(bief_obj) , INTENT(INOUT) :: FLBOR
334  END SUBROUTINE
335  END INTERFACE
336 !
337 !-----------------------------------------------------------------------
338 !
339  INTERFACE
340  SUBROUTINE cdl_fv
341  &(limpro,w,ce,fluent,flusort,flbor,fluhbtemp)
342  USE bief_def
344  IMPLICIT NONE
345  INTEGER, INTENT(IN) :: LIMPRO(nptfr,6)
346  DOUBLE PRECISION, INTENT(IN) :: W(3,npoin)
347  DOUBLE PRECISION, INTENT(INOUT) :: CE(npoin,3),FLUENT,FLUSORT
348  TYPE(bief_obj) , INTENT(INOUT) :: FLUHBTEMP
349  TYPE(bief_obj) , INTENT(INOUT) :: FLBOR
350  END SUBROUTINE
351  END INTERFACE
352 !
353 !-----------------------------------------------------------------------
354 !
355  INTERFACE
356  SUBROUTINE chpconv(UCONV,VCONV,U,V,UN,VN,TETAU)
358  IMPLICIT NONE
359  DOUBLE PRECISION, INTENT(IN) :: TETAU
360  TYPE(bief_obj), INTENT(IN) :: U,UN,V,VN
361  TYPE(bief_obj), INTENT(INOUT) :: UCONV,VCONV
362  END SUBROUTINE
363  END INTERFACE
364 !
365 !-----------------------------------------------------------------------
366 !
367  INTERFACE
368  SUBROUTINE clhuvt
369  &(nweirs,npsing,ndga1,ndgb1,zdig,
370  & x,y,zf,ioptan,unorm,chestr,
371  & nkfrot,karman,t,ntrac,h,ubor,vbor,tbor,nbor,
372  & lihbor,liubor,livbor,litbor)
373  USE bief_def
374  IMPLICIT NONE
375  INTEGER, INTENT(IN) :: NWEIRS,IOPTAN
376  INTEGER, INTENT(IN) :: NBOR(*),NKFROT(*)
377  INTEGER, INTENT(INOUT) :: LIUBOR(*),LIHBOR(*),LIVBOR(*)
378  INTEGER, INTENT(IN) :: NTRAC
379  DOUBLE PRECISION, INTENT(IN) :: X(*),Y(*),ZF(*),CHESTR(*),H(*)
380  DOUBLE PRECISION, INTENT(IN) :: UNORM(*)
381  DOUBLE PRECISION, INTENT(INOUT) :: UBOR(*),VBOR(*)
382  DOUBLE PRECISION, INTENT(IN) :: KARMAN
383  TYPE(bief_obj) , INTENT(IN) :: NPSING,NDGA1,NDGB1
384  TYPE(bief_obj) , INTENT(IN) :: ZDIG
385  TYPE(bief_obj), INTENT(INOUT) :: LITBOR,TBOR
386  TYPE(bief_obj), INTENT(IN) :: T
387  END SUBROUTINE
388  END INTERFACE
389 !
390 !-----------------------------------------------------------------------
391 !
392  INTERFACE
393  SUBROUTINE clsing
394  &(nweirs,npsing,ndga1,ndgb1,x,y,zf,chestr,nkfrot,karman,
395  & zdig,phidig,nbor,h,t,ntrac,ioptan,unorm,
396  & ubor,vbor,tbor,lihbor,liubor,livbor,litbor,grav)
397  USE bief_def
398  IMPLICIT NONE
399  INTEGER, INTENT(IN) :: NWEIRS,IOPTAN
400  INTEGER, INTENT(IN) :: NKFROT(*),NBOR(*)
401  INTEGER, INTENT(INOUT) :: LIUBOR(*),LIVBOR(*),LIHBOR(*)
402  INTEGER, INTENT(IN) :: NTRAC
403  DOUBLE PRECISION, INTENT(IN) :: H(*)
404  DOUBLE PRECISION, INTENT(IN) :: X(*),Y(*),ZF(*),CHESTR(*)
405  DOUBLE PRECISION, INTENT(IN) :: KARMAN,GRAV
406  DOUBLE PRECISION, INTENT(INOUT) :: UBOR(*),VBOR(*)
407  DOUBLE PRECISION, INTENT(INOUT) :: UNORM(*)
408  TYPE(bief_obj) , INTENT(IN) :: NPSING,NDGA1,NDGB1
409  TYPE(bief_obj) , INTENT(IN) :: PHIDIG,ZDIG
410  TYPE(bief_obj) , INTENT(INOUT) :: TBOR,LITBOR
411  TYPE(bief_obj) , INTENT(IN) :: T
412  END SUBROUTINE
413  END INTERFACE
414 !
415 !-----------------------------------------------------------------------
416 !
417  INTERFACE
418  SUBROUTINE cltrac
419  &(nweirs,npsing,ndga1,ndgb1,zf,zdig,h,t,nbor,litbor,tbor,ntrac)
420  USE bief_def
421  IMPLICIT NONE
422  INTEGER, INTENT(IN) :: NWEIRS,NTRAC
423  INTEGER, INTENT(IN) :: NBOR(*)
424  DOUBLE PRECISION, INTENT(IN) :: ZF(*),H(*)
425  TYPE(bief_obj) , INTENT(IN) :: NPSING,NDGA1,NDGB1
426  TYPE(bief_obj) , INTENT(IN) :: ZDIG
427  TYPE(bief_obj), INTENT(INOUT) :: LITBOR,TBOR
428  TYPE(bief_obj), INTENT(IN) :: T
429  END SUBROUTINE
430  END INTERFACE
431 !
432 !-----------------------------------------------------------------------
433 !
434  INTERFACE
435  SUBROUTINE coefmat(PERIAF,DT,M,AM,NPERIAF)
436  IMPLICIT NONE
437  INTEGER, INTENT(IN ) :: NPERIAF,M
438  DOUBLE PRECISION, INTENT(IN ) :: DT,PERIAF(nperiaf)
439  DOUBLE PRECISION, INTENT(INOUT) :: AM(2*nperiaf,2*nperiaf)
440  END SUBROUTINE
441  END INTERFACE
442 
443 !-----------------------------------------------------------------------
444 !
445  INTERFACE
446  SUBROUTINE collect_values
449  IMPLICIT NONE
450  END SUBROUTINE
451  END INTERFACE
452 !
453 !-----------------------------------------------------------------------
454 !
455  INTERFACE
456  SUBROUTINE collect_values_wave
459  IMPLICIT NONE
460  END SUBROUTINE
461  END INTERFACE
462 !
463 !-----------------------------------------------------------------------
464 !
465  INTERFACE
466  SUBROUTINE collect_values_trac
469  IMPLICIT NONE
470  END SUBROUTINE
471  END INTERFACE
472 !
473 !-----------------------------------------------------------------------
474 !
475  INTERFACE
476  SUBROUTINE complim
477  &(liubor,livbor,litbor,ubor,vbor,tbor,
478  & aubor,atbor,btbor,nptfr,trac,
479  & kent,kentu,ksort,kadh,klog,ielmu,ielmv,ielmt,
480  & iklbor,neleb,nelebx)
481  USE bief_def
482  IMPLICIT NONE
483  INTEGER, INTENT(IN) :: NPTFR,KENT,KSORT,KADH,KLOG,KENTU
484  INTEGER, INTENT(IN) :: IELMU,IELMV,IELMT,NELEB,NELEBX
485  LOGICAL, INTENT(IN) :: TRAC
486  INTEGER, INTENT(INOUT) :: LIUBOR(*),LIVBOR(*)
487  INTEGER, INTENT(INOUT) :: LITBOR(*)
488  INTEGER, INTENT(IN) :: IKLBOR(nelebx,3)
489  DOUBLE PRECISION, INTENT(INOUT) :: UBOR(2*nptfr,2),VBOR(2*nptfr,2)
490  DOUBLE PRECISION, INTENT(INOUT) :: AUBOR(*)
491  DOUBLE PRECISION, INTENT(INOUT) :: TBOR(*),ATBOR(*)
492  DOUBLE PRECISION, INTENT(INOUT) :: BTBOR(*)
493  END SUBROUTINE
494  END INTERFACE
495 !
496 !-----------------------------------------------------------------------
497 !
498  INTERFACE
499  SUBROUTINE condin_adj(NRES,RESFORMAT)
500  IMPLICIT NONE
501  INTEGER, INTENT(IN) :: NRES
502  CHARACTER(LEN=*), INTENT(IN) :: RESFORMAT
503  END SUBROUTINE
504  END INTERFACE
505 !
506 !-----------------------------------------------------------------------
507 !
508  INTERFACE
509  SUBROUTINE conv_mercator_to_degdec
510  &(ntab,xtab,ytab,lambdatab,phitab,geosyst,numzone,long0,lat0)
511  IMPLICIT NONE
512  INTEGER, INTENT(IN) :: NTAB,GEOSYST,NUMZONE
513  DOUBLE PRECISION, INTENT(IN) :: LAT0,LONG0
514  DOUBLE PRECISION, INTENT(IN) :: XTAB(ntab),YTAB(ntab)
515  DOUBLE PRECISION, INTENT(OUT) :: LAMBDATAB(ntab),PHITAB(ntab)
516  END SUBROUTINE
517  END INTERFACE
518 !
519 !-----------------------------------------------------------------------
520 !
521  INTERFACE
522  SUBROUTINE conv_lambert_to_degdec
523  &(ntab,xtab,ytab,lambdatab,phitab,numzone,nl93)
524  IMPLICIT NONE
525  INTEGER, INTENT(IN) :: NTAB,NUMZONE,NL93
526  DOUBLE PRECISION, INTENT(IN) :: XTAB(ntab),YTAB(ntab)
527  DOUBLE PRECISION, INTENT(OUT) :: LAMBDATAB(ntab),PHITAB(ntab)
528  END SUBROUTINE
529  END INTERFACE
530 !
531 !-----------------------------------------------------------------------
532 !
533  INTERFACE
534  SUBROUTINE cornor
535  &(xnebor,ynebor,xsgbor,ysgbor,nptfr,klog,
536  & lihbor,t1,t2,mesh,iklbor,neleb,nelebx)
537  USE bief_def
538  IMPLICIT NONE
539  INTEGER, INTENT(IN) :: NPTFR,KLOG,NELEB,NELEBX
540  INTEGER, INTENT(IN) :: LIHBOR(nptfr)
541  INTEGER, INTENT(IN) :: IKLBOR(nelebx,2)
542  DOUBLE PRECISION, INTENT(IN) :: XSGBOR(nelebx,4)
543  DOUBLE PRECISION, INTENT(IN) :: YSGBOR(nelebx,4)
544  DOUBLE PRECISION, INTENT(INOUT) :: XNEBOR(nptfr,2),YNEBOR(nptfr,2)
545  TYPE(bief_obj), INTENT(INOUT) :: T1,T2
546  TYPE(bief_mesh), INTENT(INOUT) :: MESH
547  END SUBROUTINE
548  END INTERFACE
549 !
550 !-----------------------------------------------------------------------
551 !
552  INTERFACE
553  SUBROUTINE corpor(POROS)
555  IMPLICIT NONE
556  TYPE(bief_obj), INTENT(INOUT) :: POROS
557  END SUBROUTINE
558  END INTERFACE
559 !
560 !-----------------------------------------------------------------------
561 !
562  INTERFACE
563  SUBROUTINE correction_depth_2d(GLOSEG,DIMGLO,YASMH)
564  IMPLICIT NONE
565  INTEGER, INTENT(IN) :: DIMGLO
566  INTEGER, INTENT(IN) :: GLOSEG(dimglo,2)
567  LOGICAL, INTENT(IN) :: YASMH
568  END SUBROUTINE
569  END INTERFACE
570 !
571 !-----------------------------------------------------------------------
572 !
573  INTERFACE
574  SUBROUTINE cosake
575  &(karman,cmu,c1,c2,sigmak,sigmae,estar,schmit,kmin,kmax,emin,emax)
576  IMPLICIT NONE
577  DOUBLE PRECISION, INTENT(OUT) :: KMIN,KMAX,EMIN,EMAX
578  DOUBLE PRECISION, INTENT(OUT) :: KARMAN,CMU,C1,C2
579  DOUBLE PRECISION, INTENT(OUT) :: SIGMAK,SIGMAE,ESTAR,SCHMIT
580  END SUBROUTINE
581  END INTERFACE
582 !
583 !-----------------------------------------------------------------------
584 !
585  INTERFACE
586  SUBROUTINE cost_function(JCOUT,OPTION,MODE)
587  IMPLICIT NONE
588  DOUBLE PRECISION , INTENT(INOUT) :: JCOUT
589  INTEGER , INTENT(IN) :: OPTION
590  CHARACTER(LEN=3) , INTENT(IN) :: MODE
591  END SUBROUTINE
592  END INTERFACE
593 !
594 !-----------------------------------------------------------------------
595 !
596  INTERFACE
597  SUBROUTINE cubeequation(ACOF, BCOF, CCOF, DCOF, REALS, X)
598  IMPLICIT NONE
599  DOUBLE PRECISION, INTENT(IN) :: ACOF, BCOF, CCOF, DCOF
600  INTEGER, INTENT(OUT) :: REALS
601  DOUBLE PRECISION, INTENT(OUT) :: X(3)
602  END SUBROUTINE
603  END INTERFACE
604 !
605 !-----------------------------------------------------------------------
606 !
607  INTERFACE
608  SUBROUTINE debimp
609  &(q,ubor,vbor,u,v,h,numliq,ifrliq,work1,work2,nptfr,mask,mesh)
610  USE bief_def
611  IMPLICIT NONE
612  INTEGER, INTENT(IN) :: NPTFR,IFRLIQ
613  INTEGER, INTENT(IN) :: NUMLIQ(nptfr)
614  DOUBLE PRECISION, INTENT(INOUT) :: UBOR(nptfr),VBOR(nptfr)
615  DOUBLE PRECISION, INTENT(IN) :: MASK(*),Q
616  TYPE(bief_mesh), INTENT(INOUT) :: MESH
617  TYPE(bief_obj), INTENT(IN) :: H
618  TYPE(bief_obj), INTENT(INOUT) :: WORK1,WORK2,U,V
619  END SUBROUTINE
620  END INTERFACE
621 !
622 !-----------------------------------------------------------------------
623 !
624  INTERFACE
625  DOUBLE PRECISION FUNCTION debsce( TIME , I , DISCE )
626  IMPLICIT NONE
627  DOUBLE PRECISION, INTENT(IN) :: TIME,DISCE(*)
628  INTEGER , INTENT(IN) :: I
629  END FUNCTION
630  END INTERFACE
631 !
632 !-----------------------------------------------------------------------
633 !
634  INTERFACE
635  SUBROUTINE difsou
636  &(texp,timp,tscexp,hprop,tn,tetat,nrejtr,isce,dsce,tsce,
637  & maxsce,maxtra,at,dt,massou,ntrac,fac,nbuse,entbus,sorbus,
638  & dbus,tbus,nweirs,typseuil,n_nghb_w_nodes,
639  & nreg,pt_in_poly,tnp,npoin)
640  USE bief_def
641  IMPLICIT NONE
642  INTEGER , INTENT(IN) :: ISCE(*),NREJTR,NTRAC
643  INTEGER , INTENT(IN) :: NBUSE,NWEIRS
644  INTEGER , INTENT(IN) :: N_NGHB_W_NODES
645  INTEGER , INTENT(IN) :: ENTBUS(nbuse),SORBUS(nbuse)
646  INTEGER , INTENT(IN) :: MAXSCE,MAXTRA,TYPSEUIL
647  INTEGER , INTENT(IN) :: FAC(*)
648  INTEGER , INTENT(IN) :: NPOIN,NREG
649  INTEGER , INTENT(IN) :: TNP(nreg)
650  INTEGER , INTENT(IN) :: PT_IN_POLY(maxsce,npoin)
651  DOUBLE PRECISION , INTENT(IN) :: AT,DT,TETAT,DSCE(*)
652  DOUBLE PRECISION , INTENT(IN) :: DBUS(nbuse)
653  DOUBLE PRECISION , INTENT(IN) :: TSCE(maxsce,maxtra)
654  DOUBLE PRECISION , INTENT(INOUT) :: MASSOU(*)
655  TYPE(bief_obj) , INTENT(IN) :: HPROP,TBUS
656  TYPE(bief_obj) , INTENT(INOUT) :: TSCEXP,TEXP,TIMP,TN
657  END SUBROUTINE
658  END INTERFACE
659 !
660 !-----------------------------------------------------------------------
661 !
662  INTERFACE
663  SUBROUTINE disper( VISC , U , V , H , CF , ELDER , PROPNU )
665  IMPLICIT NONE
666  DOUBLE PRECISION, INTENT(IN) :: ELDER(2),PROPNU
667  DOUBLE PRECISION, INTENT(IN) :: H(*),CF(*),U(*),V(*)
668  TYPE(bief_obj), INTENT(INOUT) :: VISC
669  END SUBROUTINE
670  END INTERFACE
671 !
672 !-----------------------------------------------------------------------
673 !
674  INTERFACE
675  SUBROUTINE dragcoeff(V,D,VK,CW)
676  IMPLICIT NONE
677  DOUBLE PRECISION, INTENT(IN) :: V, D, VK
678  DOUBLE PRECISION, INTENT(OUT) :: CW
679  END SUBROUTINE
680  END INTERFACE
681 !
682 !-----------------------------------------------------------------------
683 !
684  INTERFACE
685  SUBROUTINE dragfo(FUDRAG,FVDRAG)
687  IMPLICIT NONE
688  TYPE(bief_obj), INTENT(INOUT) :: FUDRAG,FVDRAG
689  END SUBROUTINE
690  END INTERFACE
691 !
692 !-----------------------------------------------------------------------
693 !
694  INTERFACE
695  SUBROUTINE entete(IETAPE,AT,LT,ASCHEME,AORDRE)
696  IMPLICIT NONE
697  DOUBLE PRECISION, INTENT(IN) :: AT
698  INTEGER, INTENT(IN) :: LT,IETAPE
699  INTEGER, INTENT(IN),OPTIONAL :: ASCHEME,AORDRE
700  END SUBROUTINE
701  END INTERFACE
702 !
703 !-----------------------------------------------------------------------
704 !
705  INTERFACE
706  DOUBLE PRECISION FUNCTION exlim(ILIM,BETA,GRI,GRIJ)
707  IMPLICIT NONE
708  INTEGER, INTENT(IN) :: ILIM
709  DOUBLE PRECISION, INTENT(IN) :: GRI,GRIJ,BETA
710  END FUNCTION
711  END INTERFACE
712 !
713 !-----------------------------------------------------------------------
714 !
715  INTERFACE
716  SUBROUTINE filter_h
717  &(vec,t1,mesh,msk,maskel,n,flodel,yaflodel,dt,w1,unsv2d)
718  USE bief_def
719  IMPLICIT NONE
720  INTEGER, INTENT(IN) :: N
721  DOUBLE PRECISION, INTENT(IN) :: DT
722  LOGICAL, INTENT(IN) :: MSK,YAFLODEL
723  TYPE(bief_mesh), INTENT(INOUT):: MESH
724  TYPE(bief_obj), INTENT(INOUT) :: VEC,T1,FLODEL,W1
725  TYPE(bief_obj), INTENT(IN) :: MASKEL,UNSV2D
726  END SUBROUTINE
727  END INTERFACE
728 !
729 !-----------------------------------------------------------------------
730 !
731  INTERFACE
732  SUBROUTINE flot
733  &(xflot,yflot,nflot,nflot_max,x,y,ikle,nelem,nelmax,npoin,
734  & tagflo,clsflo,shpflo,eltflo,mesh,lt,nit,at)
735  USE bief_def
736  IMPLICIT NONE
737  INTEGER, INTENT(IN) :: NPOIN,NIT,NFLOT_MAX,LT
738  INTEGER, INTENT(IN) :: NELEM,NELMAX
739  INTEGER, INTENT(IN) :: IKLE(nelmax,3)
740  INTEGER, INTENT(INOUT) :: NFLOT
741  INTEGER, INTENT(INOUT) :: TAGFLO(nflot_max)
742  INTEGER, INTENT(INOUT) :: CLSFLO(nflot_max)
743  INTEGER, INTENT(INOUT) :: ELTFLO(nflot_max)
744  DOUBLE PRECISION, INTENT(IN) :: X(npoin),Y(npoin),AT
745  DOUBLE PRECISION, INTENT(INOUT) :: XFLOT(nflot_max)
746  DOUBLE PRECISION, INTENT(INOUT) :: YFLOT(nflot_max)
747  DOUBLE PRECISION, INTENT(INOUT) :: SHPFLO(3,nflot_max)
748  TYPE(bief_mesh) , INTENT(INOUT) :: MESH
749  END SUBROUTINE
750  END INTERFACE
751 !
752 !-----------------------------------------------------------------------
753 !
754  INTERFACE
755  SUBROUTINE flusec_telemac2d
756  &(u,v,h,ikle,nelmax,nelem,x,y,dt,ncp,ctrlsc,info,tps,
757  & msksec,bm1,bm2,hprop,mesh,s,cv1,ifabor,comflu,cumflo)
758  USE bief_def
759  IMPLICIT NONE
760  INTEGER, INTENT(IN) :: NELMAX,NELEM
761  INTEGER, INTENT(INOUT) :: NCP ! CAN BE CHANGED
762  INTEGER, INTENT(INOUT) :: CTRLSC(ncp) ! CAN BE CHANGED
763  INTEGER, INTENT(IN) :: IKLE(nelmax,*)
764  INTEGER, INTENT(IN) :: IFABOR(nelmax,*)
765  DOUBLE PRECISION, INTENT(IN) :: X(*),Y(*),TPS,DT
766  LOGICAL, INTENT(IN) :: INFO,COMFLU,CUMFLO
767  TYPE(bief_obj), INTENT(IN) :: HPROP,S,U,V,H
768  TYPE(bief_obj), INTENT(INOUT) :: BM1,BM2,MSKSEC,CV1
769  TYPE(bief_mesh) :: MESH
770  END SUBROUTINE
771  END INTERFACE
772 !
773 !-----------------------------------------------------------------------
774 !
775  INTERFACE
776  SUBROUTINE flusec_t2d
777  &(gloseg,dimglo,dt,mesh,flodel,doplot)
778  USE bief_def
779  IMPLICIT NONE
780  INTEGER, INTENT(IN) :: DIMGLO
781  INTEGER, INTENT(IN) :: GLOSEG(dimglo,2)
782  LOGICAL, INTENT(IN) :: DOPLOT
783  DOUBLE PRECISION, INTENT(IN) :: DT
784  TYPE(bief_mesh) :: MESH
785  TYPE(bief_obj), INTENT(IN) :: FLODEL
786  END SUBROUTINE
787  END INTERFACE
788 !
789 !-----------------------------------------------------------------------
790 !
791  INTERFACE
792  SUBROUTINE flusrc
793  &(iel1,iel2,isegin,vnoin,w,hdz1,hdz2,hdxz1,hdyz1,hdxz2,hdyz2,eps)
795  IMPLICIT NONE
796  INTEGER, INTENT(IN) :: ISEGIN,IEL1,IEL2
797  DOUBLE PRECISION, INTENT(IN) :: EPS,VNOIN(3,nseg)
798  DOUBLE PRECISION, INTENT(IN) :: W(3,npoin)
799  DOUBLE PRECISION, INTENT(INOUT) :: HDZ1,HDZ2,HDXZ1,HDYZ1,HDXZ2
800  DOUBLE PRECISION, INTENT(INOUT) :: HDYZ2
801  END SUBROUTINE
802  END INTERFACE
803 !
804 !-----------------------------------------------------------------------
805 !
806  INTERFACE
807  SUBROUTINE flux_fv
808  &(w,limpro,nubo,vnoin,flux,flusort,fluent,flbor,eltseg,ifabor,dt,
809  & fluhbtemp,fluhtemp,leo,gprdtime,neiseg)
810  USE bief_def
812  IMPLICIT NONE
813  LOGICAL, INTENT(INOUT) :: LEO
814  INTEGER, INTENT(IN) :: LIMPRO(nptfr,6)
815  INTEGER, INTENT(IN) :: NUBO(2,*)
816  INTEGER, INTENT(IN) :: ELTSEG(nelem,3),IFABOR(nelem,*)
817  INTEGER, INTENT(IN) :: NEISEG(2,nseg)
818  DOUBLE PRECISION, INTENT(IN) :: VNOIN(3,*)
819  DOUBLE PRECISION, INTENT(IN) :: GPRDTIME
820  DOUBLE PRECISION, INTENT(INOUT) :: FLUX(npoin,3),FLUSORT,FLUENT
821  DOUBLE PRECISION, INTENT(INOUT) :: DT,W(3,npoin)
822  TYPE(bief_obj) , INTENT(INOUT) :: FLBOR
823  TYPE(bief_obj) , INTENT(INOUT) :: FLUHTEMP,FLUHBTEMP
824  END SUBROUTINE
825  END INTERFACE
826 !
827 !-----------------------------------------------------------------------
828 !
829  INTERFACE
830  SUBROUTINE flux_choice
831  &(hg,hd,hrg,hrd,ug,ud,vg,vd,zg,zd,xnn,ynn,flxg,flxd,hg_up,hd_up,
832  & vg_up,vd_up,dx)
833  IMPLICIT NONE
834  DOUBLE PRECISION, INTENT(IN) :: HG,HD,UG,UD,VG,VD,ZG,ZD,HRG,HRD
835  DOUBLE PRECISION, INTENT(IN) :: XNN,YNN,DX
836  DOUBLE PRECISION, INTENT(IN) :: HG_UP,HD_UP,VG_UP,VD_UP
837  DOUBLE PRECISION, INTENT(INOUT) :: FLXG(3),FLXD(3)
838  END SUBROUTINE
839  END INTERFACE
840 !
841 !-----------------------------------------------------------------------
842 !
843  INTERFACE
844  SUBROUTINE flux_hllc
845  &(h1,h2,u1,u2,v1,v2,
846  & xnn,ynn,hllcflx,rot)
847 !
848  IMPLICIT NONE
849  LOGICAL, INTENT(IN) :: ROT
850  DOUBLE PRECISION, INTENT(IN) :: H1,H2,U1,U2
851  DOUBLE PRECISION, INTENT(IN) :: V1,V2,XNN,YNN
852  DOUBLE PRECISION, INTENT(INOUT) :: HLLCFLX(3)
853  END SUBROUTINE
854  END INTERFACE
855 !
856 !-----------------------------------------------------------------------
857 !
858  INTERFACE
859  SUBROUTINE flux_kin
860  &(hij,hji,u1,u2,v1,v2,xnn,ynn,flx)
861 !
862  IMPLICIT NONE
863  DOUBLE PRECISION, INTENT(IN) :: HIJ,HJI,U1,U2,V1,V2
864  DOUBLE PRECISION, INTENT(IN) :: XNN,YNN
865  DOUBLE PRECISION, INTENT(INOUT) :: FLX(3)
866  END SUBROUTINE
867  END INTERFACE
868 !
869 !-----------------------------------------------------------------------
870 !
871  INTERFACE
872  SUBROUTINE flux_roe
873  &(hi,hj,ui,uj,vi,vj,xn,yn,flx)
874 !
875  IMPLICIT NONE
876  DOUBLE PRECISION, INTENT(IN) :: HI,HJ,UI,UJ,VI,VJ
877  DOUBLE PRECISION, INTENT(IN) :: XN,YN
878  DOUBLE PRECISION, INTENT(INOUT) :: FLX(3)
879  END SUBROUTINE
880  END INTERFACE
881 !
882 !-----------------------------------------------------------------------
883 !
884  INTERFACE
885  SUBROUTINE flux_waf
886  & (h1,h2,u1,u2,v1,v2,
887  & hl_up,hr_up,vl_up,vr_up,
888  & xnn,ynn,dx,wafflx)
889  IMPLICIT NONE
890  DOUBLE PRECISION, INTENT(IN) :: H1,H2,U1,U2
891  DOUBLE PRECISION, INTENT(IN) :: V1,V2,XNN,YNN
892  DOUBLE PRECISION, INTENT(IN) :: HL_UP,HR_UP,VL_UP,VR_UP
893  DOUBLE PRECISION, INTENT(IN) :: DX
894  DOUBLE PRECISION, INTENT(INOUT) :: WAFFLX(3)
895  END SUBROUTINE
896  END INTERFACE
897 !
898 !-----------------------------------------------------------------------
899 !
900  INTERFACE
901  SUBROUTINE flux_tchamen
902  &(h1,h2,zf1,zf2,u1,u2,v1,v2,xnn,ynn,flxi,flxj)
903  USE bief_def
904  IMPLICIT NONE
905  DOUBLE PRECISION, INTENT(IN) :: H1,H2,U1,U2
906  DOUBLE PRECISION, INTENT(IN) :: V1,V2,XNN,YNN,ZF1,ZF2
907  DOUBLE PRECISION, INTENT(INOUT) :: FLXI(3),FLXJ(3)
908  END SUBROUTINE
909  END INTERFACE
910 !
911 !-----------------------------------------------------------------------
912 !
913  INTERFACE
914  SUBROUTINE flux_zokagoa
915  &(h1,h2,zf1,zf2,u1,u2,
916  & v1,v2,xnn,ynn,flxi,flxj)
917  IMPLICIT NONE
918  DOUBLE PRECISION, INTENT(IN) :: H1,H2,U1,U2
919  DOUBLE PRECISION, INTENT(IN) :: V1,V2,XNN,YNN,ZF1,ZF2
920  DOUBLE PRECISION, INTENT(INOUT) :: FLXI(3),FLXJ(3)
921  END SUBROUTINE
922  END INTERFACE
923 !
924 !-----------------------------------------------------------------------
925 !
926  INTERFACE
927  SUBROUTINE friction(NS,G,DT,UA,H,QU,QV,CF)
928  IMPLICIT NONE
929  INTEGER, INTENT(IN) :: NS
930  DOUBLE PRECISION, INTENT(IN) :: G,DT
931  DOUBLE PRECISION, INTENT(IN) :: CF(ns)
932  DOUBLE PRECISION, INTENT(IN) :: H(ns),QU(ns),QV(ns)
933  DOUBLE PRECISION, INTENT(INOUT) :: UA(3,ns)
934  END SUBROUTINE
935  END INTERFACE
936 !
937 !-----------------------------------------------------------------------
938 !
939  INTERFACE
940  SUBROUTINE friction_bubble
941  & (ikle, npoin, nelem, nelmax, vegetation, nkfrot, chestr, ndefma,
942  & vcoeff, veglaw)
943  USE bief_def
944  IMPLICIT NONE
945  TYPE(bief_obj), INTENT(IN) :: IKLE
946  INTEGER, INTENT(IN) :: NPOIN, NELEM, NELMAX
947  LOGICAL, INTENT(IN) :: VEGETATION
948  TYPE(bief_obj), INTENT(INOUT) :: NKFROT,CHESTR,NDEFMA
949  TYPE(bief_obj), INTENT(INOUT) :: VCOEFF,VEGLAW
950  END SUBROUTINE
951  END INTERFACE
952 !
953 !-----------------------------------------------------------------------
954 !
955  INTERFACE
956  SUBROUTINE friction_calc
957  &(n_start, n_end, kfrot, ndef, vk, grav,
958  & karman, chestr, dw_mesh, hc, vres, cf)
959  USE bief_def
960  IMPLICIT NONE
961  INTEGER, INTENT(IN) :: N_START, N_END, KFROT
962  DOUBLE PRECISION, INTENT(IN) :: NDEF, VK, GRAV, KARMAN
963  TYPE(bief_obj), INTENT(IN) :: CHESTR, DW_MESH, HC, VRES
964  TYPE(bief_obj), INTENT(INOUT) :: CF
965  END SUBROUTINE
966  END INTERFACE
967 !
968 !-----------------------------------------------------------------------
969 !
970  INTERFACE
971  SUBROUTINE friction_choice(FRICTION_PASS)
972  IMPLICIT NONE
973  INTEGER, INTENT(IN) :: FRICTION_PASS
974  END SUBROUTINE
975  END INTERFACE
976 !
977 !-----------------------------------------------------------------------
978 !
979  INTERFACE
980  SUBROUTINE friction_lindner(VA,HA,VK,G,DP,SP,CP)
981  IMPLICIT NONE
982  DOUBLE PRECISION, INTENT(IN) :: VA,HA,VK,G,DP,SP
983  DOUBLE PRECISION, INTENT(OUT) :: CP
984  END SUBROUTINE
985  END INTERFACE
986 !
987 !-----------------------------------------------------------------------
988 !
989  INTERFACE
990  SUBROUTINE friction_baptist(HA,CD,MD,HVEG,KARMAN,CP)
991  IMPLICIT NONE
992  DOUBLE PRECISION, INTENT(IN) :: HA,CD,MD,HVEG,KARMAN
993  DOUBLE PRECISION, INTENT(OUT) :: CP
994  END SUBROUTINE
995  END INTERFACE
996 !
997 !-----------------------------------------------------------------------
998 !
999  INTERFACE
1000  SUBROUTINE friction_vastila(VA,HA,CDXF,LAI,UREFF,VOGELF,
1001  & CDXS,SAI,UREFS,VOGELS,HVEG,CP)
1002  IMPLICIT NONE
1003  DOUBLE PRECISION, INTENT(IN) :: VA,HA,CDXF,LAI,UREFF,VOGELF
1004  DOUBLE PRECISION, INTENT(IN) :: CDXS,SAI,UREFS,VOGELS,HVEG
1005  DOUBLE PRECISION, INTENT(OUT) :: CP
1006  END SUBROUTINE
1007  END INTERFACE
1008 !
1009 !-----------------------------------------------------------------------
1010 !
1011  INTERFACE
1012  SUBROUTINE friction_jaervelae(VA,HA,CDX,LAI,UREF,VOGEL,HVEG,CP)
1013  IMPLICIT NONE
1014  DOUBLE PRECISION, INTENT(IN) :: VA,HA,CDX,LAI,UREF,VOGEL
1015  DOUBLE PRECISION, INTENT(IN) :: HVEG
1016  DOUBLE PRECISION, INTENT(OUT) :: CP
1017  END SUBROUTINE
1018  END INTERFACE
1019 !
1020 !-----------------------------------------------------------------------
1021 !
1022  INTERFACE
1023  SUBROUTINE friction_huthoff(HA,CD,MD,HVEG,SP,CP)
1024  IMPLICIT NONE
1025  DOUBLE PRECISION, INTENT(IN) :: HA,CD,MD, HVEG,SP
1026  DOUBLE PRECISION, INTENT(OUT) :: CP
1027  END SUBROUTINE
1028  END INTERFACE
1029 !
1030 !-----------------------------------------------------------------------
1031 !
1032  INTERFACE
1033  SUBROUTINE friction_luharnepf(HA,CD,CV,A,HVEG,CP)
1034  IMPLICIT NONE
1035  DOUBLE PRECISION, INTENT(IN) :: HA,CD,CV,A,HVEG
1036  DOUBLE PRECISION, INTENT(OUT) :: CP
1037  END SUBROUTINE
1038  END INTERFACE
1039 !
1040 !-----------------------------------------------------------------------
1041 !
1042  INTERFACE
1043  SUBROUTINE friction_whittaker(VA,HA,CD0,AP0,EI,VOGEL,
1044  & SP,HVEG,ROEAU,CP)
1045  IMPLICIT NONE
1046  DOUBLE PRECISION, INTENT(IN) :: VA,HA,CD0,AP0,EI,VOGEL
1047  DOUBLE PRECISION, INTENT(IN) :: SP,HVEG,ROEAU
1048  DOUBLE PRECISION, INTENT(OUT) :: CP
1049  END SUBROUTINE
1050  END INTERFACE
1051 !
1052 !-----------------------------------------------------------------------
1053 !
1054  INTERFACE
1055  SUBROUTINE friction_vanvelzen(HA,CD,MD,HVEG,KARMAN,CP)
1056  IMPLICIT NONE
1057  DOUBLE PRECISION, INTENT(IN) :: HA,CD,MD,HVEG,KARMAN
1058  DOUBLE PRECISION, INTENT(OUT) :: CP
1059  END SUBROUTINE
1060  END INTERFACE
1061 !
1062 !-----------------------------------------------------------------------
1063 !
1064  INTERFACE
1065  SUBROUTINE friction_read
1066  & (ncof, nzonmx, iturb, lisrug, vegetation, nomcof, nzones, frtab,
1067  & kfrotl,sb)
1068  USE friction_def
1070  IMPLICIT NONE
1071  INTEGER, INTENT(IN) :: NCOF, NZONMX
1072  INTEGER, INTENT(IN) :: ITURB, LISRUG, KFROTL
1073  LOGICAL, INTENT(IN) :: VEGETATION
1074  DOUBLE PRECISION, INTENT(IN) :: SB
1075  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: NOMCOF
1076  INTEGER, INTENT(OUT) :: NZONES
1077  TYPE(friction_obj), INTENT(INOUT) :: FRTAB
1078  END SUBROUTINE
1079  END INTERFACE
1080 !
1081 !-----------------------------------------------------------------------
1082 !
1083  INTERFACE
1084  SUBROUTINE friction_scan(NCOF,NOMCOF,TYP,LINE)
1086  IMPLICIT NONE
1087  INTEGER, INTENT(IN) :: NCOF
1088  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: NOMCOF
1089  INTEGER, INTENT(INOUT) :: LINE
1090  INTEGER, INTENT(OUT) :: TYP
1091  END SUBROUTINE
1092  END INTERFACE
1093 !
1094 !-----------------------------------------------------------------------
1095 !
1096  INTERFACE
1097  SUBROUTINE friction_unif
1098  & (mesh,h,u,v,chestr,kfrot,kfrotl,lisrug,vegetation,
1099  & ndef,vk,karman,grav,t1,t2,chbord,cf,cfbor,fricou,npoin,orbvel)
1100  USE bief_def
1101  IMPLICIT NONE
1102  TYPE(bief_mesh), INTENT(IN) :: MESH
1103  TYPE(bief_obj), INTENT(IN) :: H,U,V,CHESTR,CHBORD
1104  INTEGER, INTENT(IN) :: KFROT,KFROTL,LISRUG,NPOIN
1105  LOGICAL, INTENT(IN) :: FRICOU,VEGETATION
1106  DOUBLE PRECISION, INTENT(IN) :: NDEF
1107  DOUBLE PRECISION, INTENT(IN) :: VK,KARMAN,GRAV
1108  TYPE(bief_obj), INTENT(INOUT) :: T1,T2
1109  TYPE(bief_obj), INTENT(INOUT) :: CF,CFBOR,ORBVEL
1110  END SUBROUTINE
1111  END INTERFACE
1112 !
1113 !-----------------------------------------------------------------------
1114 !
1115  INTERFACE
1116  SUBROUTINE friction_zones
1117  & (mesh, h, u, v, chestr, chbord, nkfrot, ndefma,
1118  & kfro_b, ndef_b, lisrug, vegetation, vk,
1119  & karman, grav, t1, t2, cf, cfbor)
1120  USE bief_def
1121  IMPLICIT NONE
1122  TYPE(bief_mesh), INTENT(IN) :: MESH
1123  TYPE(bief_obj), INTENT(IN) :: H, U, V
1124  TYPE(bief_obj), INTENT(IN) :: CHESTR
1125  TYPE(bief_obj), INTENT(IN) :: CHBORD
1126  TYPE(bief_obj), INTENT(IN) :: NKFROT
1127  TYPE(bief_obj), INTENT(IN) :: NDEFMA
1128  TYPE(bief_obj), INTENT(IN) :: KFRO_B, NDEF_B
1129  INTEGER, INTENT(IN) :: LISRUG
1130  LOGICAL, INTENT(IN) :: VEGETATION
1131  DOUBLE PRECISION, INTENT(IN) :: VK, KARMAN, GRAV
1132  TYPE(bief_obj), INTENT(INOUT) :: CF, CFBOR
1133  TYPE(bief_obj), INTENT(INOUT) :: T1, T2
1134  END SUBROUTINE
1135  END INTERFACE
1136 !
1137 !-----------------------------------------------------------------------
1138 !
1139  INTERFACE
1140  SUBROUTINE fricti
1141  &(fu_imp,fv_imp,fudrag,fvdrag,un,vn,hn,cf,mesh,t1,t2,vertic,
1142  & unsv2d,msk,maskel,hfrot)
1143  USE bief_def
1144  IMPLICIT NONE
1145  LOGICAL, INTENT(IN) :: VERTIC,MSK
1146  INTEGER, INTENT(IN) :: HFROT
1147  TYPE(bief_obj), INTENT(IN) :: UN,VN,CF,UNSV2D,MASKEL
1148  TYPE(bief_obj), INTENT(IN), TARGET :: HN
1149  TYPE(bief_obj), INTENT(INOUT) :: FU_IMP,FV_IMP,FUDRAG,FVDRAG
1150  TYPE(bief_obj), INTENT(INOUT), TARGET :: T1,T2
1151  TYPE(bief_mesh), INTENT(INOUT) :: MESH
1152  END SUBROUTINE
1153  END INTERFACE
1154 !
1155 !-----------------------------------------------------------------------
1156 !
1157  INTERFACE
1158  SUBROUTINE gestio
1159  &(u,v,c,t,ak,ep,viscsa,utild,vtild,ctild,ttild,aktild,eptild,
1160  & nutild,trac,propa,convv,iturb,ietape)
1161  USE bief_def
1162  IMPLICIT NONE
1163  INTEGER, INTENT(IN) :: ITURB,IETAPE
1164  LOGICAL, INTENT(IN) :: TRAC,CONVV(4),PROPA
1165  TYPE(bief_obj), INTENT(IN) :: T,AK,EP,VISCSA
1166  TYPE(bief_obj), INTENT(INOUT) :: U,V,C
1167  TYPE(bief_obj), INTENT(INOUT) :: UTILD,VTILD,CTILD,TTILD
1168  TYPE(bief_obj), INTENT(INOUT) :: AKTILD,EPTILD,NUTILD
1169  END SUBROUTINE
1170  END INTERFACE
1171 !
1172 !-----------------------------------------------------------------------
1173 !
1174  INTERFACE
1175  SUBROUTINE gradnodt(NS,NT,NU,AIRT,AIRS,H,T,DPX,DPY,DJX,DJY,
1176  & DX,DY,DIFT,CVIST,CE,DTT,MESH)
1177  USE bief_def
1178  IMPLICIT NONE
1179  INTEGER, INTENT(IN) :: NS,NT
1180  INTEGER, INTENT(IN) :: NU(nt,3)
1181  LOGICAL, INTENT(IN) :: DIFT
1182  DOUBLE PRECISION, INTENT(IN) :: DPX(3,nt),DPY(3,nt)
1183  DOUBLE PRECISION, INTENT(IN) :: AIRT(nt),AIRS(ns),H(ns),T(ns)
1184  DOUBLE PRECISION, INTENT(INOUT) :: DJX(nt),DJY(nt),DX(ns),DY(ns)
1185  DOUBLE PRECISION, INTENT(INOUT) :: CE(ns)
1186  DOUBLE PRECISION, INTENT(IN) :: DTT,CVIST
1187  TYPE(bief_mesh), INTENT(INOUT) :: MESH
1188  END SUBROUTINE
1189  END INTERFACE
1190 !
1191 !-----------------------------------------------------------------------
1192 !
1193  INTERFACE
1194  SUBROUTINE gradnod
1195  &(ikle,ua,dpx,dpy,djx,djy,dx,dy,ivis,ce)
1196  USE bief_def
1198  IMPLICIT NONE
1199  INTEGER, INTENT(IN) :: IVIS
1200  INTEGER, INTENT(IN) :: IKLE(nelem,3)
1201  DOUBLE PRECISION, INTENT(INOUT) :: DJX(3,nelem),DJY(3,nelem)
1202  DOUBLE PRECISION, INTENT(INOUT) :: DX(3,npoin),DY(3,npoin)
1203  DOUBLE PRECISION, INTENT(INOUT) :: CE(npoin,3)
1204  DOUBLE PRECISION, INTENT(IN) :: UA(3,npoin)
1205  DOUBLE PRECISION, INTENT(IN) :: DPX(3,nelem),DPY(3,nelem)
1206  END SUBROUTINE
1207  END INTERFACE
1208 !
1209 !-----------------------------------------------------------------------
1210 !
1211  INTERFACE
1212  SUBROUTINE gradz
1213  &(ikle,nubo,cmi,dpx,dpy,dsz,beta,airst,dxiz,dyiz,dsp,dsm,corr)
1214  USE bief_def
1216  IMPLICIT NONE
1217  INTEGER, INTENT(IN) :: IKLE(nelmax,3),NUBO(2,nseg)
1218  DOUBLE PRECISION, INTENT(INOUT) :: DSZ(2,*),BETA
1219  DOUBLE PRECISION, INTENT(INOUT) :: DXIZ(npoin),DYIZ(npoin)
1220  DOUBLE PRECISION, INTENT(INOUT) :: DSP(npoin),DSM(*),CORR(npoin)
1221  DOUBLE PRECISION, INTENT(IN) :: DPX(3,nelmax),DPY(3,nelmax)
1222  DOUBLE PRECISION, INTENT(IN) :: CMI(2,*),AIRST(2,*)
1223  END SUBROUTINE
1224  END INTERFACE
1225 !
1226 !-----------------------------------------------------------------------
1227 !
1228  INTERFACE
1229  SUBROUTINE hyd_fv
1230  &(nubo,w,vnocl,eltseg,ce,ifabor,fluhtemp,neiseg)
1231  USE bief_def
1233  IMPLICIT NONE
1234  INTEGER, INTENT(IN) :: NUBO(2,nseg),NEISEG(2,nseg)
1235  INTEGER, INTENT(IN) :: ELTSEG(nelem,3)
1236  INTEGER, INTENT(IN) :: IFABOR(nelem,3)
1237  DOUBLE PRECISION, INTENT(IN) :: VNOCL(3,nseg)
1238  DOUBLE PRECISION, INTENT(IN) :: W(3,npoin)
1239  DOUBLE PRECISION, INTENT(INOUT) :: CE(npoin,3)
1240  TYPE(bief_obj), INTENT(INOUT) :: FLUHTEMP
1241  END SUBROUTINE
1242  END INTERFACE
1243 
1244 !-----------------------------------------------------------------------
1245 !
1246  INTERFACE
1247  SUBROUTINE hpropa(HPROP,HN,H,PROLIN,HAULIN,TETA,NSOUSI)
1249  IMPLICIT NONE
1250  INTEGER, INTENT(IN) :: NSOUSI
1251  LOGICAL, INTENT(IN) :: PROLIN
1252  DOUBLE PRECISION, INTENT(IN) :: TETA,HAULIN
1253  TYPE(bief_obj), INTENT(IN) :: HN,H
1254  TYPE(bief_obj), INTENT(INOUT) :: HPROP
1255  END SUBROUTINE
1256  END INTERFACE
1257 !
1258 !-----------------------------------------------------------------------
1259 !
1260  INTERFACE
1261  SUBROUTINE init_fv
1262  & (gprdtime,icin,qu,qv,flux_old,w,ivis,neiseg,corr_i,corr_j,
1263  & corr_hl,corr_hr,corr_ul,corr_ur,corr_vl,corr_vr,corr_zl,corr_zr)
1264  USE declarations_telemac2d, ONLY: mesh,npoin
1266  IMPLICIT NONE
1267  INTEGER, INTENT(INOUT) :: ICIN,IVIS,NEISEG(2,mesh%nseg)
1268  DOUBLE PRECISION, INTENT(INOUT) :: GPRDTIME
1269  DOUBLE PRECISION, INTENT(INOUT) :: QU(npoin),QV(npoin)
1270  DOUBLE PRECISION, INTENT(INOUT) :: FLUX_OLD(npoin,3),W(3,npoin)
1271  TYPE(bief_obj), INTENT(INOUT) :: CORR_I
1272  TYPE(bief_obj), INTENT(INOUT) :: CORR_J
1273  TYPE(bief_obj), INTENT(INOUT) :: CORR_HL
1274  TYPE(bief_obj), INTENT(INOUT) :: CORR_HR
1275  TYPE(bief_obj), INTENT(INOUT) :: CORR_UL
1276  TYPE(bief_obj), INTENT(INOUT) :: CORR_UR
1277  TYPE(bief_obj), INTENT(INOUT) :: CORR_VL
1278  TYPE(bief_obj), INTENT(INOUT) :: CORR_VR
1279  TYPE(bief_obj), INTENT(INOUT) :: CORR_ZL
1280  TYPE(bief_obj), INTENT(INOUT) :: CORR_ZR
1281  END SUBROUTINE
1282  END INTERFACE
1283 !
1284 !-----------------------------------------------------------------------
1285 !
1286  INTERFACE
1287  SUBROUTINE initstr(CHESTR,SETSTR,PZONE,NZONE,NPOIN,T1)
1289  IMPLICIT NONE
1290  TYPE(bief_obj), INTENT(IN) :: CHESTR
1291  TYPE(bief_obj), INTENT(INOUT) :: SETSTR,T1
1292  INTEGER, INTENT(IN) :: PZONE(*)
1293  INTEGER, INTENT(IN) :: NZONE
1294  INTEGER, INTENT(IN) :: NPOIN
1295  END SUBROUTINE
1296  END INTERFACE
1297 !
1298 !-----------------------------------------------------------------------
1299 !
1300  INTERFACE
1301  SUBROUTINE intemp
1302  &(w,flux,flux_old,airs,dt,npoin,cf,eps,kfrot,smh,
1303  & hn,qu,qv,lt,gamma)
1304  IMPLICIT NONE
1305  INTEGER, INTENT(IN) :: NPOIN,KFROT,LT
1306  DOUBLE PRECISION, INTENT(INOUT) :: W(3,npoin)
1307  DOUBLE PRECISION, INTENT(IN) :: FLUX(npoin,3),DT,EPS
1308  DOUBLE PRECISION, INTENT(IN) :: AIRS(npoin)
1309  DOUBLE PRECISION, INTENT(IN) :: FLUX_OLD(npoin,3)
1310  DOUBLE PRECISION, INTENT(IN) :: CF(npoin),SMH(npoin),GAMMA
1311  DOUBLE PRECISION, INTENT(IN) :: HN(npoin),QU(npoin),QV(npoin)
1312  END SUBROUTINE
1313  END INTERFACE
1314 !
1315 !-----------------------------------------------------------------------
1316 !
1317  INTERFACE
1318  SUBROUTINE interpol(RO,R02,R03,JCOUT1,JCOUT2,JCOUT3)
1319  IMPLICIT NONE
1320  DOUBLE PRECISION , INTENT(IN) :: R02,R03,JCOUT1,JCOUT2,JCOUT3
1321  DOUBLE PRECISION , INTENT(INOUT) :: RO
1322  END SUBROUTINE
1323  END INTERFACE
1324 !
1325 !-----------------------------------------------------------------------
1326 !
1327  INTERFACE
1328  SUBROUTINE isitok
1329  &(h,nph,u,npu,v,npv,ntrac,t,npt,x,y,bornes,arret)
1330  USE bief_def
1331  IMPLICIT NONE
1332  INTEGER, INTENT(IN) :: NPH,NPU,NPV,NPT,NTRAC
1333  LOGICAL, INTENT(INOUT) :: ARRET
1334  DOUBLE PRECISION, INTENT(IN) :: H(nph),U(npu),V(npv)
1335  DOUBLE PRECISION, INTENT(IN) :: X(*),Y(*),BORNES(8)
1336  TYPE(bief_obj) , INTENT(IN) :: T
1337  END SUBROUTINE
1338  END INTERFACE
1339 !
1340 !-----------------------------------------------------------------------
1341 !
1342  INTERFACE
1343  SUBROUTINE kepscl
1344  &(kbor,ebor,cf,disbor,
1345  & un,vn,hn,limkep,liubor,nbor,nptfr,
1346  & karman,cmu,c2,estar,schmit,emin,
1347  & kdir,kent,kentu,kadh,klog,uetuta)
1348  IMPLICIT NONE
1349  INTEGER, INTENT(IN) :: NPTFR
1350  INTEGER, INTENT(IN) :: KDIR,KENT,KADH,KLOG,KENTU
1351  INTEGER, INTENT(IN) :: NBOR(nptfr)
1352  INTEGER, INTENT(IN) :: LIMKEP(nptfr,2),LIUBOR(nptfr)
1353  DOUBLE PRECISION, INTENT(IN) :: EMIN
1354  DOUBLE PRECISION, INTENT(IN) :: CF(*),UETUTA(*)
1355  DOUBLE PRECISION, INTENT(IN) :: UN(*),VN(*),HN(*),DISBOR(*)
1356  DOUBLE PRECISION, INTENT(INOUT) :: KBOR(*),EBOR(*)
1357  DOUBLE PRECISION, INTENT(IN) :: KARMAN,CMU,C2,ESTAR,SCHMIT
1358  END SUBROUTINE
1359  END INTERFACE
1360 !
1361 !-----------------------------------------------------------------------
1362 !
1363  INTERFACE
1364  SUBROUTINE kepsil
1365  &(ak,ep,aktild,eptild,akn,epn,visc,cf,u,v,hn,uconv,vconv,
1366  & kbor,ebor,limkep,ielmk,ielme,
1367  & smk,sme,tm1,mak,mae,cm2,te1,te2,nptfr,dt,
1368  & mesh,t1,t2,t3,tb,cmu,c1,c2,sigmak,sigmae,estar,schmit,
1369  & kmin,kmax,emin,emax,
1370  & infoke,msk,maskel,maskpt,s,slvk,slvep,iconv,yasmh,
1371  & yaflulim,flulim,yaflulimebe,flulimebe)
1372  USE bief_def
1373  IMPLICIT NONE
1374  TYPE(slvcfg), INTENT(INOUT) :: SLVK,SLVEP
1375  INTEGER, INTENT(IN) :: ICONV,NPTFR
1376  INTEGER, INTENT(INOUT) :: LIMKEP(nptfr,2)
1377  INTEGER, INTENT(IN) :: IELMK,IELME
1378  LOGICAL, INTENT(IN) :: INFOKE,MSK,YASMH,YAFLULIM
1379  LOGICAL, INTENT(IN) :: YAFLULIMEBE
1380  DOUBLE PRECISION, INTENT(IN) :: KMIN,KMAX,EMIN,EMAX,SCHMIT
1381  DOUBLE PRECISION, INTENT(IN) :: CMU,C1,C2,SIGMAK,SIGMAE,ESTAR
1382  DOUBLE PRECISION, INTENT(IN) :: DT
1383 ! MATRIX STRUCTURES
1384  TYPE(bief_obj), INTENT(INOUT) :: TM1,MAK,MAE,CM2
1385 ! VECTOR STRUCTURES
1386  TYPE(bief_obj), INTENT(IN) :: UCONV,VCONV,AKN,EPN,FLULIMEBE
1387  TYPE(bief_obj), INTENT(IN) :: FLULIM
1388  TYPE(bief_obj), INTENT(INOUT) :: AKTILD,EPTILD
1389  TYPE(bief_obj), INTENT(IN) :: HN,VISC,U,V,MASKEL,S,MASKPT,CF
1390  TYPE(bief_obj), INTENT(INOUT) :: KBOR,EBOR
1391  TYPE(bief_obj), INTENT(INOUT) :: T1,T2,T3,AK,EP,SMK,SME,TE1,TE2
1392 ! MESH STRUCTURE
1393  TYPE(bief_mesh) :: MESH
1394 ! BLOCK STRUCTURE
1395  TYPE(bief_obj) :: TB
1396  END SUBROUTINE
1397  END INTERFACE
1398 !
1399 !-----------------------------------------------------------------------
1400 !
1401  INTERFACE
1402  SUBROUTINE kepsin
1403  &(limkep,liubor,nptfr,
1404  & kent,kentu,ksort,kadh,klog,kinc,kneu,kdir)
1405  IMPLICIT NONE
1406  INTEGER, INTENT(IN) :: NPTFR,KENT,KSORT,KADH,KLOG
1407  INTEGER, INTENT(IN) :: KINC,KNEU,KDIR,KENTU
1408  INTEGER, INTENT(INOUT) :: LIMKEP(nptfr,2)
1409  INTEGER, INTENT(IN) :: LIUBOR(nptfr)
1410  END SUBROUTINE
1411  END INTERFACE
1412 !
1413 !-----------------------------------------------------------------------
1414 !
1415  INTERFACE
1416  SUBROUTINE lagran(NLAG,DEBLAG,FINLAG)
1417  IMPLICIT NONE
1418  INTEGER, INTENT(IN) :: NLAG
1419  INTEGER, INTENT(INOUT) :: DEBLAG(nlag) , FINLAG(nlag)
1420  END SUBROUTINE
1421  END INTERFACE
1422 !
1423 !-----------------------------------------------------------------------
1424 !
1425  INTERFACE
1426  SUBROUTINE user_lagran(NLAG,DEBLAG,FINLAG)
1427  IMPLICIT NONE
1428  INTEGER, INTENT(IN) :: NLAG
1429  INTEGER, INTENT(INOUT) :: DEBLAG(nlag) , FINLAG(nlag)
1430  END SUBROUTINE
1431  END INTERFACE
1432 !
1433 !-----------------------------------------------------------------------
1434 !
1435  INTERFACE
1436  SUBROUTINE lecbreach
1437  &(ific)
1438  IMPLICIT NONE
1439  INTEGER, INTENT(IN) :: IFIC
1440  END SUBROUTINE
1441  END INTERFACE
1442 !
1443 !-----------------------------------------------------------------------
1444 !
1445  INTERFACE
1446  SUBROUTINE lecbus
1447  & (relaxb,nbuse,entbus,sorbus,lrgbus,haubus,clpbus,
1448  & altbus,csbus,cebus,angbus,lbus,ific,mesh,
1449  & cv,c56,cv5,c5,ctrash,fricbus,longbus,circ,delbus,
1450  & aabus)
1451  USE bief_def
1452  IMPLICIT NONE
1453  INTEGER , INTENT(IN) :: IFIC,NBUSE
1454  INTEGER , INTENT(INOUT) :: ENTBUS(nbuse),SORBUS(nbuse)
1455  DOUBLE PRECISION , INTENT(INOUT) :: RELAXB
1456  DOUBLE PRECISION , INTENT(INOUT) :: HAUBUS(nbuse,2),LRGBUS(nbuse)
1457  DOUBLE PRECISION , INTENT(INOUT) :: ALTBUS(nbuse,2)
1458  DOUBLE PRECISION , INTENT(INOUT) :: ANGBUS(nbuse,2)
1459  DOUBLE PRECISION , INTENT(INOUT) :: CEBUS(nbuse,2),CSBUS(nbuse,2)
1460  DOUBLE PRECISION , INTENT(INOUT) :: LBUS(nbuse)
1461  INTEGER , INTENT(INOUT) :: CLPBUS(nbuse),CIRC(nbuse)
1462  TYPE(bief_mesh) , INTENT(IN) :: MESH
1463  DOUBLE PRECISION , INTENT(INOUT) :: CV(nbuse),C56(nbuse)
1464  DOUBLE PRECISION , INTENT(INOUT) :: CV5(nbuse),C5(nbuse)
1465  DOUBLE PRECISION , INTENT(INOUT) :: CTRASH(nbuse),FRICBUS(nbuse)
1466  DOUBLE PRECISION , INTENT(INOUT) :: LONGBUS(nbuse)
1467  DOUBLE PRECISION , INTENT(INOUT) :: DELBUS(nbuse,2)
1468  INTEGER , INTENT(INOUT) :: AABUS(nbuse)
1469  END SUBROUTINE
1470  END INTERFACE
1471 !
1472 !-----------------------------------------------------------------------
1473 !
1474  INTERFACE
1475  SUBROUTINE lecdon_telemac2d(MOTCAR,FILE_DESC,
1476  & PATH,NCAR,CAS_FILE,DICO_FILE,
1477  & CAS_FILE_GAIA,DICO_FILE_GAIA)
1479  IMPLICIT NONE
1480  INTEGER, INTENT(IN) :: NCAR
1481  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: PATH
1482  CHARACTER(LEN=PATH_LEN), INTENT(INOUT) :: FILE_DESC(4,maxkeyword)
1483  CHARACTER(LEN=PATH_LEN), INTENT(INOUT) :: MOTCAR(maxkeyword)
1484  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: CAS_FILE
1485  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: DICO_FILE
1486  CHARACTER(LEN=PATH_LEN), INTENT(IN) ,OPTIONAL :: CAS_FILE_GAIA
1487  CHARACTER(LEN=PATH_LEN), INTENT(IN) ,OPTIONAL :: DICO_FILE_GAIA
1488  END SUBROUTINE
1489  END INTERFACE
1490 !
1491 !-----------------------------------------------------------------------
1492 !
1493  INTERFACE
1494  SUBROUTINE lecsng
1495  &(ioptan,ific)
1496  USE bief_def
1497  IMPLICIT NONE
1498  INTEGER, INTENT(IN) :: IFIC
1499  INTEGER, INTENT(INOUT) :: IOPTAN
1500  END SUBROUTINE
1501  END INTERFACE
1502 !
1503 !-----------------------------------------------------------------------
1504 !
1505  INTERFACE
1506  SUBROUTINE lecsng2
1507  &(ioptan,ific)
1508  USE bief_def
1509  IMPLICIT NONE
1510  INTEGER, INTENT(IN) :: IFIC
1511  INTEGER, INTENT(INOUT) :: IOPTAN
1512  END SUBROUTINE
1513  END INTERFACE
1514 !
1515 !-----------------------------------------------------------------------
1516 !
1517  INTERFACE
1518  DOUBLE PRECISION FUNCTION limiter(ILIM,R,C)
1519  IMPLICIT NONE
1520  INTEGER, INTENT(IN) :: ILIM
1521  DOUBLE PRECISION, INTENT(IN) :: R,C
1522  END FUNCTION
1523  END INTERFACE
1524 !
1525 !-----------------------------------------------------------------------
1526 !
1527  INTERFACE
1528  SUBROUTINE loiden(YAM,YS,PHI,DEB,G)
1529  IMPLICIT NONE
1530  DOUBLE PRECISION, INTENT(INOUT) :: DEB
1531  DOUBLE PRECISION, INTENT(IN) :: G,YAM,PHI,YS
1532  END SUBROUTINE
1533  END INTERFACE
1534 !
1535 !-----------------------------------------------------------------------
1536 !
1537  INTERFACE
1538  SUBROUTINE loinoy(YAM,YAV,YS,PHI,DEB,G)
1539  IMPLICIT NONE
1540  DOUBLE PRECISION, INTENT(INOUT) :: DEB
1541  DOUBLE PRECISION, INTENT(IN) :: G,YAM,YAV,PHI,YS
1542  END SUBROUTINE
1543  END INTERFACE
1544 !
1545 !-----------------------------------------------------------------------
1546 !
1547  INTERFACE
1548  SUBROUTINE loi_w_inc
1549  &(yam,yav,ys1,ys2,width,phi,deb,g)
1550  IMPLICIT NONE
1551  DOUBLE PRECISION, INTENT(INOUT) :: DEB
1552  DOUBLE PRECISION, INTENT(IN) :: G,YAM,YAV,PHI,YS1,YS2,WIDTH
1553  END SUBROUTINE
1554  END INTERFACE
1555 !
1556 !-----------------------------------------------------------------------
1557 !
1558  INTERFACE
1559  SUBROUTINE flux_trac
1560  &(nubo,ikle,flutent,flutsor,cmi,djxt,djyt,dxt,dyt,dpx,dpy,
1561  & beta,dsz,airst,hc,fluxt,eltseg,ifabor,vnocl)
1562  USE bief_def
1564  IMPLICIT NONE
1565  INTEGER, INTENT(IN) :: NUBO(2,nseg),IKLE(nelmax,3)
1566  INTEGER, INTENT(IN) :: ELTSEG(nelmax,3)
1567  INTEGER, INTENT(IN) :: IFABOR(nelmax,3)
1568  DOUBLE PRECISION, INTENT(INOUT) :: FLUTENT(*),FLUTSOR(*)
1569  DOUBLE PRECISION, INTENT(IN) :: DSZ(2,*)
1570  DOUBLE PRECISION, INTENT(IN) :: DPX(3,nelmax),DPY(3,nelmax)
1571  DOUBLE PRECISION, INTENT(IN) :: CMI(2,*),AIRST(2,*)
1572  DOUBLE PRECISION, INTENT(INOUT) :: DJXT(*),DJYT(*),DXT(*),DYT(*)
1573  DOUBLE PRECISION, INTENT(INOUT) :: BETA
1574  DOUBLE PRECISION, INTENT(IN) :: VNOCL(3,nseg),HC(2,*)
1575  TYPE(bief_obj), INTENT(INOUT) :: FLUXT
1576 !
1577  END SUBROUTINE
1578  END INTERFACE
1579 !
1580 !-----------------------------------------------------------------------
1581 !
1582  INTERFACE
1583  SUBROUTINE maj
1584  &(ns,nseg,nptfr,g,dt,airs,
1585  & h,qu,qv,ua,ce,nbor,limpro,xnebor,ynebor,kneu,smh,kfrot,cf)
1586  IMPLICIT NONE
1587  INTEGER, INTENT(IN) :: NS,NSEG,NPTFR,KNEU,KFROT
1588  INTEGER, INTENT(IN) :: NBOR(nptfr),LIMPRO(nptfr,6)
1589  DOUBLE PRECISION, INTENT(IN) :: XNEBOR(2*nptfr),YNEBOR(2*nptfr)
1590  DOUBLE PRECISION, INTENT(IN) :: H(ns),QU(ns),QV(ns),SMH(ns)
1591  DOUBLE PRECISION, INTENT(IN) :: CE(3,ns),CF(ns),AIRS(ns)
1592  DOUBLE PRECISION, INTENT(IN) :: G,DT
1593  DOUBLE PRECISION, INTENT(INOUT) :: UA(3,ns)
1594  END SUBROUTINE
1595  END INTERFACE
1596 !
1597 !-----------------------------------------------------------------------
1598 !
1599  INTERFACE
1600  SUBROUTINE majzz
1601  & (w,flux,flux_old,qu,qv,limpro,ht)
1602  USE bief_def
1604  IMPLICIT NONE
1605  INTEGER, INTENT(IN) :: LIMPRO(nptfr,6)
1606  DOUBLE PRECISION, INTENT(INOUT) :: W(3,npoin),FLUX(npoin,3)
1607  DOUBLE PRECISION, INTENT(IN) :: FLUX_OLD(npoin,3)
1608  DOUBLE PRECISION, INTENT(INOUT) :: QU(npoin),QV(npoin)
1609  TYPE(bief_obj), INTENT(INOUT) :: HT
1610  END SUBROUTINE
1611  END INTERFACE
1612 !
1613 !-----------------------------------------------------------------------
1614 !
1615  INTERFACE
1616  SUBROUTINE marast
1617  &(mardat,martim,phi0,npoin,at,fu1,fv1,x,sinlat,coslat,grav)
1618  IMPLICIT NONE
1619  INTEGER, INTENT(IN) :: MARDAT(3),MARTIM(3),NPOIN
1620  DOUBLE PRECISION, INTENT(INOUT) :: FU1(npoin),FV1(npoin)
1621  DOUBLE PRECISION, INTENT(IN) :: COSLAT(npoin),SINLAT(npoin)
1622  DOUBLE PRECISION, INTENT(IN) :: X(npoin),GRAV,AT,PHI0
1623  END SUBROUTINE
1624  END INTERFACE
1625 !
1626 !-----------------------------------------------------------------------
1627 !
1628  INTERFACE
1629  SUBROUTINE masbas2d
1630  &(volu2d,v2dpar,unsv2d,ielm,mesh,msk,maskel,t1,s)
1631  USE bief_def
1632  IMPLICIT NONE
1633  INTEGER, INTENT(IN) :: IELM
1634  LOGICAL, INTENT(IN) :: MSK
1635  TYPE(bief_obj) , INTENT(INOUT) :: VOLU2D,V2DPAR,UNSV2D,T1
1636  TYPE(bief_obj) , INTENT(IN) :: MASKEL,S
1637  TYPE(bief_mesh), INTENT(INOUT) :: MESH
1638  END SUBROUTINE
1639  END INTERFACE
1640 !
1641 !-----------------------------------------------------------------------
1642 !
1643  INTERFACE
1644  SUBROUTINE maskob(MASKEL,X,Y,IKLE,NELEM,NELMAX,NPOIN,AT,LT)
1645  IMPLICIT NONE
1646  INTEGER, INTENT(IN) :: NELEM,NPOIN,NELMAX,LT
1647  INTEGER, INTENT(IN) :: IKLE(nelmax,*)
1648  DOUBLE PRECISION, INTENT(INOUT) :: MASKEL(nelem)
1649  DOUBLE PRECISION, INTENT(IN) :: X(npoin),Y(npoin),AT
1650  END SUBROUTINE
1651  END INTERFACE
1652 !
1653 !-----------------------------------------------------------------------
1654 !
1655  INTERFACE
1656  SUBROUTINE user_maskob(MASKEL,X,Y,IKLE,NELEM,NELMAX,NPOIN,AT,LT)
1657  IMPLICIT NONE
1658  INTEGER, INTENT(IN) :: NELEM,NPOIN,NELMAX,LT
1659  INTEGER, INTENT(IN) :: IKLE(nelmax,*)
1660  DOUBLE PRECISION, INTENT(INOUT) :: MASKEL(nelem)
1661  DOUBLE PRECISION, INTENT(IN) :: X(npoin),Y(npoin),AT
1662  END SUBROUTINE
1663  END INTERFACE
1664 !
1665 !-----------------------------------------------------------------------
1666 !
1667  INTERFACE
1668  SUBROUTINE matbou
1669  &(mesh,m1,m2,a11,a12,a21,a22,smu,smv,vr,vs,h0,msk,maskel,s)
1670  USE bief_def
1671  IMPLICIT NONE
1672  LOGICAL, INTENT(IN) :: MSK
1673  TYPE(bief_obj), INTENT(INOUT) :: A11,A12,A21,A22,M1,M2
1674  TYPE(bief_mesh), INTENT(INOUT) :: MESH
1675  TYPE(bief_obj), INTENT(INOUT) :: SMU,SMV
1676  TYPE(bief_obj), INTENT(IN) :: MASKEL,H0,S,VR,VS
1677  END SUBROUTINE
1678  END INTERFACE
1679 !
1680 !-----------------------------------------------------------------------
1681 !
1682  INTERFACE
1683  SUBROUTINE mesures(ITER,TT)
1685  IMPLICIT NONE
1686  INTEGER, INTENT(IN) :: ITER
1687  DOUBLE PRECISION, INTENT(IN) :: TT
1688  END SUBROUTINE
1689  END INTERFACE
1690 !
1691 !-----------------------------------------------------------------------
1692 !
1693  INTERFACE
1694  SUBROUTINE user_mesures(ITER,TT)
1696  IMPLICIT NONE
1697  INTEGER, INTENT(IN) :: ITER
1698  DOUBLE PRECISION, INTENT(IN) :: TT
1699  END SUBROUTINE
1700  END INTERFACE
1701 !
1702 !-----------------------------------------------------------------------
1703 !
1704  INTERFACE
1705  SUBROUTINE meteo
1706  &(patmos,windx,windy,fuair,fvair,at,lt,npoin,vent,atmos,
1707  & atmfilea,atmfileb,files,listin,
1708  & patmos_value,awater_quality,pluie,aoptwind,awind_spd)
1709  USE bief
1711  IMPLICIT NONE
1712  INTEGER, INTENT(IN) :: LT,NPOIN,ATMFILEA,ATMFILEB
1713  LOGICAL, INTENT(IN) :: ATMOS,VENT,LISTIN
1714  DOUBLE PRECISION, INTENT(INOUT) :: WINDX(npoin),WINDY(npoin)
1715  DOUBLE PRECISION, INTENT(INOUT) :: PATMOS(*)
1716  DOUBLE PRECISION, INTENT(IN) :: AT,PATMOS_VALUE
1717  DOUBLE PRECISION, INTENT(INOUT) :: FUAIR,FVAIR
1718  TYPE(bief_file), INTENT(IN) :: FILES(*)
1719 ! OPTIONAL
1720  LOGICAL, INTENT(IN) ,OPTIONAL :: AWATER_QUALITY
1721  TYPE(bief_obj), INTENT(INOUT),OPTIONAL :: PLUIE
1722  INTEGER, INTENT(IN) ,OPTIONAL :: AOPTWIND
1723  DOUBLE PRECISION, INTENT(IN) ,OPTIONAL :: AWIND_SPD(2)
1724  END SUBROUTINE
1725  END INTERFACE
1726 !
1727  INTERFACE
1728  SUBROUTINE meteo_from_binary_file
1729  &(patmos,windx,windy,at,npoin,atmos,
1730  & atmfile,files,listin,optwind,wind_spd)
1731  USE bief
1733  IMPLICIT NONE
1734  INTEGER, INTENT(IN) :: NPOIN,ATMFILE
1735  LOGICAL, INTENT(IN) :: ATMOS,LISTIN
1736  DOUBLE PRECISION, INTENT(INOUT) :: WINDX(npoin),WINDY(npoin)
1737  DOUBLE PRECISION, INTENT(INOUT) :: PATMOS(*)
1738  DOUBLE PRECISION, INTENT(IN) :: AT
1739  TYPE(bief_file), INTENT(IN) :: FILES(*)
1740  INTEGER, INTENT(IN) :: OPTWIND
1741  DOUBLE PRECISION, INTENT(IN) :: WIND_SPD(2)
1742  END SUBROUTINE
1743  END INTERFACE
1744 !
1745  INTERFACE
1746  SUBROUTINE meteo_set_var_names
1747  &(u_name,v_name,p_name,t_name)
1748  IMPLICIT NONE
1749  CHARACTER(LEN=16), INTENT(INOUT) :: U_NAME,V_NAME,P_NAME,T_NAME
1750  END SUBROUTINE
1751  END INTERFACE
1752 !-----------------------------------------------------------------------
1753 !
1754  INTERFACE
1755  SUBROUTINE metgra
1756  &(ro,gradj,gradjn,jcout1,desc,nparam,optid,rstart,r02,r03)
1757  USE bief_def
1758  IMPLICIT NONE
1759  INTEGER , INTENT(IN) :: NPARAM,OPTID
1760  DOUBLE PRECISION , INTENT(IN) :: JCOUT1
1761  LOGICAL , INTENT(IN) :: RSTART
1762  TYPE(bief_obj) , INTENT(IN) :: GRADJ,GRADJN
1763  TYPE(bief_obj) , INTENT(INOUT) :: DESC
1764  DOUBLE PRECISION , INTENT(INOUT) :: R02,R03,RO
1765  END SUBROUTINE
1766  END INTERFACE
1767 !
1768 !-----------------------------------------------------------------------
1769 !
1770  INTERFACE
1771  SUBROUTINE mixlength
1772  &(visc,mesh,t1,t2,t3,t4)
1773  USE bief_def
1774  IMPLICIT NONE
1775  TYPE(bief_mesh), INTENT(INOUT) :: MESH
1776  TYPE(bief_obj), INTENT(INOUT) :: VISC,T1,T2,T3,T4
1777  END SUBROUTINE
1778  END INTERFACE
1779 !-----------------------------------------------------------------------
1780 !
1781  INTERFACE
1782  SUBROUTINE nestor_t2d_interface
1783  &(option)
1784  USE bief
1785  IMPLICIT NONE
1786  INTEGER, INTENT(IN) :: OPTION
1787  END SUBROUTINE
1788  END INTERFACE
1789 !
1790 !-----------------------------------------------------------------------
1791 !
1792  INTERFACE
1793  SUBROUTINE newstr
1794  &(setstr,setstr2,desc,ro,rstart,nparam)
1795  USE bief_def
1796  IMPLICIT NONE
1797  DOUBLE PRECISION , INTENT(IN) :: RO
1798  type(bief_obj) , INTENT(IN) :: desc
1799  type(bief_obj) , INTENT(IN) :: setstr2
1800  type(bief_obj) , INTENT(INOUT) :: setstr
1801  LOGICAL , INTENT(INOUT) :: RSTART
1802  INTEGER , INTENT(IN) :: NPARAM
1803  END SUBROUTINE
1804  END INTERFACE
1805 !
1806 !-----------------------------------------------------------------------
1807 !
1808  INTERFACE
1809  SUBROUTINE nodalf_pugh
1810  &(ffmn2,ffm4,nodalcorr,temps,deja,mardat,martim)
1811  IMPLICIT NONE
1812  INTEGER, INTENT(IN) :: NODALCORR,MARDAT(3),MARTIM(3)
1813  DOUBLE PRECISION, INTENT(OUT) :: FFMN2,FFM4
1814  DOUBLE PRECISION, INTENT(IN) :: TEMPS
1815  LOGICAL, INTENT(IN) :: DEJA
1816  END SUBROUTINE
1817  END INTERFACE
1818 !
1819 !-----------------------------------------------------------------------
1820 !
1821  INTERFACE
1822  SUBROUTINE nodalf_schureman
1823  &(fwave,temps,deja,mardat,martim)
1824  IMPLICIT NONE
1825  INTEGER, INTENT(IN) :: MARDAT(3),MARTIM(3)
1826  DOUBLE PRECISION, INTENT(INOUT) :: FWAVE(*)
1827  DOUBLE PRECISION, INTENT(IN) :: TEMPS
1828  LOGICAL, INTENT(IN) :: DEJA
1829  END SUBROUTINE
1830  END INTERFACE
1831 !
1832 !-----------------------------------------------------------------------
1833 !
1834  INTERFACE
1835  SUBROUTINE nodalupv_pugh(UPVM2,UPVN2,UPVS2,MARDAT,MARTIM)
1836  IMPLICIT NONE
1837  INTEGER, INTENT(IN) :: MARDAT(3),MARTIM(3)
1838  DOUBLE PRECISION, INTENT(OUT) :: UPVM2,UPVN2,UPVS2
1839  END SUBROUTINE
1840  END INTERFACE
1841 !
1842 !-----------------------------------------------------------------------
1843 !
1844  INTERFACE
1845  SUBROUTINE nodalupv_schureman(UPVWAVE,WWAVE,MARDAT,MARTIM)
1846  IMPLICIT NONE
1847  INTEGER, INTENT(IN) :: MARDAT(3),MARTIM(3)
1848  DOUBLE PRECISION, INTENT(INOUT) :: UPVWAVE(*),WWAVE(*)
1849  END SUBROUTINE
1850  END INTERFACE
1851 !
1852 !-----------------------------------------------------------------------
1853 !
1854  INTERFACE
1855  SUBROUTINE nomvar_telemac2d
1856  &(texte,textpr,mnemo,nperiaf,ntrac,nametrac,n_names_priv,
1857  & names_prive,seccurrents,nadvar,names_advar)
1858  IMPLICIT NONE
1859  INTEGER, INTENT(IN) :: NPERIAF,NTRAC,N_NAMES_PRIV
1860  INTEGER, INTENT(IN) :: NADVAR
1861  CHARACTER(LEN=32), INTENT(INOUT) :: TEXTE(*),TEXTPR(*)
1862  CHARACTER(LEN=8), INTENT(INOUT) :: MNEMO(*)
1863  CHARACTER(LEN=32), INTENT(IN) :: NAMETRAC(*),NAMES_PRIVE(4)
1864  CHARACTER(LEN=32), INTENT(IN) :: NAMES_ADVAR(*)
1865  LOGICAL, INTENT(IN) :: SECCURRENTS
1866  END SUBROUTINE
1867  END INTERFACE
1868 !
1869 !-----------------------------------------------------------------------
1870 !
1871  INTERFACE
1872  SUBROUTINE oil_flot
1873  &(particules,nflot,nflot_max,mesh,lt,voldev,rho_oil,nb_compo,
1874  & nb_hap,fmcompo,tbcompo,fmhap,tbhap,solu,etal,area,nplan,grav)
1875  USE bief_def
1876  IMPLICIT NONE
1877  INTEGER, INTENT(IN) :: NFLOT_MAX,LT,NPLAN
1878  INTEGER, INTENT(IN) :: NB_COMPO,NB_HAP
1879  INTEGER, INTENT(IN) :: ETAL
1880  INTEGER, INTENT(INOUT) :: NFLOT
1881  DOUBLE PRECISION, INTENT(IN) :: VOLDEV,RHO_OIL,AREA,GRAV
1882  DOUBLE PRECISION, INTENT(IN) :: FMCOMPO(nb_compo)
1883  DOUBLE PRECISION, INTENT(IN) :: TBCOMPO(nb_compo)
1884  DOUBLE PRECISION, INTENT(IN) :: FMHAP(nb_hap)
1885  DOUBLE PRECISION, INTENT(IN) :: TBHAP(nb_hap)
1886  DOUBLE PRECISION, INTENT(IN) :: SOLU(nb_hap)
1887  TYPE(bief_mesh), INTENT(INOUT) :: MESH
1888  TYPE(oil_part), INTENT(INOUT) :: PARTICULES(nflot_max)
1889  END SUBROUTINE
1890  END INTERFACE
1891 !
1892 !-----------------------------------------------------------------------
1893 !
1894  INTERFACE
1895  SUBROUTINE output_telemac2d(TIME)
1896  IMPLICIT NONE
1897  DOUBLE PRECISION, INTENT(IN) :: TIME
1898  END SUBROUTINE
1899  END INTERFACE
1900 !
1901 !-----------------------------------------------------------------------
1902 !
1903  INTERFACE
1904  SUBROUTINE poro11(TETA,ZF,HN,IKLE,NELEM,NELMAX)
1905  IMPLICIT NONE
1906  INTEGER, INTENT(IN) :: NELEM,NELMAX
1907  INTEGER, INTENT(IN) :: IKLE(nelmax,*)
1908  DOUBLE PRECISION, INTENT(IN) :: ZF(*),HN(*)
1909  DOUBLE PRECISION, INTENT(INOUT) :: TETA(*)
1910  END SUBROUTINE
1911  END INTERFACE
1912 !
1913 !-----------------------------------------------------------------------
1914 !
1915  INTERFACE
1916  SUBROUTINE poros(TETA,ZF,HN,MESH)
1918  IMPLICIT NONE
1919  TYPE(bief_obj), INTENT(IN) :: ZF,HN
1920  TYPE(bief_obj), INTENT(INOUT) :: TETA
1921  TYPE(bief_mesh), INTENT(IN) :: MESH
1922  END SUBROUTINE
1923  END INTERFACE
1924 !
1925 !-----------------------------------------------------------------------
1926 !
1927  INTERFACE
1928  SUBROUTINE prebor
1929  &(hbor,ubor,vbor,tbor,u,v,h,hn,t,nbor,npoin,nptfr,ntrac,nfrliq,
1930  & frtype,numliq)
1931  USE bief_def
1932  IMPLICIT NONE
1933  INTEGER, INTENT(IN) :: NPOIN,NPTFR,NFRLIQ,NTRAC
1934  INTEGER, INTENT(IN) :: NBOR(nptfr)
1935  INTEGER, INTENT(IN) :: NUMLIQ(nptfr),FRTYPE(nfrliq)
1936  DOUBLE PRECISION, INTENT(IN) :: U(npoin),V(npoin),H(npoin)
1937  DOUBLE PRECISION, INTENT(INOUT) :: HBOR(nptfr),UBOR(nptfr)
1938  DOUBLE PRECISION, INTENT(INOUT) :: VBOR(nptfr)
1939  DOUBLE PRECISION, INTENT(INOUT) :: HN(npoin)
1940  TYPE(bief_obj) , INTENT(IN) :: T
1941  TYPE(bief_obj) , INTENT(INOUT) :: TBOR
1942  END SUBROUTINE
1943  END INTERFACE
1944 !
1945 !-----------------------------------------------------------------------
1946 !
1947  INTERFACE
1948  SUBROUTINE prosou
1949  &(fu,fv,smh, un,vn,hn,grav,
1950  & fair,windx,windy,vent,hwind,coriol,fcor,
1951  & spheri,yasmh,coslat,sinlat,at,lt,dt,
1952  & nrejet,nrejeu,dsce,isce,t1,mesh,msk,maskel,
1953  & maree,mardat,martim,phi0,optsou,
1954  & courou,npth,varcl,nvarcl,varcla,unsv2d,
1955  & fxwave,fywave,rain,rain_mmpd,pluie,
1956  & t2d_files,t2dbi1,bandec,
1957  & nbuse,entbus,sorbus,dbus,ubus,vbus,
1958  & typseuil,nweirs,n_nghb_w_nodes,
1959  & maxsce,nreg,pt_in_poly,tnp,area_p)
1960  USE bief_def
1961  IMPLICIT NONE
1962  TYPE(bief_obj) , INTENT(INOUT) :: T1
1963  TYPE(bief_obj) , INTENT(INOUT) :: FU,FV,SMH,FXWAVE,FYWAVE
1964  TYPE(bief_obj) , INTENT(IN) :: MASKEL,UN,VN,HN,UNSV2D
1965  TYPE(bief_obj) , INTENT(IN) :: WINDX,WINDY,COSLAT,SINLAT
1966  TYPE(bief_mesh) , INTENT(INOUT) :: MESH
1967  INTEGER , INTENT(IN) :: NVARCL,LT,NREJET,NREJEU,OPTSOU
1968  INTEGER , INTENT(IN) :: NPTH,T2DBI1
1969  INTEGER , INTENT(IN) :: MARDAT(3),MARTIM(3)
1970  INTEGER , INTENT(IN) :: ISCE(nrejet)
1971  DOUBLE PRECISION , INTENT(IN) :: HWIND,AT,FCOR
1972  DOUBLE PRECISION , INTENT(INOUT) :: FAIR
1973  DOUBLE PRECISION , INTENT(IN) :: DSCE(nrejet)
1974  DOUBLE PRECISION , INTENT(IN) :: GRAV,PHI0,RAIN_MMPD,DT
1975  CHARACTER(LEN=32), INTENT(IN) :: VARCLA(nvarcl)
1976  LOGICAL , INTENT(IN) :: VENT,MAREE,CORIOL,SPHERI,MSK
1977  LOGICAL , INTENT(IN) :: COUROU,RAIN,BANDEC
1978  LOGICAL , INTENT(INOUT) :: YASMH
1979  TYPE(bief_obj) , INTENT(INOUT) :: VARCL,PLUIE
1980  TYPE(bief_file) , INTENT(IN) :: T2D_FILES(*)
1981  INTEGER , INTENT(IN) :: NBUSE
1982  INTEGER , INTENT(IN) :: ENTBUS(nbuse),SORBUS(nbuse)
1983  DOUBLE PRECISION , INTENT(IN) :: DBUS(nbuse)
1984  DOUBLE PRECISION , INTENT(IN) :: UBUS(2,nbuse),VBUS(2,nbuse)
1985  INTEGER , INTENT(IN) :: TYPSEUIL,NWEIRS,N_NGHB_W_NODES
1986  INTEGER , INTENT(IN) :: NREG,MAXSCE
1987  INTEGER , INTENT(IN) :: TNP(nreg)
1988  INTEGER , INTENT(IN) :: PT_IN_POLY(maxsce,*)
1989  DOUBLE PRECISION , INTENT(IN) :: AREA_P(nreg)
1990  END SUBROUTINE
1991  END INTERFACE
1992 !
1993 !-----------------------------------------------------------------------
1994 !
1995  INTERFACE
1996  SUBROUTINE prosou_fv
1997  &(fu,fv,smh, un,vn,hn,grav,
1998  & fair,windx,windy,vent,hwind,
1999  & spheri,yasmh,yasmo,coslat,sinlat,at,dt,
2000  & nrejet,nrejeu,dsce,isce,t1,mesh,msk,maskel,
2001  & maree,mardat,martim,phi0,optsou,
2002  & courou,npth,varcl,nvarcl,varcla,unsv2d,
2003  & fxwave,fywave,rain,rain_mmpd,pluie,
2004  & t2d_files,t2dbi1,bandec,
2005  & nbuse,entbus,sorbus,dbus,ubus,vbus,
2006  & typseuil,nweirs,n_nghb_w_nodes,
2007  & nreg,pt_in_poly,tnp,maxsce)
2008  USE bief_def
2009  IMPLICIT NONE
2010  TYPE(bief_obj) , INTENT(INOUT) :: T1
2011  TYPE(bief_obj) , INTENT(INOUT) :: FU,FV,SMH,FXWAVE,FYWAVE
2012  TYPE(bief_obj) , INTENT(IN) :: MASKEL,UN,VN,HN,UNSV2D
2013  TYPE(bief_obj) , INTENT(IN) :: WINDX,WINDY,COSLAT,SINLAT
2014  TYPE(bief_mesh) , INTENT(INOUT) :: MESH
2015  INTEGER , INTENT(IN) :: NVARCL,NREJET,NREJEU,OPTSOU
2016  INTEGER , INTENT(IN) :: NPTH,T2DBI1
2017  INTEGER , INTENT(IN) :: MARDAT(3),MARTIM(3)
2018  INTEGER , INTENT(IN) :: ISCE(nrejet)
2019  DOUBLE PRECISION , INTENT(IN) :: HWIND,AT
2020  DOUBLE PRECISION , INTENT(INOUT) :: FAIR
2021  DOUBLE PRECISION , INTENT(IN) :: DSCE(nrejet)
2022  DOUBLE PRECISION , INTENT(IN) :: GRAV,PHI0,RAIN_MMPD,DT
2023  CHARACTER(LEN=32), INTENT(IN) :: VARCLA(nvarcl)
2024  LOGICAL , INTENT(IN) :: VENT,MAREE,SPHERI,MSK
2025  LOGICAL , INTENT(IN) :: COUROU,RAIN,BANDEC
2026  LOGICAL , INTENT(INOUT) :: YASMH,YASMO
2027  TYPE(bief_obj) , INTENT(INOUT) :: VARCL,PLUIE
2028  TYPE(bief_file) , INTENT(IN) :: T2D_FILES(*)
2029  INTEGER , INTENT(IN) :: NBUSE
2030  INTEGER , INTENT(IN) :: ENTBUS(nbuse),SORBUS(nbuse)
2031  DOUBLE PRECISION , INTENT(IN) :: DBUS(nbuse)
2032  DOUBLE PRECISION , INTENT(IN) :: UBUS(2,nbuse),VBUS(2,nbuse)
2033  INTEGER , INTENT(IN) :: TYPSEUIL,NWEIRS,N_NGHB_W_NODES
2034  INTEGER , INTENT(IN) :: NREG,MAXSCE
2035  INTEGER , INTENT(IN) :: TNP(nreg)
2036  INTEGER , INTENT(IN) :: PT_IN_POLY(maxsce,*)
2037  END SUBROUTINE
2038  END INTERFACE
2039 
2040 
2041 !
2042 !-----------------------------------------------------------------------
2043 !
2044  INTERFACE
2045  SUBROUTINE propag
2046  &(u,v,h,uconv,vconv,convv,h0,patmos,atmos,
2047  & hprop,un,vn,hn,utild,vtild,htild,dh,du,dv,dhn,visc,visc_s,fu,fv,
2048  & smh,mesh,zf,am1,am2,am3,bm1,bm2,cm1,cm2,tm1,a23,a32,mbor,
2049  & cv1,cv2,cv3,ubor,vbor,aubor,hbor,dirbor,
2050  & te1,te2,te3,te4,te5,t1,t2,t3,t4,t5,t6,t8,
2051  & limpro,mask,grav,roeau,cf,difvit,iordrh,iordru,lt,dt,
2052  & tetah,tetau,tetad,
2053  & aggloh,agglou,kdir,infogr,kfrot,iconvf,
2054  & isousi,bilmas,masses,mass_rain,yasmh,optban,corcon,
2055  & optsup,msk,maskel,maskpt,ro,rovar,
2056  & mat,rhs,unk,tb,s,preccu,solsys,opdvit,optsou,
2057  & nfrliq,slvpro,equa,vertic,adjo,zflats,tetazcomp,udel,vdel,dm1,
2058  & zconv,flbor,bm1s,bm2s,cv1s,volu2d,v2dpar,unsv2d,
2059  & ndga1,ndgb1,nweirs,npsing,hfrot,flulim,yaflulim,
2060  & flulimebe,yaflulimebe,rain,pluie,
2061  & maxadv,optadv_vi,ikle,nelmax)
2062  USE bief_def
2063  IMPLICIT NONE
2064  INTEGER, INTENT(IN) :: LT,OPTSUP(4),KDIR,KFROT,ICONVF(4),NWEIRS
2065  INTEGER, INTENT(IN) :: NELMAX
2066  INTEGER, INTENT(IN) :: IORDRH,IORDRU,ISOUSI,OPTBAN,OPTSOU,SOLSYS
2067  INTEGER, INTENT(IN) :: OPDVIT,NFRLIQ,HFROT,MAXADV,OPTADV_VI
2068  INTEGER, INTENT(IN) :: IKLE(nelmax,3)
2069  DOUBLE PRECISION, INTENT(IN) :: TETAU,TETAD,TETAH,AGGLOH,AGGLOU
2070  DOUBLE PRECISION, INTENT(IN) :: DT,GRAV,ROEAU
2071  DOUBLE PRECISION, INTENT(IN) :: TETAZCOMP
2072  DOUBLE PRECISION, INTENT(INOUT) :: MASSES,MASS_RAIN
2073  LOGICAL, INTENT(IN) :: BILMAS,ATMOS,DIFVIT,INFOGR,CONVV(4),MSK
2074  LOGICAL, INTENT(IN) :: YASMH,ROVAR,PRECCU,VERTIC,ADJO,CORCON
2075  LOGICAL, INTENT(IN) :: YAFLULIM,RAIN,YAFLULIMEBE
2076  TYPE(slvcfg), INTENT(INOUT) :: SLVPRO
2077  CHARACTER(LEN=20), INTENT(IN) :: EQUA
2078  TYPE(bief_obj), INTENT(IN) :: NPSING,NDGA1,NDGB1,FLULIMEBE
2079  TYPE(bief_obj), INTENT(IN) :: UCONV,VCONV,SMH,UN,VN,HN
2080  TYPE(bief_obj), INTENT(IN) :: VOLU2D,V2DPAR,UNSV2D,FLULIM
2081  TYPE(bief_obj), INTENT(INOUT) :: RO,UDEL,VDEL,DM1,ZCONV,FLBOR
2082  TYPE(bief_obj), INTENT(IN) :: UTILD,VTILD,PATMOS,CF
2083  TYPE(bief_obj), INTENT(INOUT) :: U,V,H,CV1,CV2,CV3,DH,DHN
2084  TYPE(bief_obj), INTENT(INOUT) :: CV1S
2085  TYPE(bief_obj), INTENT(INOUT) :: DU,DV,FU,FV,VISC,VISC_S,HTILD
2086  TYPE(bief_obj), INTENT(INOUT) :: UBOR,VBOR,HBOR,AUBOR,LIMPRO
2087  TYPE(bief_obj), INTENT(IN) :: MASKEL,MASKPT,ZF,PLUIE
2088  TYPE(bief_obj), INTENT(IN) :: HPROP,H0
2089  TYPE(bief_obj), INTENT(INOUT) :: TE1,TE2,TE3,TE4,TE5,ZFLATS
2090  TYPE(bief_obj), INTENT(INOUT) :: T1,T2,T3,T4,T5,T6,T8
2091  TYPE(bief_obj), INTENT(IN) :: S
2092  TYPE(bief_obj), INTENT(INOUT) :: AM1,AM2,AM3,BM1,BM2,CM1,CM2,TM1
2093  TYPE(bief_obj), INTENT(INOUT) :: A23,A32,MBOR,BM1S,BM2S
2094  TYPE(bief_obj), INTENT(INOUT) :: MASK,MAT,RHS,UNK,TB,DIRBOR
2095  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2096  END SUBROUTINE
2097  END INTERFACE
2098 !
2099 !=======================================================================
2100 !
2101  INTERFACE
2102  SUBROUTINE propag_adj
2103  &(un,vn,hn,
2104  & mesh,zf,am1,am2,am3,bm1,bm2,cm1,cm2,tm1,
2105  & cv1,cv2,cv3,
2106  & te3,t1,t2,t3,t4,t5,t6,t7,t10,t11,
2107  & limpro,mask,grav,cf,lt,at,dt,
2108  & tetah,tetau,
2109  & kdir,infogr,kfrot,
2110  & msk,maskel,maskpt,
2111  & rhs,tb,solsys,
2112  & slvpro,vertic,
2113  & u,v,h,uu,vv,hh,uit1,vit1,hit1,pp,qq,rr,
2114  & tam1,tam2,tam3,tbm1,tbm2,tcm1,
2115  & tcm2,matadj,unkadj,adjdir,estime,optcost,
2116  & nit,varsor,
2117  & alire,trouve,maxvar,
2118  & texte,chestr,karman,ndef,
2119  & lisrug,chbord,cfbor,hfrot,unsv2d)
2120  USE bief_def
2121  IMPLICIT NONE
2122  INTEGER, INTENT(IN) :: LT,KDIR,KFROT
2123  INTEGER, INTENT(IN) :: SOLSYS
2124  INTEGER, INTENT(IN) :: LISRUG,OPTCOST
2125  INTEGER, INTENT(IN) :: NIT,MAXVAR,HFROT
2126  INTEGER, INTENT(INOUT) :: TROUVE(*),ALIRE(*)
2127  LOGICAL, INTENT(IN) :: INFOGR,MSK
2128  LOGICAL, INTENT(IN) :: VERTIC
2129  DOUBLE PRECISION, INTENT(IN) :: TETAU,TETAH
2130  DOUBLE PRECISION, INTENT(IN) :: AT,DT,GRAV
2131  DOUBLE PRECISION, INTENT(IN) :: KARMAN,NDEF
2132  TYPE(slvcfg), INTENT(INOUT) :: SLVPRO
2133  TYPE(bief_obj), INTENT(IN) :: UN,VN,HN
2134  TYPE(bief_obj), INTENT(IN) :: CF,UNSV2D
2135  TYPE(bief_obj), INTENT(INOUT) :: U,V,H,CV1,CV2,CV3
2136  TYPE(bief_obj), INTENT(IN) :: MASKEL,MASKPT,ZF
2137  TYPE(bief_obj), INTENT(IN) :: LIMPRO
2138  TYPE(bief_obj), INTENT(INOUT) :: T1,T2,T3,T4,T5,T6,T7,T10
2139  TYPE(bief_obj), INTENT(INOUT) :: T11
2140  TYPE(bief_obj), INTENT(INOUT) :: TE3
2141  TYPE(bief_obj), INTENT(INOUT) :: TAM1,TAM2,TAM3,TBM1
2142  TYPE(bief_obj), INTENT(INOUT) :: TBM2,TCM1,TCM2
2143  TYPE(bief_obj), INTENT(INOUT) :: AM1,AM2,AM3,BM1,BM2,CM1,CM2,TM1
2144  TYPE(bief_obj), INTENT(INOUT) :: MASK,RHS,TB
2145  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2146  TYPE(bief_obj), INTENT(INOUT) :: CHESTR
2147  type(bief_obj), INTENT(INOUT) :: hh,uu,vv,uit1,vit1,hit1
2148  type(bief_obj), INTENT(INOUT) :: pp,qq,rr,chbord,cfbor
2149  TYPE(bief_obj), INTENT(INOUT) :: VARSOR
2150  TYPE(bief_obj), INTENT(INOUT) :: MATADJ,UNKADJ,ADJDIR
2151  CHARACTER(LEN=72), INTENT(IN) :: ESTIME
2152  CHARACTER(LEN=32), INTENT(INOUT):: TEXTE(*)
2153  END SUBROUTINE
2154  END INTERFACE
2155 !
2156 !-----------------------------------------------------------------------
2157 !
2158  INTERFACE
2159  SUBROUTINE propin_telemac2d
2160  &(limpro,limdim,mask,liubor,livbor,lihbor,nbor,nptfr,
2161  & kent,kentu,ksort,kadh,klog,kneu,kdir,kddl,
2162  & clh,clu,clv,ielmu,u,v,grav,h,npoin,nelbor,msk,maskel,
2163  & nfrliq,thomfr,numliq,frtype,xnebor,ynebor,iklbor,entet,
2164  & nelebx,neleb)
2165  USE bief_def
2166  IMPLICIT NONE
2167  INTEGER, INTENT(IN) :: NPOIN,NPTFR,KENTU,NFRLIQ
2168  INTEGER, INTENT(IN) :: KENT,KSORT,KADH,KLOG,KNEU,KDIR,KDDL
2169  INTEGER, INTENT(IN) :: LIMDIM,IELMU,NELEBX,NELEB
2170  INTEGER, INTENT(IN) :: NELBOR(nelebx),LIVBOR(nptfr),LIHBOR(nptfr)
2171  INTEGER, INTENT(IN) :: LIUBOR(nptfr),FRTYPE(nfrliq)
2172  INTEGER, INTENT(IN) :: IKLBOR(nelebx,*)
2173  INTEGER, INTENT(INOUT) :: LIMPRO(limdim,6)
2174  INTEGER, INTENT(IN) :: NBOR(nptfr),NUMLIQ(nptfr)
2175  INTEGER, INTENT(INOUT) :: CLH(nptfr),CLU(nptfr),CLV(nptfr)
2176  LOGICAL, INTENT(IN) :: MSK,THOMFR,ENTET
2177  DOUBLE PRECISION, INTENT(IN) :: XNEBOR(nptfr),YNEBOR(nptfr)
2178  DOUBLE PRECISION, INTENT(IN) :: U(npoin),V(npoin),H(npoin)
2179  DOUBLE PRECISION, INTENT(IN) :: GRAV,MASKEL(*)
2180  TYPE(bief_obj), INTENT(INOUT) :: MASK
2181  END SUBROUTINE
2182  END INTERFACE
2183 !
2184 !-----------------------------------------------------------------------
2185 !
2186  INTERFACE
2187  DOUBLE PRECISION FUNCTION q(I)
2188  IMPLICIT NONE
2189  INTEGER , INTENT(IN) :: I
2190  END FUNCTION
2191  END INTERFACE
2192 !
2193 !-----------------------------------------------------------------------
2194 !
2195  INTERFACE
2196  SUBROUTINE read_fic_curves
2197  & (nfic,nfrliq,sta_dis_curves,pts_curves)
2198  IMPLICIT NONE
2199  INTEGER, INTENT(IN) :: NFIC,NFRLIQ
2200  INTEGER, INTENT(IN) :: STA_DIS_CURVES(nfrliq)
2201  INTEGER, INTENT(INOUT) :: PTS_CURVES(nfrliq)
2202  END SUBROUTINE
2203  END INTERFACE
2204 !
2205 !-----------------------------------------------------------------------
2206 !
2207  INTERFACE
2208  SUBROUTINE read_fic_frliq(Q, WHAT , AT , NFIC , LISTIN , FOUND )
2209  IMPLICIT NONE
2210  CHARACTER(LEN=9) , INTENT(IN) :: WHAT
2211  DOUBLE PRECISION, INTENT(IN) :: AT
2212  DOUBLE PRECISION, INTENT(INOUT) :: Q
2213  INTEGER , INTENT(IN) :: NFIC
2214  LOGICAL , INTENT(IN) :: LISTIN
2215  LOGICAL , INTENT(OUT) :: FOUND
2216  END SUBROUTINE
2217  END INTERFACE
2218 !
2219 !-----------------------------------------------------------------------
2220 !
2221  INTERFACE
2222  SUBROUTINE read_fic_sources(Q,WHAT,AT,NFIC,LISTIN,FOUND)
2223  IMPLICIT NONE
2224  CHARACTER(LEN=9) , INTENT(IN) :: WHAT
2225  DOUBLE PRECISION, INTENT(IN) :: AT
2226  DOUBLE PRECISION, INTENT(INOUT) :: Q
2227  INTEGER , INTENT(IN) :: NFIC
2228  LOGICAL , INTENT(IN) :: LISTIN
2229  LOGICAL , INTENT(OUT) :: FOUND
2230  END SUBROUTINE
2231  END INTERFACE
2232 
2233 !
2234 !-----------------------------------------------------------------------
2235 !
2236  INTERFACE
2237  SUBROUTINE read_source_data(NFIC,NREG)
2238  IMPLICIT NONE
2239  INTEGER , INTENT(IN) :: NFIC,NREG
2240  END SUBROUTINE
2241  END INTERFACE
2242 !
2243 !-----------------------------------------------------------------------
2244 !
2245  INTERFACE
2246  SUBROUTINE receding
2247  &(h,zf,hrec,v2dpar,ikle,npoin,nelem,nelmax,deltah,hits,
2248  & mesh,w1,yaflodel,flodel,dt)
2249  USE bief_def
2250  IMPLICIT NONE
2251  INTEGER, INTENT(IN) :: NPOIN,NELEM,NELMAX
2252  INTEGER, INTENT(IN) :: IKLE(nelmax,3)
2253  DOUBLE PRECISION, INTENT(IN) :: HREC,DT
2254  DOUBLE PRECISION, INTENT(IN) :: V2DPAR(npoin),ZF(npoin)
2255  DOUBLE PRECISION, INTENT(INOUT) :: H(npoin),W1(nelem,3)
2256  LOGICAL, INTENT(IN) :: YAFLODEL
2257  TYPE(bief_obj), INTENT(INOUT) :: DELTAH,HITS,FLODEL
2258  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2259  END SUBROUTINE
2260  END INTERFACE
2261 !
2262 !-----------------------------------------------------------------------
2263 !
2264  INTERFACE
2265  SUBROUTINE init_trac
2266  &(t,htn,smtr,fluxt,fluhtemp,fluhbtemp,massou,flutent,flutsor,
2267  & flbor,mesh)
2268  USE bief_def
2269  IMPLICIT NONE
2270  DOUBLE PRECISION, INTENT(INOUT) :: MASSOU(*)
2271  DOUBLE PRECISION, INTENT(INOUT) :: FLUTENT(*),FLUTSOR(*)
2272  TYPE(bief_obj), INTENT(INOUT) :: T,HTN
2273  TYPE(bief_obj), INTENT(INOUT) :: SMTR,FLUXT,FLUHTEMP,FLUHBTEMP
2274  TYPE(bief_obj) , INTENT(INOUT) :: FLBOR
2275  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2276  END SUBROUTINE
2277  END INTERFACE
2278 !
2279 !-----------------------------------------------------------------------
2280 !
2281  INTERFACE
2282  SUBROUTINE rescue
2283  &(u,v,h,s,zf,t,trac0,ntrac,iturb,npoin,akep,trouve,adr_trac)
2284  USE bief_def
2285  IMPLICIT NONE
2286  INTEGER, INTENT(IN) :: TROUVE(*),ITURB,NPOIN,NTRAC,ADR_TRAC
2287  LOGICAL, INTENT(INOUT) :: AKEP
2288  DOUBLE PRECISION, INTENT(INOUT) :: U(npoin),V(npoin),H(npoin)
2289  DOUBLE PRECISION, INTENT(INOUT) :: S(npoin),ZF(npoin)
2290  DOUBLE PRECISION, INTENT(IN) :: TRAC0(ntrac)
2291  TYPE(bief_obj), INTENT(INOUT) :: T
2292  END SUBROUTINE
2293  END INTERFACE
2294 !
2295 !-----------------------------------------------------------------------
2296 !
2297  INTERFACE
2298  SUBROUTINE volfin
2299  & (w,dtn,flux,h,u,v,qu,qv,flusort,fluent,smh,masses,t,htn,tn,
2300  & massou,flutent,flutsor,djx,djy,dx,dy,dsz,flbor,logfr,fluxt,
2301  & fluxt_old,fluhtemp,fluhbtemp,smtr,dxt,dyt,djxt,djyt,t1,t2,t3,t4,
2302  & t5,flux_old,mesh,mass_rain,leo,yasmo,dt,yasmh,corr_i,corr_j,
2303  & corr_zl,corr_zr,corr_hl,corr_hr,corr_ul,corr_ur,corr_vl,corr_vr)
2304  USE bief_def
2306  IMPLICIT NONE
2307  INTEGER, INTENT(INOUT) :: LOGFR(*)
2308  LOGICAL, INTENT(INOUT) :: LEO,YASMO
2309  LOGICAL, INTENT(IN) :: YASMH
2310  DOUBLE PRECISION, INTENT(INOUT) :: T1(*),T2(*),T3(*),T4(*),T5(*)
2311  DOUBLE PRECISION, INTENT(INOUT) :: DT,DTN,MASS_RAIN
2312  DOUBLE PRECISION, INTENT(INOUT) :: W(3,npoin)
2313  DOUBLE PRECISION, INTENT(INOUT) :: U(npoin),V(npoin),SMH(npoin)
2314  DOUBLE PRECISION, INTENT(INOUT) :: H(npoin),QU(npoin),QV(npoin)
2315  DOUBLE PRECISION, INTENT(INOUT) :: FLUX(npoin,3),FLUX_OLD(npoin,3)
2316  DOUBLE PRECISION, INTENT(INOUT) :: FLUSORT,FLUENT,MASSES
2317  DOUBLE PRECISION, INTENT(INOUT) :: FLUTENT(*),FLUTSOR(*)
2318  DOUBLE PRECISION, INTENT(INOUT) :: MASSOU(*)
2319  DOUBLE PRECISION, INTENT(INOUT) :: DXT(npoin),DYT(npoin)
2320  DOUBLE PRECISION, INTENT(INOUT) :: DJXT(*)
2321  DOUBLE PRECISION, INTENT(INOUT) :: DJYT(*)
2322  DOUBLE PRECISION, INTENT(INOUT) :: DJX(3,*),DJY(3,*)
2323  DOUBLE PRECISION, INTENT(INOUT) :: DX(3,npoin),DY(3,npoin)
2324  DOUBLE PRECISION, INTENT(INOUT) :: DSZ(2,*)
2325  TYPE(bief_obj) , INTENT(INOUT) :: T,HTN,TN
2326  TYPE(bief_obj) , INTENT(INOUT) :: FLUXT,FLUXT_OLD
2327  TYPE(bief_obj) , INTENT(INOUT) :: FLUHTEMP,FLUHBTEMP,SMTR
2328  TYPE(bief_obj) , INTENT(INOUT) :: FLBOR
2329  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2330  TYPE(bief_obj) , INTENT(INOUT) :: CORR_I,CORR_J,CORR_ZL,CORR_ZR
2331  TYPE(bief_obj) , INTENT(INOUT) :: CORR_HL,CORR_HR,CORR_UL,CORR_UR
2332  TYPE(bief_obj) , INTENT(INOUT) :: CORR_VL,CORR_VR
2333  END SUBROUTINE
2334  END INTERFACE
2335 !
2336 !-----------------------------------------------------------------------
2337 !
2338  INTERFACE
2339  SUBROUTINE rotne0
2340  &(mesh,m1,a11,a12,a21,a22,smu,smv,un,vn,h0,msk,maskel,s,dt)
2341  USE bief_def
2342  IMPLICIT NONE
2343  LOGICAL, INTENT(IN) :: MSK
2344  DOUBLE PRECISION, INTENT(IN) :: DT
2345  TYPE(bief_obj), INTENT(IN) :: MASKEL,H0,S,UN,VN
2346  TYPE(bief_obj), INTENT(INOUT) :: SMU,SMV
2347  TYPE(bief_obj), INTENT(INOUT) :: A11,A12,A21,A22,M1
2348  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2349  END SUBROUTINE
2350  END INTERFACE
2351 !
2352 !-----------------------------------------------------------------------
2353 !
2354  INTERFACE
2355  SUBROUTINE runoff_scs_cn
2356  & (pluie,accfa,accia,accroff,accrof_old,rain_mps,amc,cn,zf,zfslop,
2357  & rain_hdur,files,fo2,npoin,maskel,msk,ielm,mesh)
2358  USE bief_def
2359  IMPLICIT NONE
2360  INTEGER , INTENT(IN) :: NPOIN,AMC,FO2,IELM
2361  LOGICAL , INTENT(IN) :: MSK
2362  DOUBLE PRECISION , INTENT(IN) :: RAIN_MPS,RAIN_HDUR
2363  DOUBLE PRECISION , INTENT(INOUT) :: ACCIA(npoin),ACCFA(npoin)
2364  DOUBLE PRECISION , INTENT(INOUT) :: ACCROFF(npoin)
2365  TYPE(bief_obj) , INTENT(IN) :: ZF,MASKEL
2366  TYPE(bief_obj) , INTENT(INOUT) :: PLUIE,ACCROF_OLD,CN,ZFSLOP
2367  TYPE(bief_file), INTENT(IN) :: FILES(*)
2368  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2369  END SUBROUTINE
2370  END INTERFACE
2371 !
2372 !-----------------------------------------------------------------------
2373 !
2374  INTERFACE
2375  SUBROUTINE second_order
2376  &(dsz0,beta,t1,t2,t3,t4,t5,logfr,ua,djx,djy,dx,dy,ce,dt,corr_i,
2377  & corr_j,corr_hl,corr_hr,corr_ul,corr_ur,corr_vl,corr_vr,corr_zl,
2378  & corr_zr,ivis,airst,vnoin,eltseg,ifabor,nubo,cmi,limpro,hc)
2379 !
2382  IMPLICIT NONE
2383  INTEGER, INTENT(IN) :: IVIS,ELTSEG(nelem,3),IFABOR(nelem,3)
2384  INTEGER, INTENT(IN) :: NUBO(2,nseg),LIMPRO(nptfr,6)
2385  INTEGER, INTENT(INOUT) :: LOGFR(*)
2386  DOUBLE PRECISION, INTENT(IN) :: AIRST(2,nseg),VNOIN(3,nseg)
2387  DOUBLE PRECISION, INTENT(IN) :: CMI(2,nseg)
2388  DOUBLE PRECISION, INTENT(INOUT) :: DSZ0(2,nseg),BETA,UA(3,npoin)
2389  DOUBLE PRECISION, INTENT(INOUT) :: T1(*),T2(*),T3(*),T4(*),T5(*)
2390  DOUBLE PRECISION, INTENT(INOUT) :: DJX(3,*),DJY(3,*)
2391  DOUBLE PRECISION, INTENT(INOUT) :: CE(npoin,3)
2392  DOUBLE PRECISION, INTENT(INOUT) :: DT,DX(3,*),DY(3,*)
2393  DOUBLE PRECISION, INTENT(INOUT) :: HC(2,*)
2394  TYPE(bief_obj), INTENT(INOUT) :: CORR_HL,CORR_HR,CORR_I
2395  TYPE(bief_obj), INTENT(INOUT) :: CORR_UL,CORR_UR,CORR_J
2396  TYPE(bief_obj), INTENT(INOUT) :: CORR_VL,CORR_VR
2397  TYPE(bief_obj), INTENT(INOUT) :: CORR_ZL,CORR_ZR
2398  END SUBROUTINE
2399  END INTERFACE
2400 !
2401 !-----------------------------------------------------------------------
2402 !
2403  INTERFACE
2404  SUBROUTINE source_moment
2405  & (ua,yasmo)
2406 !
2408  USE declarations_telemac2d, ONLY: npoin
2409  IMPLICIT NONE
2410  LOGICAL, INTENT(IN) :: YASMO
2411  DOUBLE PRECISION, INTENT(INOUT) :: UA(3,npoin)
2412 
2413  END SUBROUTINE
2414  END INTERFACE
2415 
2416 !
2417 !-----------------------------------------------------------------------
2418 !
2419  INTERFACE
2420  SUBROUTINE seg_neighbors
2421  & ( xx,yy,ikle ,npoin,
2422  & nvmax,nelem,nelmax,nseg, neiseg)
2423 !
2425  IMPLICIT NONE
2426  INTEGER, INTENT(IN) :: NSEG,NELMAX,NPOIN,NVMAX,NELEM
2427  INTEGER, INTENT(IN) :: IKLE(nelmax,3)
2428  INTEGER, INTENT(INOUT) :: NEISEG(2,nseg)
2429  DOUBLE PRECISION, INTENT(IN) :: XX(npoin),YY(npoin)
2430  END SUBROUTINE
2431  END INTERFACE
2432 !
2433 !-----------------------------------------------------------------------
2434 !
2435  INTERFACE
2436  SUBROUTINE smoothing_flux
2437  &(xmul,sf,f,surfac,ikle1,ikle2,ikle3,nelem,nelmax,w)
2438  USE bief_def
2439  IMPLICIT NONE
2440  INTEGER, INTENT(IN) :: NELEM,NELMAX
2441  INTEGER, INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax),IKLE3(nelmax)
2442  DOUBLE PRECISION, INTENT(INOUT) :: W(nelmax,3)
2443  DOUBLE PRECISION, INTENT(IN) :: SURFAC(nelmax)
2444  DOUBLE PRECISION, INTENT(IN) :: XMUL
2445  TYPE(bief_obj), INTENT(IN) :: SF
2446  DOUBLE PRECISION, INTENT(IN) :: F(*)
2447  END SUBROUTINE
2448  END INTERFACE
2449 !
2450 !-----------------------------------------------------------------------
2451 !
2452  INTERFACE
2453  DOUBLE PRECISION FUNCTION sl( I , N )
2454  IMPLICIT NONE
2455  INTEGER, INTENT(IN) :: I,N
2456  END FUNCTION
2457  END INTERFACE
2458 !
2459 !-----------------------------------------------------------------------
2460 !
2461  INTERFACE
2462  SUBROUTINE smagor
2463  &(visc,u,v,mesh,t1,t2,t3,t4,msk,maskel,propnu)
2464  USE bief_def
2465  IMPLICIT NONE
2466  LOGICAL, INTENT(IN) :: MSK
2467  DOUBLE PRECISION, INTENT(IN) :: PROPNU
2468  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2469  TYPE(bief_obj), INTENT(INOUT) :: VISC,T1,T2,T3,T4
2470  TYPE(bief_obj), INTENT(IN) :: MASKEL,U,V
2471  END SUBROUTINE
2472  END INTERFACE
2473 !
2474 !-----------------------------------------------------------------------
2475 !
2476  INTERFACE
2477  SUBROUTINE sorflo
2478  &(xflot,yflot,iklflo,debflo,finflo,nflot,nitflo,floprd,
2479  & nrbi,titcas,binres,nomrbi,nit,maxvar,date,time,mesh,
2480  & i_orig,j_orig)
2481  USE bief_def
2482  IMPLICIT NONE
2483  INTEGER, INTENT(IN) :: I_ORIG,J_ORIG,FLOPRD,NITFLO
2484  INTEGER, INTENT(IN) :: NFLOT,NRBI,NIT,MAXVAR
2485  INTEGER, INTENT(IN) :: DATE(3),TIME(3)
2486  INTEGER, INTENT(INOUT) :: IKLFLO(3*nitflo*nflot)
2487  INTEGER, INTENT(IN) :: DEBFLO(nflot),FINFLO(nflot)
2488  DOUBLE PRECISION, INTENT(INOUT) :: XFLOT(nitflo*nflot)
2489  DOUBLE PRECISION, INTENT(INOUT) :: YFLOT(nitflo*nflot)
2490  CHARACTER(LEN=72), INTENT(IN) :: TITCAS,NOMRBI
2491  CHARACTER(LEN=3), INTENT(IN) :: BINRES
2492  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2493  END SUBROUTINE
2494  END INTERFACE
2495 !
2496 !-----------------------------------------------------------------------
2497 !
2498  INTERFACE
2499  SUBROUTINE spalallcl
2500  &(nubor, limsa, liubor, nptfr,numin,
2501  & kdir, kent, kentu, kadh, klog)
2502  USE bief_def
2503  INTEGER, INTENT(IN) :: NPTFR
2504  INTEGER, INTENT(IN) :: KDIR,KENT,KADH, KLOG,KENTU
2505  INTEGER, INTENT(IN) :: LIMSA(nptfr), LIUBOR(nptfr)
2506  DOUBLE PRECISION, INTENT(INOUT) :: NUBOR(*)
2507  DOUBLE PRECISION, INTENT(IN) :: NUMIN
2508  END SUBROUTINE
2509  END INTERFACE
2510 !
2511 !-----------------------------------------------------------------------
2512 !
2513  INTERFACE
2514  SUBROUTINE spalallin
2515  &(limsa, liubor, nptfr, kent, kentu, ksort,
2516  & kadh, klog, kinc, kneu, kdir)
2517  USE bief_def
2518  INTEGER, INTENT(IN) :: NPTFR, KENT, KSORT, KADH, KLOG
2519  INTEGER, INTENT(IN) :: KINC, KNEU, KDIR, KENTU
2520  INTEGER, INTENT(INOUT) :: LIMSA(nptfr)
2521  INTEGER, INTENT(IN) :: LIUBOR(nptfr)
2522  END SUBROUTINE
2523  END INTERFACE
2524 !
2525 !
2526 !-----------------------------------------------------------------------
2527 !
2528  INTERFACE
2529  SUBROUTINE spalart_allmaras
2530  &(u,v,viscsa,dt,nun,nutild,propnu,ielmnu,slvnu,
2531  & infonu, msk, maskel, maskpt, nptfr, limsa, nubor, s, uconv,
2532  & vconv, iconv,mas,dif,sm,cm2,t3,t1,t2,mesh,tb,t4,
2533  & wdist,numin,numax,yaflulim,flulim,
2534  & yaflulimebe,flulimebe,te1,te2,yasmh)
2535  USE bief_def
2536  INTEGER, INTENT(IN) :: IELMNU, NPTFR
2537  INTEGER, INTENT(IN) :: ICONV
2538  INTEGER , INTENT(INOUT) :: LIMSA(nptfr)
2539  LOGICAL, INTENT(IN) :: INFONU, MSK,YAFLULIM,YASMH
2540  LOGICAL, INTENT(IN) :: YAFLULIMEBE
2541  TYPE(slvcfg), INTENT(INOUT) :: SLVNU
2542  TYPE(bief_obj), INTENT(IN) :: U,V,NUN,FLULIM,FLULIMEBE
2543  TYPE(bief_obj), INTENT(IN) :: MASKEL,MASKPT,S
2544  TYPE(bief_obj), INTENT(IN) :: UCONV,VCONV,WDIST
2545  TYPE(bief_obj), INTENT(INOUT):: VISCSA,T4,NUTILD, NUBOR
2546  DOUBLE PRECISION, INTENT(IN) :: DT,PROPNU,NUMIN,NUMAX
2547  TYPE(bief_obj), INTENT(INOUT):: MAS,DIF,CM2
2548  TYPE(bief_obj), INTENT(INOUT):: SM,T3,T1,T2
2549  TYPE(bief_obj) , INTENT(INOUT) :: TB,TE1,TE2
2550  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2551 !
2552  END SUBROUTINE
2553  END INTERFACE
2554 !
2555 !-----------------------------------------------------------------------
2556 !
2557  INTERFACE
2558  DOUBLE PRECISION FUNCTION sta_dis_cur
2559  &(ifrliq,flux,pts,qz,nfrliq,zn)
2560  IMPLICIT NONE
2561  INTEGER, INTENT(IN) :: IFRLIQ,NFRLIQ,PTS
2562  DOUBLE PRECISION, INTENT(IN) :: ZN,FLUX,QZ(2,nfrliq,pts)
2563  END FUNCTION
2564  END INTERFACE
2565 !
2566 !-----------------------------------------------------------------------
2567 !
2568  INTERFACE
2569  SUBROUTINE steady
2570  &(h1,h2,nph,u1,u2,npu,v1,v2,npv,ntrac,t1,t2,npt,criper,arret)
2571  USE bief_def
2572  IMPLICIT NONE
2573  INTEGER, INTENT(IN) :: NPH,NPU,NPV,NPT,NTRAC
2574  LOGICAL, INTENT(INOUT) :: ARRET
2575  DOUBLE PRECISION, INTENT(IN) :: H1(nph),H2(nph),U1(npu),U2(npu)
2576  DOUBLE PRECISION, INTENT(IN) :: V1(npv),V2(npv)
2577  DOUBLE PRECISION, INTENT(IN) :: CRIPER(3)
2578  TYPE(bief_obj) , INTENT(IN) :: T1,T2
2579  END SUBROUTINE
2580  END INTERFACE
2581 !
2582 !-----------------------------------------------------------------------
2583 !
2584  INTERFACE
2585  SUBROUTINE telemac2d(PASS,ATDEP,NITER,CODE,
2586  & DTDEP,NEWTIME,DOPRINT,NITERORI,
2587  & CONVERGENCE_LEVEL)
2588  IMPLICIT NONE
2589  INTEGER, INTENT(IN) :: PASS,NITER
2590  DOUBLE PRECISION, INTENT(IN) :: ATDEP
2591  CHARACTER(LEN=*), INTENT(IN) :: CODE
2592  DOUBLE PRECISION, INTENT(IN), OPTIONAL :: DTDEP
2593  LOGICAL, INTENT(IN), OPTIONAL :: NEWTIME,DOPRINT
2594  INTEGER, INTENT(IN), OPTIONAL :: NITERORI
2595  INTEGER, INTENT(IN), OPTIONAL :: CONVERGENCE_LEVEL
2596  END SUBROUTINE
2597  END INTERFACE
2598 !
2599 !-----------------------------------------------------------------------
2600 !
2601  INTERFACE
2602  SUBROUTINE thomps
2603  &(hbor,ubor,vbor,tbor,u,v,h,t,zf,x,y,nbor,frtype,c,
2604  & uconv,vconv,xconv,yconv,lihbor,liubor,livbor,
2605  & it1,w1r,w2r,w3r,
2606  & hbtil,ubtil,vbtil,tbtil,zbtil,surdet,ikle,ifabor,nelem,
2607  & mesh,xnebor,ynebor,npoin,nptfr,dt,grav,
2608  & ntrac,nfrliq,kent,kentu,msk,maskel,
2609  & nelmax,ielm,shpp,numliq,shp,
2610  & dx_t,dy_t,dz_t,it3,it4,hfield,ufield,vfield,zs,gzsx,gzsy,
2611  & shpbuf)
2612  USE bief_def
2613  IMPLICIT NONE
2614  INTEGER, INTENT(IN) :: NPTFR,NPOIN,NELEM,NELMAX,NFRLIQ
2615  INTEGER, INTENT(IN) :: IELM,NTRAC
2616  INTEGER, INTENT(IN) :: KENT,KENTU
2617  INTEGER, INTENT(IN) :: NBOR(nptfr)
2618  INTEGER, INTENT(IN) :: IKLE(nelmax,3),IFABOR(*)
2619  INTEGER, INTENT(IN) :: LIHBOR(nptfr),LIUBOR(nptfr),LIVBOR(nptfr)
2620  INTEGER, INTENT(IN) :: FRTYPE(nfrliq),NUMLIQ(nptfr)
2621  INTEGER, INTENT(INOUT),TARGET :: IT1(npoin)
2622  LOGICAL, INTENT(IN) :: MSK
2623  DOUBLE PRECISION, INTENT(INOUT) :: HBOR(nptfr)
2624  DOUBLE PRECISION, INTENT(INOUT) :: UBOR(nptfr),VBOR(nptfr)
2625  DOUBLE PRECISION, INTENT(IN) :: X(npoin),Y(npoin)
2626  DOUBLE PRECISION, INTENT(IN) :: XNEBOR(nptfr),YNEBOR(nptfr)
2627  DOUBLE PRECISION, INTENT(IN) :: SURDET(*)
2628  DOUBLE PRECISION, INTENT(IN) :: GRAV,DT
2629  DOUBLE PRECISION, INTENT(INOUT) :: W1R(nptfr),W2R(nptfr)
2630  DOUBLE PRECISION, INTENT(INOUT) :: W3R(nptfr)
2631  DOUBLE PRECISION, INTENT(INOUT) :: SHPP(3,*),SHP(3,*)
2632  DOUBLE PRECISION, INTENT(INOUT) :: DX_T(nptfr),DY_T(nptfr)
2633  DOUBLE PRECISION, INTENT(INOUT) :: DZ_T(nptfr)
2634  TYPE(bief_obj), INTENT(IN) :: MASKEL
2635  TYPE(bief_obj), TARGET,INTENT(INOUT) :: HBTIL,UBTIL,VBTIL,ZBTIL
2636  TYPE(bief_obj), INTENT(INOUT) :: XCONV,YCONV
2637  TYPE(bief_obj), INTENT(INOUT) :: UCONV,VCONV,C,U,V
2638  TYPE(bief_obj), INTENT(INOUT) :: H,T,TBOR,TBTIL,IT3,IT4
2639  TYPE(bief_obj), TARGET,INTENT(INOUT) :: HFIELD,UFIELD,VFIELD,ZS
2640  TYPE(bief_obj), INTENT(INOUT) :: GZSX,GZSY,SHPBUF
2641  TYPE(bief_obj), TARGET, INTENT(IN) :: ZF
2642  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2643  END SUBROUTINE
2644  END INTERFACE
2645 !
2646 !-----------------------------------------------------------------------
2647 !
2648  INTERFACE
2649  DOUBLE PRECISION FUNCTION trsce( TIME , I , ITRAC )
2650  IMPLICIT NONE
2651  DOUBLE PRECISION, INTENT(IN) :: TIME
2652  INTEGER , INTENT(IN) :: I,ITRAC
2653  END FUNCTION
2654  END INTERFACE
2655 !
2656 !-----------------------------------------------------------------------
2657 !
2658  INTERFACE
2659  DOUBLE PRECISION FUNCTION tr( I , ITRAC , N, IERR )
2660  IMPLICIT NONE
2661  INTEGER, INTENT(IN) :: I,N,ITRAC
2662  INTEGER, INTENT(INOUT) :: IERR
2663  END FUNCTION
2664  END INTERFACE
2665 !
2666 !-----------------------------------------------------------------------
2667 !
2668  INTERFACE
2669  SUBROUTINE utimp_telemac2d
2670  & (ltl,atl,gradebl,graprdl,lisdebl,lisprdl)
2671  IMPLICIT NONE
2672  DOUBLE PRECISION, INTENT(IN) :: ATL
2673  INTEGER, INTENT(IN) :: LTL,GRADEBL,GRAPRDL,LISDEBL,LISPRDL
2674  END SUBROUTINE
2675  END INTERFACE
2676 !
2677 !-----------------------------------------------------------------------
2678 !
2679  INTERFACE
2680  SUBROUTINE valro(RO,S,ROEAU)
2682  IMPLICIT NONE
2683  TYPE(bief_obj), INTENT(IN) :: S
2684  TYPE(bief_obj), INTENT(INOUT) :: RO
2685  DOUBLE PRECISION, INTENT(IN) :: ROEAU
2686  END SUBROUTINE
2687  END INTERFACE
2688 !
2689 !-----------------------------------------------------------------------
2690 !
2691  INTERFACE
2692  SUBROUTINE vistur(VISC,AK,EP,NPOIN,CMU,PROPNU)
2694  IMPLICIT NONE
2695  INTEGER, INTENT(IN) :: NPOIN
2696  DOUBLE PRECISION, INTENT(IN) :: CMU,PROPNU
2697  TYPE(bief_obj), INTENT(IN) :: AK,EP
2698  TYPE(bief_obj), INTENT(INOUT) :: VISC
2699  END SUBROUTINE
2700  END INTERFACE
2701 !
2702 !-----------------------------------------------------------------------
2703 !
2704  INTERFACE
2705  SUBROUTINE vistursa(VISC, VISCSA,NPOIN,PROPNU)
2707  IMPLICIT NONE
2708  INTEGER , INTENT(IN) :: NPOIN
2709  DOUBLE PRECISION, INTENT(IN) :: PROPNU
2710  TYPE(bief_obj) , INTENT(IN) :: VISCSA
2711  TYPE(bief_obj) , INTENT(INOUT) :: VISC
2712  END SUBROUTINE
2713  END INTERFACE
2714 !
2715 !-----------------------------------------------------------------------
2716 !
2717  INTERFACE
2718  DOUBLE PRECISION FUNCTION vit( I, N)
2719  IMPLICIT NONE
2720  INTEGER, INTENT(IN) :: I, N
2721  END FUNCTION
2722  END INTERFACE
2723 !
2724 !-----------------------------------------------------------------------
2725 !
2726  INTERFACE
2727  SUBROUTINE user_vit( VIT, I, N)
2728  IMPLICIT NONE
2729  DOUBLE PRECISION, INTENT(INOUT) :: VIT
2730  INTEGER, INTENT(IN) :: I, N
2731  END SUBROUTINE
2732  END INTERFACE
2733 !
2734 !-----------------------------------------------------------------------
2735 !
2736  INTERFACE
2737  DOUBLE PRECISION FUNCTION vusce( TIME , I )
2738  IMPLICIT NONE
2739  DOUBLE PRECISION, INTENT(IN) :: TIME
2740  INTEGER , INTENT(IN) :: I
2741  END FUNCTION
2742  END INTERFACE
2743 !
2744 !-----------------------------------------------------------------------
2745 !
2746  INTERFACE
2747  SUBROUTINE user_vusce( VUSCE, TIME , I )
2748  IMPLICIT NONE
2749  DOUBLE PRECISION, INTENT(INOUT) :: VUSCE
2750  DOUBLE PRECISION, INTENT(IN) :: TIME
2751  INTEGER , INTENT(IN) :: I
2752  END SUBROUTINE
2753  END INTERFACE
2754 !
2755 !-----------------------------------------------------------------------
2756 !
2757  INTERFACE
2758  DOUBLE PRECISION FUNCTION vvsce( TIME , I )
2759  IMPLICIT NONE
2760  DOUBLE PRECISION, INTENT(IN) :: TIME
2761  INTEGER , INTENT(IN) :: I
2762  END FUNCTION
2763  END INTERFACE
2764 !
2765 !-----------------------------------------------------------------------
2766 !
2767  INTERFACE
2768  SUBROUTINE user_vvsce(VVSCE, TIME , I )
2769  IMPLICIT NONE
2770  DOUBLE PRECISION, INTENT(INOUT) :: VVSCE
2771  DOUBLE PRECISION, INTENT(IN) :: TIME
2772  INTEGER , INTENT(IN) :: I
2773  END SUBROUTINE
2774  END INTERFACE
2775 !
2776 !-----------------------------------------------------------------------
2777 !
2778  INTERFACE
2779  SUBROUTINE wall_friction
2780  &(uetuta,aubor,cfbor,disbor,un,vn,limpro,nbor,nptfr,
2781  & karman,propnu,lisrug,kneu,ielmu,iklbor,
2782  & neleb,nelebx)
2783  IMPLICIT NONE
2784  INTEGER, INTENT(IN) :: NPTFR,LISRUG,KNEU
2785  INTEGER, INTENT(IN) :: IELMU,NELEB,NELEBX
2786  INTEGER, INTENT(IN) :: LIMPRO(nptfr,6),NBOR(nptfr)
2787  INTEGER, INTENT(IN) :: IKLBOR(nelebx,2)
2788  DOUBLE PRECISION, INTENT(IN) :: CFBOR(*),UN(*),VN(*),DISBOR(*)
2789  DOUBLE PRECISION, INTENT(INOUT) :: AUBOR(*),UETUTA(*)
2790  DOUBLE PRECISION, INTENT(IN) :: KARMAN,PROPNU
2791  END SUBROUTINE
2792  END INTERFACE
2793 !
2794 !-----------------------------------------------------------------------
2795 !
2796  INTERFACE
2797  SUBROUTINE wrihyd
2798  &(titre , itstrt , itstop , npoin2 , mbnd ,
2799  & nseg , nolay , nomgeo , nomlim ,
2800  & f , nstepa , nomsou , nosuis , nomcou ,
2801  & nomini, nomveb , norsed , nomsal , nomtem , nomvel , nomvis ,
2802  & nhyd,
2803  & sali_del,temp_del,velo_del,diff_del,mardat,martim)
2804  IMPLICIT NONE
2805  INTEGER, INTENT(IN) :: NHYD,ITSTRT,ITSTOP,NPOIN2
2806  INTEGER, INTENT(IN) :: NSEG,NOLAY,NSTEPA,MBND
2807  INTEGER, INTENT(IN) :: MARDAT(3),MARTIM(3)
2808  CHARACTER(*), INTENT(IN) :: TITRE,NOMGEO,NOMLIM
2809  CHARACTER(*), INTENT(IN) :: NOMSOU,NOSUIS,NOMCOU,NOMSAL,NOMTEM
2810  CHARACTER(*), INTENT(IN) :: NOMINI,NOMVEB,NORSED,NOMVEL,NOMVIS
2811  DOUBLE PRECISION, INTENT(IN) :: F(npoin2,nolay)
2812  LOGICAL, INTENT(IN) :: SALI_DEL,TEMP_DEL
2813  LOGICAL, INTENT(IN) :: VELO_DEL,DIFF_DEL
2814  END SUBROUTINE
2815  END INTERFACE
2816 !
2817 !-----------------------------------------------------------------------
2818 !
2819  INTERFACE
2820  SUBROUTINE zerophi(X0,X,NIT,CA1)
2821  IMPLICIT NONE
2822  INTEGER, INTENT(INOUT) :: NIT
2823  DOUBLE PRECISION, INTENT(IN) :: X0,CA1
2824  DOUBLE PRECISION, INTENT(INOUT) :: X
2825  END SUBROUTINE
2826  END INTERFACE
2827 !
2828 !-----------------------------------------------------------------------
2829 !
2830  INTERFACE
2831  SUBROUTINE zeropsi(X0,X,NIT,CA1,A2)
2832  IMPLICIT NONE
2833  INTEGER, INTENT(INOUT) :: NIT
2834  DOUBLE PRECISION, INTENT(IN) :: X0,A2,CA1
2835  DOUBLE PRECISION, INTENT(INOUT) :: X
2836  END SUBROUTINE
2837  END INTERFACE
2838 !
2839 !-----------------------------------------------------------------------
2840 !
2841  INTERFACE
2842  SUBROUTINE zslope(SLOPE,ZF,T1,T2,MSK,MASKEL,IELM,MESH)
2844  IMPLICIT NONE
2845  INTEGER, INTENT(IN) :: IELM
2846  LOGICAL, INTENT(IN) :: MSK
2847  TYPE(bief_obj), INTENT(IN) :: MASKEL,ZF
2848  TYPE(bief_obj), INTENT(INOUT) :: SLOPE,T1,T2
2849  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2850  END SUBROUTINE
2851  END INTERFACE
2852 !
2853 !-----------------------------------------------------------------------
2854 !
2855  INTERFACE
2856  SUBROUTINE error_computation
2857  &(f,mesh,finemesh,nelmax,npoin,corresp,rlevels,nlevel,
2858  & ikle,fineikle)
2859  USE bief
2862  IMPLICIT NONE
2863  INTEGER , INTENT(IN) :: NPOIN
2864  DOUBLE PRECISION, INTENT(IN) :: F(npoin)
2865  TYPE(bief_mesh) , INTENT(IN) :: MESH
2866  TYPE(bief_mesh) , INTENT(IN) :: FINEMESH
2867  INTEGER , INTENT(IN) :: NELMAX
2868  INTEGER , INTENT(IN) :: RLEVELS
2869  INTEGER , INTENT(IN) :: NLEVEL
2870  INTEGER , INTENT(IN) :: CORRESP(nelmax,rlevels)
2871  INTEGER , INTENT(IN) :: IKLE(nelmax,3)
2872  INTEGER , INTENT(IN) :: FINEIKLE(nelmax,3)
2873  END SUBROUTINE
2874  END INTERFACE
2875 !
2876 !-----------------------------------------------------------------------
2877 !
2878  INTERFACE
2879  SUBROUTINE deall_telemac2d
2880  &(deall_lecdon)
2881  IMPLICIT NONE
2882  LOGICAL, INTENT(IN) :: DEALL_LECDON
2883  END SUBROUTINE
2884  END INTERFACE
2885 !
2886 !-----------------------------------------------------------------------
2887 !
2888  INTERFACE
2889  SUBROUTINE user_analytical_solution
2890  &(f,mesh,finemesh,nelmax,npoin,corresp,rlevels,nlevel,
2891  & ikle,fineikle,analytical)
2892  USE bief_def
2893  IMPLICIT NONE
2894  INTEGER , INTENT(IN) :: NPOIN
2895  DOUBLE PRECISION, INTENT(IN) :: F(npoin)
2896  TYPE(bief_mesh) , INTENT(IN) :: MESH
2897  TYPE(bief_mesh) , INTENT(INOUT) :: FINEMESH
2898  INTEGER , INTENT(IN) :: NELMAX
2899  INTEGER , INTENT(IN) :: RLEVELS
2900  INTEGER , INTENT(IN) :: NLEVEL
2901  INTEGER , INTENT(IN) :: CORRESP(nelmax,rlevels)
2902  INTEGER , INTENT(IN) :: IKLE(nelmax*3)
2903  INTEGER , INTENT(IN) :: FINEIKLE(nelmax*3)
2904  DOUBLE PRECISION, INTENT(INOUT) :: ANALYTICAL(*)
2905  END SUBROUTINE
2906  END INTERFACE
2907 !
2908 !-----------------------------------------------------------------------
2909 !
2910  INTERFACE
2911  SUBROUTINE user_bord
2912  &(hbor,ubor,vbor,tbor,u,v,h,
2913  & zf,nbor,tra05,tra06,lihbor,liubor,litbor,
2914  & xnebor,ynebor,npoin,nptfr,nptfr2,temps,ndebit,ncote,nvites,
2915  & ntrac,ntrace,nfrliq,numliq,kent,kentu,provel,mask,mesh,equa,
2916  & nomimp)
2917  USE bief_def
2918  IMPLICIT NONE
2919  INTEGER, INTENT(IN) :: NPOIN,NPTFR,NDEBIT,NCOTE,NVITES,NTRACE
2920  INTEGER, INTENT(IN) :: KENT,KENTU,NFRLIQ,NTRAC,NPTFR2
2921  INTEGER, INTENT(IN) :: PROVEL(*)
2922  INTEGER, INTENT(INOUT) :: LIHBOR(nptfr),LIUBOR(nptfr2)
2923  INTEGER, INTENT(IN) :: NUMLIQ(nptfr),NBOR(nptfr2)
2924  DOUBLE PRECISION, INTENT(IN) :: TEMPS
2925  DOUBLE PRECISION, INTENT(IN) :: ZF(npoin)
2926  DOUBLE PRECISION, INTENT(IN) :: XNEBOR(nptfr),YNEBOR(nptfr)
2927  CHARACTER(LEN=20), INTENT(IN) :: EQUA
2928  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: NOMIMP
2929  DOUBLE PRECISION, INTENT(INOUT) :: UBOR(nptfr2,2),VBOR(nptfr2,2)
2930  DOUBLE PRECISION, INTENT(INOUT) :: HBOR(nptfr)
2931  TYPE(bief_mesh), INTENT(INOUT) :: MESH
2932  TYPE(bief_obj), INTENT(INOUT) :: H,U,V,TRA05,TRA06,TBOR
2933  TYPE(bief_obj), INTENT(IN) :: MASK,LITBOR
2934  END SUBROUTINE
2935  END INTERFACE
2936 !
2937 !-----------------------------------------------------------------------
2938 !
2939  INTERFACE
2940  SUBROUTINE user_condin
2941  IMPLICIT NONE
2942  END SUBROUTINE
2943  END INTERFACE
2944 !
2945 !-----------------------------------------------------------------------
2946 !
2947  INTERFACE
2948  SUBROUTINE user_condin_h
2949  IMPLICIT NONE
2950  END SUBROUTINE
2951  END INTERFACE
2952 !
2953 !-----------------------------------------------------------------------
2954 !
2955  INTERFACE
2956  SUBROUTINE user_condin_trac
2957  IMPLICIT NONE
2958  END SUBROUTINE
2959  END INTERFACE
2960 !
2961 !-----------------------------------------------------------------------
2962 !
2963  INTERFACE
2964  SUBROUTINE user_condin_uv
2965  IMPLICIT NONE
2966  END SUBROUTINE
2967  END INTERFACE
2968 !
2969 !-----------------------------------------------------------------------
2970 !
2971  INTERFACE
2972  SUBROUTINE user_corfon
2973  IMPLICIT NONE
2974  END SUBROUTINE
2975  END INTERFACE
2976 !
2977 !-----------------------------------------------------------------------
2978 !
2979  INTERFACE
2980  SUBROUTINE user_corpor
2981  IMPLICIT NONE
2982  END SUBROUTINE
2983  END INTERFACE
2984 !
2985 !-----------------------------------------------------------------------
2986 !
2987  INTERFACE
2988  SUBROUTINE user_corstr
2989  IMPLICIT NONE
2990  END SUBROUTINE
2991  END INTERFACE
2992 !
2993 !-----------------------------------------------------------------------
2994 !
2995  INTERFACE
2996  SUBROUTINE user_debsce
2997  &(time, i, disce, debsce)
2998  IMPLICIT NONE
2999  DOUBLE PRECISION, INTENT(IN) :: TIME,DISCE(*)
3000  INTEGER , INTENT(IN) :: I
3001  DOUBLE PRECISION, INTENT(INOUT) :: DEBSCE
3002  END SUBROUTINE
3003  END INTERFACE
3004 !
3005 !-----------------------------------------------------------------------
3006 !
3007  INTERFACE
3008  SUBROUTINE user_def_zones
3009  IMPLICIT NONE
3010  END SUBROUTINE
3011  END INTERFACE
3012 !
3013 !-----------------------------------------------------------------------
3014 !
3015  INTERFACE
3016  SUBROUTINE user_flot
3017  &(xflot,yflot,nflot,nflot_max,x,y,ikle,nelem,nelmax,npoin,
3018  & tagflo,clsflo,shpflo,eltflo,mesh,lt,nit,at)
3019  USE bief_def
3020  IMPLICIT NONE
3021  INTEGER, INTENT(IN) :: NPOIN,NIT,NFLOT_MAX,LT
3022  INTEGER, INTENT(IN) :: NELEM,NELMAX
3023  INTEGER, INTENT(IN) :: IKLE(nelmax,3)
3024  INTEGER, INTENT(INOUT) :: NFLOT
3025  INTEGER, INTENT(INOUT) :: TAGFLO(nflot_max)
3026  INTEGER, INTENT(INOUT) :: CLSFLO(nflot_max)
3027  INTEGER, INTENT(INOUT) :: ELTFLO(nflot_max)
3028  DOUBLE PRECISION, INTENT(IN) :: X(npoin),Y(npoin),AT
3029  DOUBLE PRECISION, INTENT(INOUT) :: XFLOT(nflot_max)
3030  DOUBLE PRECISION, INTENT(INOUT) :: YFLOT(nflot_max)
3031  DOUBLE PRECISION, INTENT(INOUT) :: SHPFLO(3,nflot_max)
3032  TYPE(bief_mesh) , INTENT(INOUT) :: MESH
3033  END SUBROUTINE
3034  END INTERFACE
3035 !
3036 !-----------------------------------------------------------------------
3037 !
3038  INTERFACE
3039  SUBROUTINE user_href
3040  IMPLICIT NONE
3041  END SUBROUTINE
3042  END INTERFACE
3043 !
3044 !-----------------------------------------------------------------------
3045 !
3046  INTERFACE
3047  SUBROUTINE user_nomvar_telemac2d
3048  &(texte,textpr,mnemo,nperiaf,ntrac,nametrac,n_names_priv,
3049  & names_prive,seccurrents,nadvar,names_advar)
3050  IMPLICIT NONE
3051  INTEGER, INTENT(IN) :: NPERIAF,NTRAC,N_NAMES_PRIV
3052  INTEGER, INTENT(IN) :: NADVAR
3053  CHARACTER(LEN=32), INTENT(INOUT) :: TEXTE(*),TEXTPR(*)
3054  CHARACTER(LEN=8), INTENT(INOUT) :: MNEMO(*)
3055  CHARACTER(LEN=32), INTENT(IN) :: NAMETRAC(*),NAMES_PRIVE(4)
3056  CHARACTER(LEN=32), INTENT(IN) :: NAMES_ADVAR(*)
3057  LOGICAL, INTENT(IN) :: SECCURRENTS
3058  END SUBROUTINE
3059  END INTERFACE
3060 !
3061 !-----------------------------------------------------------------------
3062 !
3063  INTERFACE
3064  SUBROUTINE user_preres_telemac2d
3065  IMPLICIT NONE
3066  END SUBROUTINE
3067  END INTERFACE
3068 !
3069 !-----------------------------------------------------------------------
3070 !
3071  INTERFACE
3072  SUBROUTINE user_q
3073  &(i, q)
3074  IMPLICIT NONE
3075  INTEGER , INTENT(IN) :: I
3076  DOUBLE PRECISION, INTENT(INOUT) :: Q
3077  END SUBROUTINE
3078  END INTERFACE
3079 !
3080 !-----------------------------------------------------------------------
3081 !
3082  INTERFACE
3083  SUBROUTINE user_rain
3084  IMPLICIT NONE
3085  END SUBROUTINE
3086  END INTERFACE
3087 !
3088 !-----------------------------------------------------------------------
3089 !
3090  INTERFACE
3091  SUBROUTINE user_sl
3092  &(i , n, sl)
3093  INTEGER, INTENT(IN) :: i,n
3094  DOUBLE PRECISION, INTENT(INOUT) :: SL
3095  END SUBROUTINE
3096  END INTERFACE
3097 !
3098 !-----------------------------------------------------------------------
3099 !
3100  INTERFACE
3101  SUBROUTINE user_trsce
3102  &(time, i, itrac, trsce)
3103  IMPLICIT NONE
3104  DOUBLE PRECISION, INTENT(IN) :: TIME
3105  INTEGER , INTENT(IN) :: I,ITRAC
3106  DOUBLE PRECISION, INTENT(INOUT) :: TRSCE
3107  END SUBROUTINE
3108  END INTERFACE
3109 !
3110 !-----------------------------------------------------------------------
3111 !
3112  INTERFACE
3113  SUBROUTINE user_utimp_telemac2d
3114  &(ltl,atl,gradebl,graprdl,lisdebl,lisprdl)
3115  IMPLICIT NONE
3116  DOUBLE PRECISION, INTENT(IN) :: ATL
3117  INTEGER, INTENT(IN) :: LTL,GRADEBL,GRAPRDL,LISDEBL,LISPRDL
3118  END SUBROUTINE
3119  END INTERFACE
3120 !
3121 !-----------------------------------------------------------------------
3122 !
3123  END MODULE interface_telemac2d
3124 
subroutine nodalf_pugh(FFMN2, FFM4, NODALCORR, TEMPS, DEJA, MARDAT, MARTIM)
Definition: nodalf_pugh.f:7
subroutine flux_zokagoa(HI, HJ, ZFI, ZFJ, U1, U2, V1, V2, XNN, YNN, FLXI, FLXJ)
Definition: flux_zokagoa.f:6
subroutine marast(MARDAT, MARTIM, PHI0, NPOIN, AT, FU1, FV1, X, SINLAT, COSLAT, GRAV)
Definition: marast.f:7
double precision function tr(I, ITRAC, N, IERR)
Definition: tr.f:7
subroutine read_fic_curves(NFIC, NFRLIQ, STA_DIS_CURVES, PTS_CURVES)
subroutine calcul_tang_w2(IP, NKFROT, CHESTR, H, PENTE, KARMAN, UTAN)
Definition: calcul_tang_w2.f:7
subroutine propag_adj(UN, VN, HN, MESH, ZF, AM1, AM2, AM3, BM1, BM2, CM1, CM2, TM1, CV1, CV2, CV3, TE3, T1, T2, T3, T4, T5, T6, T7, T10, T11, LIMPRO, MASK, GRAV, CF, LT, AT, DT, TETAH, TETAU, KDIR, INFOGR, KFROT, MSK, MASKEL, MASKPT, RHS, TB, SOLSYS, SLVPRO, VERTIC, U, V, H, UU, VV, HH, UIT1, VIT1, HIT1, PP, QQ, RR, TAM1, TAM2, TAM3, TBM1, TBM2, TCM1, TCM2, MATADJ, UNKADJ, ADJDIR, ESTIME, OPTCOST, NIT, VARSOR, ALIRE, TROUVE, MAXVAR, TEXTE, CHESTR, KARMAN, NDEF, LISRUG, CHBORD, CFBOR, HFROT, UNSV2D)
Definition: propag_adj.f:23
subroutine cdl_cin(LIMPRO, UA, CE, FLUENT, FLUSORT, FLBOR, DT, FLUHBTEMP)
Definition: cdl_cin.f:7
subroutine spalart_allmaras(U, V, VISCSA, DT, NUN, NUTILD, PROPNU, IELMNU, SLVNU, INFOSA, MSK, MASKEL, MASKPT, NPTFR, LIMSA, NUBOR, S, UCONV, VCONV, ICONV, MAS, DIF, SM, CM2, T3, T1, T2, MESH, TB, T4, WDIST, NUMIN, NUMAX, YAFLULIM, FLULIM, YAFLULIMEBE, FLULIMEBE, TE1, TE2, YASMH)
subroutine loinoy(YAM, YAV, YS, PHI, DEB, G)
Definition: loinoy.f:7
subroutine assignstr(CHESTR, SETSTR, PZONE, NZONE, NPOIN)
Definition: assignstr.f:7
subroutine user_nomvar_telemac2d(TEXTE, TEXTPR, MNEMO, NPERIAF, NTRAC, NAMETRAC, N_NAMES_PRIV, NAMES_PRIVE, SECCURRENTS, NADVAR, NAMES_ADVAR)
subroutine flux_roe(HI, HJ, UI, UJ, VI, VJ, XN, YN, FLX)
Definition: flux_roe.f:6
subroutine debimp(Q, UBOR, VBOR, U, V, H, NUMLIQ, IFRLIQ, WORK1, WORK2, NPTFR, MASK, MESH)
Definition: debimp.f:7
subroutine cornor(XNEBOR, YNEBOR, XSGBOR, YSGBOR, NPTFR, KLOG, LIHBOR, T1, T2, MESH, IKLBOR, NELEB, NELEBX)
Definition: cornor.f:8
subroutine propa(F, B, ELT, ETA, FRE, NPOIN3, NPOIN2, NDIRE, NF, COURAN, TRA01)
Definition: propa.f:8
subroutine error_computation(F, MESH, FINEMESH, NELMAX, NPOIN, CORRESP, RLEVELS, NLEVEL, IKLE, FINEIKLE)
subroutine loiden(YAM, YS, PHI, DEB, G)
Definition: loiden.f:7
subroutine user_href
Definition: user_href.f:4
subroutine bord_tide(ZF, NBOR, LIHBOR, LIUBOR, NPOIN, NPTFR, TEMPS, DT, NUMLIQ, KENT, KENTU, TIDALTYPE, CTIDE, MSL, CTIDEV, NODALCORR, NFOT, BOUNDARY_COLOUR, HBTIDE, UBTIDE, VBTIDE, NUMTIDE, ICALHW, MARDAT, MARTIM, TM2S2N2EQUAL)
Definition: bord_tide.f:10
subroutine conv_mercator_to_degdec(NTAB, XTAB, YTAB, LAMBDATAB, PHITAB, GEOSYST, NUMZONE, LONG0, LAT0)
subroutine difsou(TEXP, TIMP, TSCEXP, HPROP, TN, TETAT, NREJET, ISCE, DSCE, TSCE, MAXSCE, MAXTRA, AT, DT, MASSOU, NTRAC, FAC, NBUSE, ENTBUS, SORBUS, DBUS, TBUS, NWEIRS, TYPSEUIL, N_NGHB_W_NODES, NREG, PT_IN_POLY, TNP, NPOIN)
Definition: difsou.f:10
subroutine user_preres_telemac2d
subroutine vistursa(VISC, VISCSA, NPOIN, PROPNU)
Definition: vistursa.f:7
subroutine friction_lindner(VA, HA, VK, G, DP, SP, CP)
subroutine bilant1(H, UCONV, VCONV, HPROP, WORK2, WORK3, WORK4, WORK5, LT, NIT, INFO, MASKTR, T, TN, TETAT, MASSOU, MSK, MASKEL, MESH, FLUSOR, FLUENT, EQUA, ITRAC)
Definition: bilant1.f:9
subroutine collect_values
Definition: collect_values.f:4
subroutine user_vvsce(VVSCE, TIME, I)
Definition: user_vvsce.f:7
subroutine flux_trac(NUBO, IKLE, FLUTENT, FLUTSOR, CMI, DJXT, DJYT, DXT, DYT, DPX, DPY, BETA, DSZ, AIRST, HC, FLUXT, ELTSEG, IFABOR, VNOCL)
Definition: flux_trac.f:8
subroutine user_flot(XFLOT, YFLOT, NFLOT, NFLOT_MAX, X, Y, IKLE, NELEM, NELMAX, NPOIN, TAGFLO, CLSFLO, SHPFLO, ELTFLO, MESH, LT, NIT, AT)
Definition: user_flot.f:8
subroutine wrihyd(TITRE, ITSTRT, ITSTOP, NPOIN2, MBND, NSEG, NOLAY, NOMGEO, NOMLIM, F, NSTEPA, NOMSOU, NOMMAB, NOMCOU, NOMINI, NOMVEB, NOMMAF, NOMSAL, NOMTEM, NOMVEL, NOMVIS, NHYD, SALI_DEL, TEMP_DEL, VELO_DEL, DIFF_DEL, MARDAT, MARTIM)
Definition: wrihyd.f:11
subroutine flux_tchamen(H1, H2, ZF1, ZF2, U1, U2, V1, V2, XNN, YNN, FLXI, FLXJ)
Definition: flux_tchamen.f:7
subroutine clsing(NWEIRS, NPSING, NDGA1, NDGB1, X, Y, ZF, CHESTR, NKFROT, KARMAN, ZDIG, PHIDIG, NBOR, H, T, NTRAC, IOPTAN, UNORM, UBOR, VBOR, TBOR, LIHBOR, LIUBOR, LIVBOR, LITBOR, GRAV)
Definition: clsing.f:9
subroutine rescue(U, V, H, S, ZF, T, TRAC0, NTRAC, ITURB, NPOIN, AKEP, TROUVE, ADR_TRAC)
Definition: rescue.f:7
subroutine cdlproj(NS, NPTFR, NBOR, LIMPRO, XNEBOR, YNEBOR, KNEU, UA)
Definition: cdlproj.f:7
subroutine friction_zones(MESH, H, U, V, CHESTR, CHBORD, NKFROT, NDEFMA, KFRO_B, NDEF_B, LISRUG, VEGETATION, VK, KARMAN, GRAV, T1, T2, CF, CFBOR)
Definition: friction_zones.f:9
subroutine friction_unif(MESH, H, U, V, CHESTR, KFROT, KFROTL, LISRUG, VEGETATION, NDEF, VK, KARMAN, GRAV, T1, T2, CHBORD, CF, CFBOR, FRICOU, NPOIN, ORBVEL)
Definition: friction_unif.f:8
subroutine cubeequation(ACOF, BCOF, CCOF, DCOF, REALS, X)
Definition: cubeequation.f:7
subroutine loi_w_inc(YAM, YAV, YS1, YS2, WIDTH, PHI, DEB, G)
Definition: loi_w_inc.f:7
double precision function vusce(TIME, I)
Definition: vusce.f:7
subroutine bord_tide_misc(ZF, NBOR, LIHBOR, LIUBOR, NPOIN, NPTFR, TEMPS, DT, NUMLIQ, KENT, KENTU, TIDALTYPE, CTIDE, MSL, CTIDEV, NODALCORR, NFOT, BOUNDARY_COLOUR, HBTIDE, UBTIDE, VBTIDE, NUMTIDE, ICALHW, MARDAT, MARTIM)
subroutine metgra(RO, GRADJ, GRADJN, JCOUT1, DESC, NPARAM, OPTID, RSTART, R02, R03)
Definition: metgra.f:7
subroutine user_vit(VIT_VAL, I, N)
Definition: user_vit.f:7
subroutine meteo(PATMOS, WINDX, WINDY, FUAIR, FVAIR, AT, LT, NPOIN, VENT, ATMOS, ATMFILEA, ATMFILEB, FILES, LISTIN, PATMOS_VALUE, AWATER_QUALITY, PLUIE, AOPTWIND, AWIND_SPD)
Definition: meteo.f:9
subroutine condin_adj(NRES, RESFORMAT)
Definition: condin_adj.f:7
subroutine nodalupv_schureman(UPVWAVE, WWAVE, MARDAT, MARTIM)
subroutine initstr(CHESTR, SETSTR, PZONE, NZONE, NPOIN, T1)
Definition: initstr.f:7
subroutine majzz(W, FLUX, FLUX_OLD, QU, QV, LIMPRO, T)
Definition: majzz.f:7
subroutine init_trac(T, HTN, SMTR, FLUXT, FLUHTEMP, FLUHBTEMP, MASSOU, FLUTENT, FLUTSOR, FLBOR, MESH)
Definition: init_trac.f:8
subroutine bord_tidal_bc(NBOR, LIHBOR, LIUBOR, NPTFR, KENT, KENTU, MESH, GEOSYST, NUMZONE, NL93, LAMBD0, PHI0, TIDALTYPE, BOUNDARY_COLOUR, MAXFRO, NFO2, FFORMAT, NBI2, NRFO, XSHIFT, YSHIFT, BETA, I_ORIG, J_ORIG)
Definition: bord_tidal_bc.f:10
subroutine masbas2d(VOLU2D, V2DPAR, UNSV2D, IELM, MESH, MSK, MASKEL, T1, S)
Definition: masbas2d.f:7
subroutine friction_huthoff(HA, CD, MD, HVEG, SP, CP)
subroutine user_analytical_solution(F, MESH, FINEMESH, NELMAX, NPOIN, CORRESP, RLEVELS, NLEVEL, IKLE, FINEIKLE, ANALYTICAL)
subroutine entete(IETAPE, AT, LT, ASCHEME, AORDRE)
Definition: entete.f:7
subroutine init_fv(GPRDTIME, ICIN, QU, QV, FLUX_OLD, W, IVIS, NEISEG, CORR_I, CORR_J, CORR_HL, CORR_HR, CORR_UL, CORR_UR, CORR_VL, CORR_VR, CORR_ZL, CORR_ZR)
Definition: init_fv.f:8
subroutine user_mesures(ITER, TT)
Definition: user_mesures.f:7
integer, parameter maxkeyword
subroutine mixlength(VISC, MESH, T1, T2, T3, T4)
Definition: mixlength.f:7
subroutine user_lagran(NLAG, DEBLAG, FINLAG)
Definition: user_lagran.f:7
subroutine flusec_t2d(GLOSEG, DIMGLO, DT, MESH, FLODEL, DOPLOT)
Definition: flusec_t2d.f:7
subroutine propag(U, V, H, UCONV, VCONV, CONVV, H0, PATMOS, ATMOS, HPROP, UN, VN, HN, UTILD, VTILD, HTILD, DH, DU, DV, DHN, VISC, VISC_S, FU, FV, SMH, MESH, ZF, AM1, AM2, AM3, BM1, BM2, CM1, CM2, TM1, A23, A32, MBOR, CV1, CV2, CV3, UBOR, VBOR, AUBOR, HBOR, DIRBOR, TE1, TE2, TE3, TE4, TE5, T1, T2, T3, T4, T5, T6, T8, LIMPRO, MASK, GRAV, ROEAU, CF, DIFVIT, IORDRH, IORDRU, LT, DT, TETAH, TETAU, TETAD, AGGLOH, AGGLOU, KDIR, INFOGR, KFROT, ICONVF, ISOUSI, BILMAS, MASSES, MASS_RAIN, YASMH, OPTBAN, CORCON, OPTSUP, MSK, MASKEL, MASKPT, RO, ROVAR, MAT, RHS, UNK, TB, S, PRECCU, SOLSYS, OPDVIT, OPTSOU, NFRLIQ, SLVPRO, EQUA, VERTIC, ADJO, ZFLATS, TETAZCOMP, UDEL, VDEL, DM1, ZCONV, FLBOR, BM1S, BM2S, CV1S, VOLU2D, V2DPAR, UNSV2D, NDGA1, NDGB1, NWEIRS, NPSING, HFROT, FLULIM, YAFLULIM, FLULIMEBE, YAFLULIMEBE, RAIN, PLUIE, MAXADV, OPTADV_VI, IKLE, NELMAX)
Definition: propag.F:22
subroutine lecsng2(IOPTAN, IFIC)
Definition: lecsng2.f:7
double precision function sta_dis_cur(IFRLIQ, FLUX, PTS, QZ, NFRLIQ, ZN)
Definition: sta_dis_cur.f:7
double precision function sl(I, N)
Definition: sl.f:7
subroutine lecbus(RELAXB, NBUSE, ENTBUS, SORBUS, LRGBUS, HAUBUS, CLPBUS, ALTBUS, CSBUS, CEBUS, ANGBUS, LBUS, IFIC, MESH, CV, C56, CV5, C5, CTRASH, FRICBUS, LONGBUS, CIRC, DELBUS, AABUS)
Definition: lecbus.f:10
subroutine filter_h(VEC, T1, MESH, MSK, MASKEL, N, FLODEL, YAFLODEL, DT, W1, UNSV2D)
Definition: filter_h.f:7
subroutine gradz(IKLE, NUBO, CMI, DPX, DPY, DSZ, BETA, AIRST, DXIZ, DYIZ, DSP, DSM, CORR)
Definition: gradz.f:7
subroutine buse(RELAXB, NBUSE, ENTBUS, SORBUS, GRAV, H, ZF, DBUS, LRGBUS, HAUBUS, CLPBUS, ALTBUS, CSBUS, CEBUS, ANGBUS, LBUS, NTRAC, T, TBUS, UBUS, VBUS, U, V, ENTET, CV, C56, CV5, C5, CTRASH, FRICBUS, LONGBUS, CIRC, DELBUS, OPTBUSE, V2DPAR, DT, SECBUS, MAXSOURCE, NPTSCE, NPOIN2, KSCE)
Definition: buse.f:13
subroutine propin_telemac2d(LIMPRO, LIMDIM, MASK, LIUBOR, LIVBOR, LIHBOR, NBOR, NPTFR, KENT, KENTU, KSORT, KADH, KLOG, KNEU, KDIR, KDDL, CLH, CLU, CLV, IELMU, U, V, GRAV, H, NPOIN, NELBOR, MSK, MASKEL, NFRLIQ, THOMFR, NUMLIQ, FRTYPE, XNEBOR, YNEBOR, IKLBOR, ENTET, NELEBX, NELEB)
subroutine user_corfon
Definition: user_corfon.f:4
subroutine clhuvt(NWEIRS, NPSING, NDGA1, NDGB1, ZDIG, X, Y, ZF, IOPTAN, UNORM, CHESTR, NKFROT, KARMAN, T, NTRAC, H, UBOR, VBOR, TBOR, NBOR, LIHBOR, LIUBOR, LIVBOR, LITBOR)
Definition: clhuvt.f:9
subroutine hyd_fv
Definition: hyd_fv.f:4
double precision function exlim(ILIM, BETA, GRI, GRIJ)
Definition: exlim.f:7
subroutine source_moment(UA, YASMO)
Definition: source_moment.f:7
subroutine breach
Definition: breach.f:4
double precision function vit(I, N)
Definition: vit.f:7
subroutine caldt(DT, DTN, LEO)
Definition: caldt.f:7
subroutine output_telemac2d(TIME)
subroutine correction_depth_2d(GLOSEG, DIMGLO, YASMH)
subroutine nestor_t2d_interface(OPTION)
subroutine gradnodt(NS, NT, NU, AIRT, AIRS, H, T, DPX, DPY, DJX, DJY, DX, DY, DIFT, CVIST, CE, DTT, MESH)
Definition: gradnodt.f:8
subroutine maskob(MASKEL, X, Y, IKLE, NELEM, NELMAX, NPOIN, AT, LT)
Definition: maskob.f:7
subroutine zslope(SLOPE, ZF, T1, T2, MSK, MASKEL, IELM, MESH)
Definition: zslope.f:7
subroutine bornes(B, N, A, XM, X0, X1)
Definition: bornes.f:7
subroutine meteo_set_var_names(U_NAME, V_NAME, P_NAME, T_NAME)
subroutine akepin(AK, EP, U, V, H, NPOIN, KFROT, CMU, C2, ESTAR, SCHMIT, EMIN, CF)
Definition: akepin.f:7
subroutine user_rain
Definition: user_rain.f:4
subroutine valro(RO, S, ROEAU)
Definition: valro.f:7
subroutine cdl_fv(LIMPRO, W, CE, FLUENT, FLUSORT, FLBOR, FLUHBTEMP)
Definition: cdl_fv.f:7
subroutine cltrac(NWEIRS, NPSING, NDGA1, NDGB1, ZF, ZDIG, H, T, NBOR, LITBOR, TBOR, NTRAC)
Definition: cltrac.f:7
subroutine lagran(NLAG, DEBLAG, FINLAG)
Definition: lagran.f:7
subroutine vistur(VISC, AK, EP, NPOIN, CMU, PROPNU)
Definition: vistur.f:7
subroutine user_bord(HBOR, UBOR, VBOR, TBOR, U, V, H, ZF, NBOR, TRA05, TRA06, LIHBOR, LIUBOR, LITBOR, XNEBOR, YNEBOR, NPOIN, NPTFR, NPTFR2, TEMPS, NDEBIT, NCOTE, NVITES, NTRAC, NTRACE, NFRLIQ, NUMLIQ, KENT, KENTU, PROVEL, MASK, MESH, EQUA, NOMIMP)
Definition: user_bord.f:11
subroutine wall_friction(UETUTA, AUBOR, CFBOR, DISBOR, UN, VN, LIMPRO, NBOR, NPTFR, KARMAN, PROPNU, LISRUG, KNEU, IELMU, IKLBOR, NELEB, NELEBX)
Definition: wall_friction.f:9
subroutine zerophi(X0, X, NIT, CA1)
Definition: zerophi.f:7
subroutine friction_baptist(HA, CD, MD, HVEG, KARMAN, CP)
subroutine user_maskob(MASKEL, X, Y, IKLE, NELEM, NELMAX, NPOIN, AT, LT)
Definition: user_maskob.f:7
subroutine utimp_telemac2d(LTL, ATL, GRADEBL, GRAPRDL, LISDEBL, LISPRDL)
subroutine user_condin_uv
Definition: user_condin_uv.f:4
subroutine poros(TETA, ZF, HN, MESH)
Definition: poros.f:7
subroutine second_order(DSZ0, BETA, T1, T2, T3, T4, T5, LOGFR, UA, DJX, DJY, DX, DY, CE, DT, CORR_I, CORR_J, CORR_HL, CORR_HR, CORR_UL, CORR_UR, CORR_VL, CORR_VR, CORR_ZL, CORR_ZR, IVIS, AIRST, VNOIN, ELTSEG, IFABOR, NUBO, CMI, LIMPRO, HC)
Definition: second_order.f:9
subroutine deall_telemac2d(FULL_DEALL)
subroutine coefmat(PERIAF, DT, M, AM, NPERIAF)
Definition: coefmat.f:7
double precision function limiter(ILIM, R, C)
Definition: limiter.f:7
subroutine spalallin(LIMSA, LIUBOR, NPTFR, KENT, KENTU, KSORT, KADH, KLOG, KINC, KNEU, KDIR)
Definition: spalallin.f:7
subroutine smagor(VISC, U, V, MESH, T1, T2, T3, T4, MSK, MASKEL, PROPNU)
Definition: smagor.f:7
subroutine viscsa(VISCVI, VISCNU, NU, DNUVIH, DNUVIV, AK, EP, STRAIN)
Definition: viscsa.f:8
subroutine friction_bubble(IKLE, NPOIN, NELEM, NELMAX, VEGETATION, NKFROT, CHESTR, NDEFMA, VCOEFF, VEGLAW)
subroutine corpor(POROS)
Definition: corpor.f:7
subroutine friction_choice(FRICTION_PASS)
subroutine user_corpor(POROS)
Definition: user_corpor.f:7
subroutine friction_luharnepf(HA, CD, CV, A, HVEG, CP)
subroutine user_debsce(TIME, I, DISCE, DEBSCE)
Definition: user_debsce.f:7
subroutine nomvar_telemac2d(TEXTE, TEXTPR, MNEMO, NPERIAF, NTRAC, NAMETRAC, N_NAMES_PRIV, NAMES_PRIVE, SECCURRENTS, NADVAR, NAMES_ADVAR)
subroutine bord(HBOR, UBOR, VBOR, TBOR, U, V, H, ZF, NBOR, TRA05, TRA06, LIHBOR, LIUBOR, LITBOR, XNEBOR, YNEBOR, NPOIN, NPTFR, NPTFR2, TEMPS, NDEBIT, NCOTE, NVITES, NTRAC, NTRACE, NFRLIQ, NUMLIQ, KENT, KENTU, PROVEL, MASK, MESH, EQUA, NOMIMP)
Definition: bord.f:11
subroutine read_fic_sources(Q, WHAT, AT, NFIC, LISTIN, FOUND)
subroutine collect_values_trac
subroutine gradnod(IKLE, UA, DPX, DPY, DJX, DJY, DX, DY, IVIS, CE)
Definition: gradnod.f:7
double precision function debsce(TIME, I, DISCE)
Definition: debsce.f:7
type(bief_mesh), target mesh
subroutine isitok(H, NPH, U, NPU, V, NPV, NTRAC, T, NPT, X, Y, BORNES, ARRET)
Definition: isitok.f:7
subroutine user_def_zones
Definition: user_def_zones.f:4
double precision function vvsce(TIME, I)
Definition: vvsce.f:7
subroutine flux_waf(H1, H2, U1, U2, V1, V2, HL_UP, HR_UP, VL_UP, VR_UP, XNN, YNN, DX, WAFFLX)
Definition: flux_waf.f:6
subroutine telemac2d(PASS, ATDEP, NITER, CODE, DTDEP, NEWTIME, DOPRINT, NITERORI, CONVERGENCE_LEVEL)
Definition: telemac2d.F:8
subroutine friction_whittaker(VA, HA, CD0, AP0, EI, VOGEL, SP, HVEG, ROEAU, CP)
subroutine oil_flot(PARTICULES, NFLOT, NFLOT_MAX, MESH, LT, VOLDEV, RHO_OIL, NB_COMPO, NB_HAP, FMCOMPO, TBCOMPO, FMHAP, TBHAP, SOLU, ETAL, AREA, NPLAN, GRAV)
Definition: oil_flot.f:8
subroutine matbou(MESH, M1, M2, A11, A12, A21, A22, SMU, SMV, VR, VS, H0, MSK, MASKEL, S)
Definition: matbou.f:7
subroutine flusrc(IEL1, IEL2, ISEGIN, VNOIN, W, HDZ1, HDZ2, HDXZ1, HDYZ1, HDXZ2, HDYZ2, EPS)
Definition: flusrc.f:7
subroutine meteo_from_binary_file(PATMOS, WINDX, WINDY, AT, NPOIN, ATMOS, ATMFILE, FILES, LISTIN, OPTWIND, WIND_SPD)
subroutine lecbreach(IFIC)
Definition: lecbreach.f:7
subroutine conv_lambert_to_degdec(NTAB, XTAB, YTAB, LAMBDATAB, PHITAB, NUMZONE, NL93)
subroutine flux_choice(HG, HD, HRG, HRD, UG, UD, VG, VD, ZG, ZD, XNN, YNN, FLXG, FLXD, HG_UP, HD_UP, VG_UP, VD_UP, DX)
Definition: flux_choice.f:7
subroutine bilan(MESH, H, WORK, AT, DT, LT, NIT, INFO, MASSES, MSK, MASKEL, EQUA, POROSS, OPTBAN, NPTFR, FLBOR, FLUX_BOUNDARIES, NUMLIQ, NFRLIQ, GAMMA)
Definition: bilan.f:8
subroutine lecdon_telemac2d(MOTCAR, FILE_DESC, PATH, NCAR, CAS_FILE, DICO_FILE, CAS_FILE_GAIA, DICO_FILE_GAIA)
subroutine read_source_data(NFIC, NREG)
subroutine prosou(FU, FV, SMH, UN, VN, HN, GRAV, FAIR, WINDX, WINDY, VENT, HWIND, CORIOL, FCOR, SPHERI, YASMH, COSLAT, SINLAT, AT, LT, DT, NREJET, NREJEU, DSCE, ISCE, T1, MESH, MSK, MASKEL, MAREE, MARDAT, MARTIM, PHI0, OPTSOU, COUROU, NPTH, VARCL, NVARCL, VARCLA, UNSV2D, FXWAVE, FYWAVE, RAIN, RAIN_MMPD, PLUIE, T2D_FILES, T2DBI1, BANDEC, NBUSE, ENTBUS, SORBUS, DBUS, UBUS, VBUS, TYPSEUIL, NWEIRS, N_NGHB_W_NODES, MAXSCE, NREG, PT_IN_POLY, TNP, AREA_P)
Definition: prosou.f:17
subroutine zeropsi(X0, X, NIT, CA1, A2)
Definition: zeropsi.f:7
subroutine lecsng(IOPTAN, IFIC)
Definition: lecsng.f:7
subroutine user_trsce(TIME, I, ITRAC, TRSCE)
Definition: user_trsce.f:7
subroutine gestio(U, V, C, T, AK, EP, VISCSA, UTILD, VTILD, CTILD, TTILD, AKTILD, EPTILD, NUTILD, TRAC, PROPA, CONVV, ITURB, IETAPE)
Definition: gestio.f:8
subroutine user_condin_trac
subroutine user_vusce(VUSCE, TIME, I)
Definition: user_vusce.f:7
subroutine receding(H, ZF, HREC, V2DPAR, IKLE, NPOIN, NELEM, NELMAX, DELTAH, HITS, MESH, W1, YAFLODEL, FLODEL, DT)
Definition: receding.f:8
subroutine flux_hllc(H1, H2, U1, U2, V1, V2, XNN, YNN, HLLCFLX, ROT)
Definition: flux_hllc.f:6
subroutine friction_vastila(VA, HA, CDXF, LAI, UREFF, VOGELF, CDXS, SAI, UREFS, VOGELS, HVEG, CP)
subroutine user_sl(I, N, SL)
Definition: user_sl.f:7
subroutine fv_balance(MASSES, MASS_RAIN, YASMH, SMH, H, QU, QV, FLUX, FLUX_OLD, W, U, V, T, FLUXT_OLD, MASSOU, TN)
Definition: fv_balance.f:8
subroutine thomps(HBOR, UBOR, VBOR, TBOR, U, V, H, T, ZF, X, Y, NBOR, FRTYPE, C, UCONV, VCONV, XCONV, YCONV, LIHBOR, LIUBOR, LIVBOR, IT1, W1R, W2R, W3R, HBTIL, UBTIL, VBTIL, TBTIL, ZBTIL, SURDET, IKLE, IFABOR, NELEM, MESH, XNEBOR, YNEBOR, NPOIN, NPTFR, DT, GRAV, NTRAC, NFRLIQ, KENT, KENTU, MSK, MASKEL, NELMAX, IELM, SHPP, NUMLIQ, SHP, DX_T, DY_T, DZ_T, IT3, IT4, HFIELD, UFIELD, VFIELD, ZS, GZSX, GZSY, SHPBUF)
Definition: thomps.f:15
subroutine steady(H1, H2, NPH, U1, U2, NPU, V1, V2, NPV, NTRAC, T1, T2, NPT, CRIPER, ARRET)
Definition: steady.f:7
subroutine flux_kin(HIJ, HJI, U1, U2, V1, V2, XNN, YNN, FLX)
Definition: flux_kin.f:6
subroutine astro(YEAR, MONTH, DAY, HOUR, MINU, SEC, AT, ARL, ARS, DL, DS, AL, AS)
Definition: astro.f:7
double precision function trsce(TIME, I, ITRAC)
Definition: trsce.f:7
subroutine read_fic_frliq(Q, WHAT, AT, NFIC, LISTIN, FOUND)
Definition: read_fic_frliq.f:7
subroutine disper(VISC, U, V, H, CF, ELDER, PROPNU)
Definition: disper.f:7
subroutine friction_read(NCOF, NZONMX, ITURB, LISRUG, VEGETATION, NOMCOF, NZONES, FRTAB, KFROTL, SB)
Definition: friction_read.f:8
subroutine spalallcl(NUBOR, LIMSA, LIUBOR, NPTFR, NUMIN, KDIR, KENT, KENTU, KADH, KLOG)
Definition: spalallcl.f:7
subroutine cost_function(JCOUT, OPTION, MODE)
Definition: cost_function.f:7
subroutine prosou_fv(FU, FV, SMH, UN, VN, HN, GRAV, FAIR, WINDX, WINDY, VENT, HWIND, SPHERI, YASMH, YASMO, COSLAT, SINLAT, AT, DT, NREJET, NREJEU, DSCE, ISCE, T1, MESH, MSK, MASKEL, MAREE, MARDAT, MARTIM, PHI0, OPTSOU, COUROU, NPTH, VARCL, NVARCL, VARCLA, UNSV2D, FXWAVE, FYWAVE, RAIN, RAIN_MMPD, PLUIE, T2D_FILES, T2DBI1, BANDEC, NBUSE, ENTBUS, SORBUS, DBUS, UBUS, VBUS, TYPSEUIL, NWEIRS, N_NGHB_W_NODES, NREG, PT_IN_POLY, TNP, MAXSCE)
Definition: prosou_fv.f:17
subroutine runoff_scs_cn(PLUIE, ACCFA, ACCIA, ACCROFF, ACCROF_OLD, RAIN_MPS, AMC, CN, ZF, ZFSLOP, RAIN_HDUR, FILES, FO2, NPOIN, MASKEL, MSK, IELM, MESH)
Definition: runoff_scs_cn.f:9
subroutine user_corstr
Definition: user_corstr.f:4
subroutine kepsin(LIMKEP, LIUBOR, NPTFR, KENT, KENTU, KSORT, KADH, KLOG, KINC, KNEU, KDIR)
Definition: kepsin.f:7
subroutine kepsil(AK, EP, AKTILD, EPTILD, AKN, EPN, VISC, CF, U, V, HN, UCONV, VCONV, KBOR, EBOR, LIMKEP, IELMK, IELME, SMK, SME, TM1, MAK, MAE, CM2, TE1, TE2, NPTFR, DT, MESH, T1, T2, T3, TB, CMU, C1, C2, SIGMAK, SIGMAE, ESTAR, SCHMIT, KMIN, KMAX, EMIN, EMAX, INFOKE, MSK, MASKEL, MASKPT, S, SLVK, SLVEP, ICONV, YASMH, YAFLULIM, FLULIM, YAFLULIMEBE, FLULIMEBE)
Definition: kepsil.f:13
subroutine interpol(RO, R02, R03, JCOUT1, JCOUT2, JCOUT3)
Definition: interpol.f:7
subroutine nodalupv_pugh(UPVM2, UPVN2, UPVS2, MARDAT, MARTIM)
Definition: nodalupv_pugh.f:7
subroutine hpropa(HPROP, HN, H, PROLIN, HAULIN, TETA, NSOUSI)
Definition: hpropa.f:7
subroutine complim(LIUBOR, LIVBOR, LITBOR, UBOR, VBOR, TBOR, AUBOR, ATBOR, BTBOR, NPTFR, TRAC, KENT, KENTU, KSORT, KADH, KLOG, IELMU, IELMV, IELMT, IKLBOR, NELEB, NELEBX)
Definition: complim.f:10
subroutine dragfo(FUDRAG, FVDRAG)
Definition: dragfo.f:7
subroutine flux_fv(W, LIMPRO, NUBO, VNOIN, FLUX, FLUSORT, FLUENT, FLBOR, ELTSEG, IFABOR, DT, FLUHBTEMP, FLUHTEMP, LEO, GPRDTIME, NEISEG)
Definition: flux_fv.f:8
subroutine fricti(FU_IMP, FV_IMP, FUDRAG, FVDRAG, UN, VN, HN, CF, MESH, T1, T2, VERTIC, UNSV2D, MSK, MASKEL, HFROT)
Definition: fricti.f:8
double precision function q(I)
Definition: q.f:7
subroutine rotne0(MESH, M1, A11, A12, A21, A22, SMU, SMV, UN, VN, H0, MSK, MASKEL, S, DT)
Definition: rotne0.f:7
subroutine user_condin
Definition: user_condin.f:4
subroutine aksain(VISCSA, NPOIN, NUMIN)
Definition: aksain.f:6
subroutine user_q(I, Q)
Definition: user_q.f:7
subroutine smoothing_flux(XMUL, SF, F, SURFAC, IKLE1, IKLE2, IKLE3, NELEM, NELMAX, W)
Definition: smoothing_flux.f:7
subroutine poro11(TETA, ZF, HN, IKLE, NELEM, NELMAX)
Definition: poro11.f:7
subroutine flusec_telemac2d(U, V, H, IKLE, NELMAX, NELEM, X, Y, DT, NCP, CTRLSC, INFO, TPS, MSKSEC, BM1, BM2, HPROP, MESH, S, CV1, IFABOR, COMFLU, CUMFLO)
subroutine mesures(ITER, TT)
Definition: mesures.f:7
subroutine nodalf_schureman(FWAVE, TEMPS, DEJA, MARDAT, MARTIM)
subroutine seg_neighbors(XX, YY, IKLE, NPOIN, NVMAX, NELEM, NELMAX, NSEG, NEISEG)
Definition: seg_neighbors.f:7
subroutine user_condin_h
Definition: user_condin_h.f:4
subroutine kepscl(KBOR, EBOR, CF, DISBOR, UN, VN, HN, LIMKEP, LIUBOR, NBOR, NPTFR, KARMAN, CMU, C2, ESTAR, SCHMIT, EMIN, KDIR, KENT, KENTU, KADH, KLOG, UETUTA)
Definition: kepscl.f:10
subroutine friction_scan(NCOF, NOMCOF, TYP, LINE)
Definition: friction_scan.f:7
subroutine calcul_q_weir
Definition: calcul_q_weir.f:4
subroutine volfin(W, DTN, FLUX, H, U, V, QU, QV, FLUSORT, FLUENT, SMH, MASSES, T, HTN, TN, MASSOU, FLUTENT, FLUTSOR, DJX, DJY, DX, DY, DSZ, FLBOR, LOGFR, FLUXT, FLUXT_OLD, FLUHTEMP, FLUHBTEMP, SMTR, DXT, DYT, DJXT, DJYT, T1, T2, T3, T4, T5, FLUX_OLD, MESH, MASS_RAIN, LEO, YASMO, DT, YASMH, CORR_I, CORR_J, CORR_ZL, CORR_ZR, CORR_HL, CORR_HR, CORR_UL, CORR_UR, CORR_VL, CORR_VR)
Definition: volfin.f:11
subroutine cosake(KARMAN, CMU, C1, C2, SIGMAK, SIGMAE, ESTAR, SCHMIT, KMIN, KMAX, EMIN, EMAX)
Definition: cosake.f:7
subroutine flot(XFLOT, YFLOT, NFLOT, NFLOT_MAX, X, Y, IKLE, NELEM, NELMAX, NPOIN, TAGFLO, CLSFLO, SHPFLO, ELTFLO, MESH, LT, NIT, AT)
Definition: flot.f:8
subroutine chpconv(UCONV, VCONV, U, V, UN, VN, TETAU)
Definition: chpconv.f:7
subroutine prebor(HBOR, UBOR, VBOR, TBOR, U, V, H, HN, T, NBOR, NPOIN, NPTFR, NTRAC, NFRLIQ, FRTYPE, NUMLIQ)
Definition: prebor.f:8
subroutine friction_vanvelzen(HA, CD, MD, HVEG, KARMAN, CP)
subroutine friction_calc(N_START, N_END, KFROT, NDEF, VK, GRAV, KARMAN, CHESTR, DW_MESH, HC, VRES, CF)
Definition: friction_calc.f:8
subroutine dragcoeff(V, D, VK, CW)
Definition: dragcoeff.f:7
subroutine newstr(SETSTR, SETSTR2, DESC, RO, RSTART, NPARAM)
Definition: newstr.f:7
Definition: bief.f:3
subroutine friction_jaervelae(VA, HA, CDX, LAI, UREF, VOGEL, HVEG, CP)
subroutine user_utimp_telemac2d(LTL, ATL, GRADEBL, GRAPRDL, LISDEBL, LISPRDL)