interface_telemac2d.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac2d\interface_telemac2d.f
00002 !
00009                      MODULE INTERFACE_TELEMAC2D
00010 !                    **************************
00011 !
00012 !
00013 !***********************************************************************
00014 ! TELEMAC2D 6.2
00015 !***********************************************************************
00016 !
00017 !
00018 !-----------------------------------------------------------------------
00019 !
00020 !     DEFINITION OF INTERFACES
00021 !
00022 !-----------------------------------------------------------------------
00023 !
00024       INTERFACE
00025         SUBROUTINE AKEPIN
00026      &(AK,EP,U,V,H,NPOIN,KFROT,CMU,C2,ESTAR,SCHMIT,KMIN,EMIN,CF)
00027       IMPLICIT NONE
00028       INTEGER, INTENT(IN) :: NPOIN,KFROT
00029       DOUBLE PRECISION, INTENT(INOUT) :: AK(NPOIN),EP(NPOIN)
00030       DOUBLE PRECISION, INTENT(IN) :: KMIN,EMIN,CMU,C2,ESTAR,SCHMIT
00031       DOUBLE PRECISION, INTENT(IN) :: U(NPOIN),V(NPOIN),H(NPOIN),CF(*)
00032         END SUBROUTINE
00033       END INTERFACE
00034 !
00035 !-----------------------------------------------------------------------
00036 !
00037       INTERFACE
00038         SUBROUTINE ASSIGNSTR(CHESTR,SETSTR,PZONE,NZONE,NPOIN)
00039       USE BIEF_DEF
00040       IMPLICIT NONE
00041       TYPE(BIEF_OBJ), INTENT(INOUT)   :: CHESTR
00042       TYPE(BIEF_OBJ), INTENT(IN)      :: SETSTR
00043       INTEGER, INTENT(IN)             :: PZONE(*)
00044       INTEGER, INTENT(IN)             :: NZONE
00045       INTEGER, INTENT(IN)             :: NPOIN
00046         END SUBROUTINE
00047       END INTERFACE
00048 !
00049 !-----------------------------------------------------------------------
00050 !
00051       INTERFACE
00052         SUBROUTINE ASTRO
00053      &(YEAR,MONTH,DAY,HOUR,MINU,SEC,AT,ARL,ARS,DL,DS,AL,AS)
00054       IMPLICIT NONE
00055       INTEGER, INTENT(IN)             :: YEAR,MONTH,DAY,HOUR,MINU,SEC
00056       DOUBLE PRECISION, INTENT(IN)    :: AT
00057       DOUBLE PRECISION, INTENT(INOUT) :: ARL,ARS,DL,DS,AL,AS
00058         END SUBROUTINE
00059       END INTERFACE
00060 !
00061 !-----------------------------------------------------------------------
00062 !
00063       INTERFACE
00064         SUBROUTINE BILANT1
00065      &(H,UCONV,VCONV,HPROP,WORK1,WORK2,WORK3,WORK4,WORK5,DT,LT,NIT,INFO,
00066      & MASKTR,T,TN,TETAT,MASSOU,MSK,MASKEL,MESH,FLUSOR,FLUENT,EQUA,LTT,
00067      & ITRAC)
00068       USE BIEF_DEF
00069       IMPLICIT NONE
00070       INTEGER, INTENT(IN)            :: LT,NIT,LTT,ITRAC
00071       DOUBLE PRECISION, INTENT(IN)   :: DT,TETAT,MASSOU,FLUSOR,FLUENT
00072       TYPE(BIEF_OBJ), INTENT(INOUT)  :: WORK1,WORK2,WORK3,WORK4,WORK5
00073       TYPE(BIEF_OBJ), INTENT(IN)     :: HPROP,UCONV,VCONV,H,T,TN,MASKEL
00074       TYPE(BIEF_OBJ), INTENT(IN)     :: MASKTR
00075       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH
00076       LOGICAL, INTENT(IN)            :: MSK,INFO
00077       CHARACTER(LEN=20), INTENT(IN)  :: EQUA
00078         END SUBROUTINE
00079       END INTERFACE
00080 !
00081 !-----------------------------------------------------------------------
00082 !
00083       INTERFACE
00084         SUBROUTINE BILAN(MESH,H,WORK,MASK,AT,DT,LT,NIT,INFO,MASSES,
00085      &  MSK,MASKEL,EQUA,POROS,OPTBAN,NPTFR,FLBOR,FLUX_BOUNDARIES,
00086      &  NUMLIQ,NFRLIQ,GAMMA)
00087         USE BIEF_DEF
00088         IMPLICIT NONE
00089         INTEGER, INTENT(IN)            :: LT,NIT,OPTBAN,NPTFR,NFRLIQ
00090         INTEGER, INTENT(IN)            :: NUMLIQ(*)
00091         CHARACTER(LEN=20), INTENT(IN)  :: EQUA
00092         LOGICAL, INTENT(IN)            :: INFO,MSK
00093         TYPE(BIEF_MESH), INTENT(INOUT) :: MESH
00094         TYPE(BIEF_OBJ), INTENT(INOUT)  :: WORK,FLBOR
00095         TYPE(BIEF_OBJ), INTENT(IN)     :: H,MASKEL,POROS,MASK
00096         DOUBLE PRECISION, INTENT(IN)   :: AT,DT,GAMMA
00097         DOUBLE PRECISION, INTENT(INOUT):: MASSES,FLUX_BOUNDARIES(*)
00098         END SUBROUTINE
00099       END INTERFACE
00100 !
00101 !-----------------------------------------------------------------------
00102 !
00103       INTERFACE
00104         SUBROUTINE BORD
00105      &(HBOR,UBOR,VBOR,TBOR,U,V,H,
00106      & ZF,NBOR,TRA05,TRA06,LIHBOR,LIUBOR,LITBOR,
00107      & XNEBOR,YNEBOR,NPOIN,NPTFR,NPTFR2,TEMPS,
00108      & NDEBIT,NCOTE,NVITES,
00109      & NTRAC,NTRACE,NFRLIQ,NUMLIQ,KENT,KENTU,PROVEL,MASK,MESH,EQUA,
00110      & NOMIMP)
00111       USE BIEF_DEF
00112       IMPLICIT NONE
00113       INTEGER, INTENT(IN) :: NPOIN,NPTFR,NDEBIT,NCOTE,NVITES,NTRACE
00114       INTEGER, INTENT(IN) :: KENT,KENTU,NFRLIQ,NTRAC,NPTFR2
00115       INTEGER, INTENT(IN) :: PROVEL(*)
00116       INTEGER, INTENT(IN) :: LIHBOR(NPTFR),LIUBOR(NPTFR2)
00117       INTEGER, INTENT(IN) :: NUMLIQ(NPTFR),NBOR(NPTFR2)
00118       DOUBLE PRECISION, INTENT(IN) :: TEMPS
00119       DOUBLE PRECISION, INTENT(IN) :: ZF(NPOIN)
00120       DOUBLE PRECISION, INTENT(IN) :: XNEBOR(NPTFR),YNEBOR(NPTFR)
00121       CHARACTER(LEN=20), INTENT(IN) :: EQUA
00122       CHARACTER(LEN=144), INTENT(IN) :: NOMIMP
00123       DOUBLE PRECISION, INTENT(INOUT) :: UBOR(NPTFR2,2),VBOR(NPTFR2,2)
00124       DOUBLE PRECISION, INTENT(INOUT) :: HBOR(NPTFR)
00125       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH
00126       TYPE(BIEF_OBJ), INTENT(INOUT)  :: H,U,V,TRA05,TRA06,TBOR
00127       TYPE(BIEF_OBJ), INTENT(IN)  :: MASK,LITBOR
00128         END SUBROUTINE
00129       END INTERFACE
00130 !
00131 !-----------------------------------------------------------------------
00132 !
00133       INTERFACE
00134         SUBROUTINE BORD_TIDAL_BC
00135      &(NBOR,LIHBOR,LIUBOR,NPTFR,
00136      & KENT,KENTU,MESH,GEOSYST,NUMZONE,LAMBD0,PHI0,TIDALTYPE,
00137      & BOUNDARY_COLOUR,MAXFRO,NFO2,NBI2,NRFO,XSHIFT,YSHIFT,BETA)
00138       USE BIEF_DEF
00139       IMPLICIT NONE
00140       INTEGER, INTENT(IN)            :: NPTFR,NFO2,NBI2,NRFO
00141       INTEGER, INTENT(IN)            :: KENT,KENTU,MAXFRO
00142       INTEGER, INTENT(IN)            :: GEOSYST,NUMZONE,TIDALTYPE
00143       INTEGER, INTENT(IN)            :: LIHBOR(NPTFR),LIUBOR(NPTFR)
00144       INTEGER, INTENT(IN)            :: NBOR(NPTFR)
00145       DOUBLE PRECISION, INTENT(IN)   :: XSHIFT,YSHIFT,LAMBD0,PHI0
00146       DOUBLE PRECISION, INTENT(INOUT):: BETA
00147       TYPE(BIEF_OBJ), INTENT(IN)     :: BOUNDARY_COLOUR
00148       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH
00149         END SUBROUTINE
00150       END INTERFACE
00151 !
00152 !-----------------------------------------------------------------------
00153 !
00154       INTERFACE
00155         SUBROUTINE BORD_TIDE
00156      &(ZF,NBOR,LIHBOR,LIUBOR,NPOIN,NPTFR,TEMPS,DT,NCOTE,NVITES,
00157      & NUMLIQ,KENT,KENTU,NOMIMP,TIDALTYPE,CTIDE,MSL,CTIDEV,NODALCORR,
00158      & NFOT,BOUNDARY_COLOUR,HBTIDE,UBTIDE,VBTIDE,NUMTIDE,ICALHW,
00159      & MARDAT,MARTIM,TM2S2N2EQUAL)
00160       USE BIEF_DEF
00161       IMPLICIT NONE
00162       INTEGER, INTENT(IN)             :: NPOIN,NPTFR,NCOTE,NVITES,NFOT
00163       INTEGER, INTENT(IN)             :: KENT,KENTU,NODALCORR
00164       INTEGER, INTENT(IN)             :: LIHBOR(NPTFR),LIUBOR(NPTFR)
00165       INTEGER, INTENT(IN)             :: NUMLIQ(NPTFR),NBOR(NPTFR)
00166       INTEGER, INTENT(IN)             :: TIDALTYPE,MARDAT(3),MARTIM(3)
00167       INTEGER, INTENT(INOUT)          :: ICALHW
00168       DOUBLE PRECISION, INTENT(IN)    :: TEMPS,CTIDE,MSL,CTIDEV,DT
00169       DOUBLE PRECISION, INTENT(IN)    :: ZF(NPOIN)
00170       LOGICAL, INTENT(IN)             :: TM2S2N2EQUAL
00171       TYPE(BIEF_OBJ), INTENT(IN)      :: BOUNDARY_COLOUR
00172       TYPE(BIEF_OBJ), INTENT(INOUT)   :: NUMTIDE,UBTIDE,VBTIDE,HBTIDE
00173       CHARACTER(LEN=144), INTENT(IN)  :: NOMIMP
00174         END SUBROUTINE
00175       END INTERFACE
00176 !
00177 !-----------------------------------------------------------------------
00178 !
00179       INTERFACE
00180         SUBROUTINE BORD_TIDE_MISC
00181      &(ZF,NBOR,LIHBOR,LIUBOR,NPOIN,NPTFR,TEMPS,DT,NCOTE,NVITES,
00182      & NUMLIQ,KENT,KENTU,NOMIMP,TIDALTYPE,CTIDE,MSL,
00183      & CTIDEV,NODALCORR,NFOT,
00184      & BOUNDARY_COLOUR,HBTIDE,UBTIDE,VBTIDE,NUMTIDE,ICALHW,
00185      & MARDAT,MARTIM)
00186       USE BIEF_DEF
00187       IMPLICIT NONE
00188       INTEGER, INTENT(IN)             :: NPOIN,NPTFR,NCOTE,NVITES,NFOT
00189       INTEGER, INTENT(IN)             :: KENT,KENTU,NODALCORR
00190       INTEGER, INTENT(IN)             :: LIHBOR(NPTFR),LIUBOR(NPTFR)
00191       INTEGER, INTENT(IN)             :: NUMLIQ(NPTFR),NBOR(NPTFR)
00192       INTEGER, INTENT(IN)             :: TIDALTYPE,MARDAT(3),MARTIM(3)
00193       INTEGER, INTENT(INOUT)          :: ICALHW
00194       DOUBLE PRECISION, INTENT(IN)    :: TEMPS,CTIDE,MSL,CTIDEV,DT
00195       DOUBLE PRECISION, INTENT(IN)    :: ZF(NPOIN)
00196       TYPE(BIEF_OBJ), INTENT(IN)      :: BOUNDARY_COLOUR
00197       TYPE(BIEF_OBJ), INTENT(INOUT)   :: NUMTIDE,UBTIDE,VBTIDE,HBTIDE
00198       CHARACTER(LEN=144), INTENT(IN)  :: NOMIMP
00199         END SUBROUTINE
00200       END INTERFACE
00201 !
00202 !-----------------------------------------------------------------------
00203 !
00204       INTERFACE
00205         SUBROUTINE BREACH
00206       IMPLICIT NONE
00207         END SUBROUTINE
00208       END INTERFACE
00209 !
00210 !-----------------------------------------------------------------------
00211 !
00212       INTERFACE
00213         SUBROUTINE BUSE
00214      &(RELAXB,NBUSE,ENTBUS,SORBUS,GRAV,
00215      & H,ZF,DBUS,LRGBUS,HAUBUS,CLPBUS,
00216      & ALTBUS,CSBUS,CEBUS,ANGBUS,LBUS,
00217      & NTRAC,T,TBUS,UBUS,VBUS,U,V,ENTET)
00218       USE BIEF_DEF
00219       IMPLICIT NONE
00220       INTEGER          , INTENT(IN)    :: NBUSE,NTRAC
00221       INTEGER          , INTENT(IN)    :: ENTBUS(NBUSE),SORBUS(NBUSE)
00222       LOGICAL          , INTENT(IN)    :: ENTET
00223       DOUBLE PRECISION , INTENT(IN)    :: RELAXB,GRAV
00224       DOUBLE PRECISION , INTENT(INOUT) :: UBUS(NBUSE,2),VBUS(NBUSE,2)
00225       DOUBLE PRECISION , INTENT(INOUT) :: DBUS(NBUSE)
00226       TYPE(BIEF_OBJ)   , INTENT(INOUT) :: TBUS
00227       DOUBLE PRECISION , INTENT(IN)    :: ANGBUS(NBUSE,2),LBUS(NBUSE)
00228       DOUBLE PRECISION , INTENT(IN)    :: CEBUS(NBUSE,2),CSBUS(NBUSE,2)
00229       DOUBLE PRECISION , INTENT(IN)    :: ALTBUS(NBUSE,2)
00230       DOUBLE PRECISION , INTENT(IN)    :: LRGBUS(NBUSE),HAUBUS(NBUSE)
00231       INTEGER          , INTENT(IN)    :: CLPBUS(NBUSE)
00232       DOUBLE PRECISION , INTENT(IN)    :: H(*),ZF(*),U(*),V(*)
00233       TYPE(BIEF_OBJ)   , INTENT(IN)    :: T
00234         END SUBROUTINE
00235       END INTERFACE
00236 !
00237 !-----------------------------------------------------------------------
00238 !
00239       INTERFACE
00240         SUBROUTINE CALCUL_Q_WEIR
00241      &    (NWEIRS,X,Y,ZF,HN,CHESTR,NKFROT,KARMAN,IOPTAN,NTRAC,T)
00242       USE BIEF_DEF
00243       IMPLICIT NONE
00244       INTEGER, INTENT (IN)          :: NWEIRS,IOPTAN,NTRAC
00245       INTEGER, INTENT(IN)           :: NKFROT(*)
00246       DOUBLE PRECISION, INTENT(IN)  :: X(*),Y(*),ZF(*),HN(*),CHESTR(*)
00247       DOUBLE PRECISION, INTENT(IN)  :: KARMAN
00248       TYPE(BIEF_OBJ)  , INTENT(IN)  :: T
00249         END SUBROUTINE
00250       END INTERFACE
00251 !
00252 !-----------------------------------------------------------------------
00253 !
00254       INTERFACE
00255         SUBROUTINE CALCUL_TANG_W2
00256      &(IP,NKFROT,CHESTR,H,PENTE,KARMAN,UTAN)
00257       IMPLICIT NONE
00258       INTEGER, INTENT(IN)           :: IP
00259       INTEGER, INTENT(IN)           :: NKFROT(*)
00260       DOUBLE PRECISION, INTENT(IN)  :: H,PENTE,KARMAN
00261       DOUBLE PRECISION, INTENT(IN)  :: CHESTR(*)
00262       DOUBLE PRECISION, INTENT(OUT) :: UTAN
00263         END SUBROUTINE
00264       END INTERFACE
00265 !
00266 !-----------------------------------------------------------------------
00267 !
00268       INTERFACE
00269         SUBROUTINE CALCS_O2
00270      & (NPOIN,WATTEMP,O2SATU,DEMBEN,FORMK2,K1,K44,K22,
00271      &  PHOTO,RESP,TN,TEXP,NTRAC)
00272       USE BIEF_DEF
00273       IMPLICIT NONE
00274       INTEGER          , INTENT(IN   ) :: FORMK2,NPOIN,NTRAC
00275       DOUBLE PRECISION , INTENT(IN   ) :: DEMBEN,WATTEMP
00276       DOUBLE PRECISION , INTENT(IN   ) :: PHOTO,RESP,K1,K44
00277       DOUBLE PRECISION , INTENT(INOUT) :: O2SATU,K22
00278       TYPE(BIEF_OBJ)   , INTENT(IN   ) :: TN
00279       TYPE(BIEF_OBJ)   , INTENT(INOUT) :: TEXP
00280         END SUBROUTINE
00281       END INTERFACE
00282 !
00283 !-----------------------------------------------------------------------
00284 !
00285       INTERFACE
00286         SUBROUTINE CALCS_THERMIC
00287      & (NPOIN,TN,TEXP)
00288       USE BIEF_DEF
00289       IMPLICIT NONE
00290       INTEGER, INTENT(IN)             :: NPOIN
00291       TYPE(BIEF_OBJ), INTENT(INOUT)   :: TN,TEXP
00292         END SUBROUTINE
00293       END INTERFACE
00294 !
00295 !-----------------------------------------------------------------------
00296 !
00297       INTERFACE
00298 
00299         SUBROUTINE CALDT
00300      &(NS,G,H,U,V,DTHAUT,DT,AT,TMAX,
00301      & CFL,ICIN,DTVARI,LISTIN)
00302       IMPLICIT NONE
00303       INTEGER, INTENT(IN)             :: NS,ICIN
00304       DOUBLE PRECISION, INTENT(INOUT) :: DT
00305       DOUBLE PRECISION, INTENT(IN)    :: H(NS),U(NS),V(NS),DTHAUT(NS)
00306       DOUBLE PRECISION, INTENT(IN)    :: G,CFL,AT,TMAX
00307       LOGICAL, INTENT(IN) :: DTVARI,LISTIN
00308         END SUBROUTINE
00309       END INTERFACE
00310 !
00311 !-----------------------------------------------------------------------
00312 !
00313       INTERFACE
00314         SUBROUTINE CDLPROJ(NS,NPTFR,NBOR,LIMPRO,XNEBOR,YNEBOR,KNEU,UA)
00315       IMPLICIT NONE
00316       INTEGER, INTENT(IN) :: NS,NPTFR,KNEU
00317       INTEGER, INTENT(IN) :: NBOR(NPTFR),LIMPRO(NPTFR,6)
00318       DOUBLE PRECISION, INTENT(IN) :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
00319       DOUBLE PRECISION, INTENT(INOUT) :: UA(3,NS)
00320         END SUBROUTINE
00321       END INTERFACE
00322 !
00323 !-----------------------------------------------------------------------
00324 !
00325       INTERFACE
00326         SUBROUTINE CDL
00327      &(NS,NPTFR,NBOR,LIMPRO,XNEBOR,YNEBOR,KDIR,KNEU,G,HBOR,
00328      & UBOR,VBOR,UA,CE,FLUENT,FLUSORT,FLBOR,
00329      & DTHAUT,DT,CFL,FLUHBTEMP,NTRAC)
00330       USE BIEF_DEF
00331       IMPLICIT NONE
00332       INTEGER, INTENT(IN)             :: NS,NPTFR,KDIR,KNEU,NTRAC
00333       INTEGER, INTENT(IN)             :: NBOR(NPTFR),LIMPRO(NPTFR,6)
00334       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
00335       DOUBLE PRECISION, INTENT(IN)    :: HBOR(NPTFR),UA(3,NS),DTHAUT(*)
00336       DOUBLE PRECISION, INTENT(IN)    :: UBOR(NPTFR),VBOR(NPTFR)
00337       DOUBLE PRECISION, INTENT(IN)    :: G,CFL
00338       DOUBLE PRECISION, INTENT(INOUT) :: DT
00339       DOUBLE PRECISION, INTENT(INOUT) :: CE(3,NS),FLUENT,FLUSORT
00340       TYPE(BIEF_OBJ), INTENT(INOUT)   :: FLUHBTEMP,FLBOR
00341         END SUBROUTINE
00342       END INTERFACE
00343 !
00344 !-----------------------------------------------------------------------
00345 !
00346       INTERFACE
00347         SUBROUTINE CDL_HLLC
00348      &(NS,NPTFR,NBOR,LIMPRO,XNEBOR,YNEBOR,
00349      & W,CE,FLUENT,FLUSORT,FLBOR,EPS,WINF,
00350      & G,HBOR,UBOR,VBOR)
00351       USE BIEF_DEF
00352       IMPLICIT NONE
00353       INTEGER, INTENT(IN)             :: NS,NPTFR
00354       INTEGER, INTENT(IN)             :: NBOR(NPTFR),LIMPRO(NPTFR,6)
00355       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
00356       DOUBLE PRECISION, INTENT(IN)    :: UBOR(NPTFR),VBOR(NPTFR)
00357       DOUBLE PRECISION, INTENT(IN)    :: HBOR(NPTFR)
00358       DOUBLE PRECISION, INTENT(IN)    :: W(3,NS),EPS,G
00359       DOUBLE PRECISION, INTENT(INOUT) :: WINF(3,NPTFR)
00360       DOUBLE PRECISION, INTENT(INOUT) :: CE(NS,3),FLUENT,FLUSORT
00361       TYPE(BIEF_OBJ) , INTENT(INOUT)  :: FLBOR
00362         END SUBROUTINE
00363       END INTERFACE
00364 !
00365 !-----------------------------------------------------------------------
00366 !
00367       INTERFACE
00368         SUBROUTINE CDL_TCH
00369      &(NS,NPTFR,NBOR,LIMPRO,XNEBOR,YNEBOR,KDIR,KNEU,KDDL,G,
00370      & W,CE,FLUENT,FLUSORT,FLBOR,EPS,ZF,WINF)
00371       USE BIEF_DEF
00372       IMPLICIT NONE
00373       INTEGER, INTENT(IN)             :: NS,NPTFR,KDIR,KNEU,KDDL
00374       INTEGER, INTENT(IN)             :: NBOR(NPTFR),LIMPRO(NPTFR,6)
00375       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
00376       DOUBLE PRECISION, INTENT(IN)    :: W(3,NS)
00377       DOUBLE PRECISION, INTENT(IN)    :: G,EPS,ZF(NS)
00378       DOUBLE PRECISION, INTENT(IN)    :: WINF(3,NPTFR)
00379       DOUBLE PRECISION, INTENT(INOUT) :: CE(3,NS),FLUENT,FLUSORT
00380       TYPE(BIEF_OBJ) , INTENT(INOUT)  :: FLBOR
00381         END SUBROUTINE
00382       END INTERFACE
00383 !
00384 !-----------------------------------------------------------------------
00385 !
00386       INTERFACE
00387         SUBROUTINE CDL_WAF
00388      &(NS,NPTFR,NBOR,LIMPRO,XNEBOR,YNEBOR,KDIR,KNEU,KDDL,
00389      & W,CE,FLUENT,FLUSORT,FLBOR,DTHAUT,DT,EPS,WINF)
00390       USE BIEF_DEF
00391       IMPLICIT NONE
00392       INTEGER, INTENT(IN)             :: NS,NPTFR,KDIR,KNEU,KDDL
00393       INTEGER, INTENT(IN)             :: NBOR(NPTFR),LIMPRO(NPTFR,6)
00394       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
00395       DOUBLE PRECISION, INTENT(IN)    :: W(3,NS),DTHAUT(NS),EPS
00396       DOUBLE PRECISION, INTENT(INOUT) :: DT,WINF(3,NPTFR)
00397       DOUBLE PRECISION, INTENT(INOUT) :: CE(NS,3),FLUENT,FLUSORT
00398       TYPE(BIEF_OBJ) , INTENT(INOUT)  :: FLBOR
00399         END SUBROUTINE
00400       END INTERFACE
00401 !
00402 !-----------------------------------------------------------------------
00403 !
00404       INTERFACE
00405         SUBROUTINE CDLZZ
00406      &(NS,NPTFR,NBOR,LIMPRO,XNEBOR,YNEBOR,KDIR,KNEU,KDDL,G,
00407      & W,CE,FLUENT,FLUSORT,FLBOR,ZF,WINF)
00408       USE BIEF_DEF
00409       IMPLICIT NONE
00410       INTEGER, INTENT(IN)             :: NS,NPTFR,KDIR,KNEU,KDDL
00411       INTEGER, INTENT(IN)             :: NBOR(NPTFR),LIMPRO(NPTFR,6)
00412       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
00413       DOUBLE PRECISION, INTENT(IN)    :: W(3,NS)
00414       DOUBLE PRECISION, INTENT(IN)    :: G,ZF(NS)
00415       DOUBLE PRECISION, INTENT(IN)    :: WINF(3,NPTFR)
00416       DOUBLE PRECISION, INTENT(INOUT) :: CE(3,NS),FLUENT,FLUSORT
00417       TYPE(BIEF_OBJ) , INTENT(INOUT)  :: FLBOR
00418         END SUBROUTINE
00419       END INTERFACE
00420 !
00421 !-----------------------------------------------------------------------
00422 !
00423       INTERFACE
00424         SUBROUTINE CHPCON(UCONV,VCONV,U,V,UN,VN,TETAU)
00425       USE BIEF_DEF
00426       IMPLICIT NONE
00427       DOUBLE PRECISION, INTENT(IN)  :: TETAU
00428       TYPE(BIEF_OBJ), INTENT(IN)    :: U,UN,V,VN
00429       TYPE(BIEF_OBJ), INTENT(INOUT) :: UCONV,VCONV
00430         END SUBROUTINE
00431       END INTERFACE
00432 !
00433 !-----------------------------------------------------------------------
00434 !
00435       INTERFACE
00436         SUBROUTINE CLHUVT
00437      &(NWEIRS,NPSING,NDGA1,NDGB1,ZDIG,
00438      & X,Y,ZF,IOPTAN,UNORM,CHESTR,
00439      & NKFROT,KARMAN,T,NTRAC,H,UBOR,VBOR,TBOR,NBOR,
00440      & LIHBOR,LIUBOR,LIVBOR,LITBOR)
00441       USE BIEF_DEF
00442       IMPLICIT NONE
00443       INTEGER, INTENT(IN)             :: NWEIRS,IOPTAN
00444       INTEGER, INTENT(IN)             :: NBOR(*),NKFROT(*)
00445       INTEGER, INTENT(INOUT)          :: LIUBOR(*),LIHBOR(*),LIVBOR(*)
00446       INTEGER, INTENT(IN)             :: NTRAC
00447       DOUBLE PRECISION, INTENT(IN)    :: X(*),Y(*),ZF(*),CHESTR(*),H(*)
00448       DOUBLE PRECISION, INTENT(IN)    :: UNORM(*)
00449       DOUBLE PRECISION, INTENT(INOUT) :: UBOR(*),VBOR(*)
00450       DOUBLE PRECISION, INTENT(IN)    :: KARMAN
00451       TYPE(BIEF_OBJ)  , INTENT(IN)    :: NPSING,NDGA1,NDGB1
00452       TYPE(BIEF_OBJ)  , INTENT(IN)    :: ZDIG
00453       TYPE(BIEF_OBJ), INTENT(INOUT)   :: LITBOR,TBOR
00454       TYPE(BIEF_OBJ), INTENT(IN)      :: T
00455         END SUBROUTINE
00456       END INTERFACE
00457 !
00458 !-----------------------------------------------------------------------
00459 !
00460       INTERFACE
00461         SUBROUTINE CLSING
00462      &(NWEIRS,NPSING,NDGA1,NDGB1,X,Y,ZF,CHESTR,NKFROT,KARMAN,
00463      & ZDIG,PHIDIG,NBOR,H,T,NTRAC,IOPTAN,UNORM,
00464      & UBOR,VBOR,TBOR,LIHBOR,LIUBOR,LIVBOR,LITBOR,GRAV)
00465       USE BIEF_DEF
00466       IMPLICIT NONE
00467       INTEGER, INTENT(IN)             :: NWEIRS,IOPTAN
00468       INTEGER, INTENT(IN)             :: NKFROT(*),NBOR(*)
00469       INTEGER, INTENT(INOUT)          :: LIUBOR(*),LIVBOR(*),LIHBOR(*)
00470       INTEGER, INTENT(IN)             :: NTRAC
00471       DOUBLE PRECISION, INTENT(IN)    :: H(*)
00472       DOUBLE PRECISION, INTENT(IN)    :: X(*),Y(*),ZF(*),CHESTR(*)
00473       DOUBLE PRECISION, INTENT(IN)    :: KARMAN,GRAV
00474       DOUBLE PRECISION, INTENT(INOUT) :: UBOR(*),VBOR(*)
00475       DOUBLE PRECISION, INTENT(INOUT) :: UNORM(*)
00476       TYPE(BIEF_OBJ)  , INTENT(IN)    :: NPSING,NDGA1,NDGB1
00477       TYPE(BIEF_OBJ)  , INTENT(IN)    :: PHIDIG,ZDIG
00478       TYPE(BIEF_OBJ)  , INTENT(INOUT) :: TBOR,LITBOR
00479       TYPE(BIEF_OBJ)  , INTENT(IN)    :: T
00480         END SUBROUTINE
00481       END INTERFACE
00482 !
00483 !-----------------------------------------------------------------------
00484 !
00485       INTERFACE
00486         SUBROUTINE CLTRAC
00487      &(NWEIRS,NPSING,NDGA1,NDGB1,ZF,ZDIG,H,T,NBOR,LITBOR,TBOR,NTRAC)
00488       USE BIEF_DEF
00489       IMPLICIT NONE
00490       INTEGER, INTENT(IN)           :: NWEIRS,NTRAC
00491       INTEGER, INTENT(IN)           :: NBOR(*)
00492       DOUBLE PRECISION, INTENT(IN)  :: ZF(*),H(*)
00493       TYPE(BIEF_OBJ)  , INTENT(IN)  :: NPSING,NDGA1,NDGB1
00494       TYPE(BIEF_OBJ)  , INTENT(IN)  :: ZDIG
00495       TYPE(BIEF_OBJ), INTENT(INOUT) :: LITBOR,TBOR
00496       TYPE(BIEF_OBJ), INTENT(IN)    :: T
00497         END SUBROUTINE
00498       END INTERFACE
00499 !
00500 !-----------------------------------------------------------------------
00501 !
00502       INTERFACE
00503         SUBROUTINE COEFMAT(PERIAF,DT,M,AM,NPERIAF)
00504       IMPLICIT NONE
00505       INTEGER,          INTENT(IN   ) :: NPERIAF,M
00506       DOUBLE PRECISION, INTENT(IN   ) :: DT,PERIAF(NPERIAF)
00507       DOUBLE PRECISION, INTENT(INOUT) :: AM(2*NPERIAF,2*NPERIAF)
00508         END SUBROUTINE
00509       END INTERFACE
00510 !
00511 !-----------------------------------------------------------------------
00512 !
00513       INTERFACE
00514         SUBROUTINE COEFRO(CF,H,U,V,KARMAN,KFROT,CHESTR,GRAV,MESH,T1)
00515       USE BIEF_DEF
00516       IMPLICIT NONE
00517       INTEGER, INTENT(IN)            :: KFROT
00518       DOUBLE PRECISION, INTENT(IN)   :: GRAV,KARMAN
00519       TYPE(BIEF_OBJ), INTENT(INOUT)  :: CF,T1
00520       TYPE(BIEF_OBJ), INTENT(IN)     :: CHESTR,H,U,V
00521       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH
00522         END SUBROUTINE
00523       END INTERFACE
00524 !
00525 !-----------------------------------------------------------------------
00526 !
00527       INTERFACE
00528         SUBROUTINE COLLECT_VALUES
00529      &(X,Y,ZF,HN,NTRAC,T,IP,XP,YP,ZFP,HP,SLP,TRP)
00530       USE BIEF_DEF
00531       IMPLICIT NONE
00532       INTEGER, INTENT(IN)           :: NTRAC, IP
00533       DOUBLE PRECISION, INTENT(IN)  :: X(*),Y(*),ZF(*),HN(*)
00534       TYPE(BIEF_OBJ)  , INTENT(IN)  :: T
00535       DOUBLE PRECISION, INTENT(OUT) :: XP,YP,ZFP,HP,SLP
00536       DOUBLE PRECISION, INTENT(OUT) :: TRP(NTRAC)
00537         END SUBROUTINE
00538       END INTERFACE
00539 !
00540 !-----------------------------------------------------------------------
00541 !
00542       INTERFACE
00543         SUBROUTINE COMPLIM
00544      &(LIUBOR,LIVBOR,LITBOR,UBOR,VBOR,TBOR,
00545      & AUBOR,ATBOR,BTBOR,NBOR,NPTFR,NPOIN,TRAC,
00546      & KENT,KENTU,KSORT,KADH,KLOG,IELMU,IELMV,IELMT,MESH,
00547      & IKLBOR,NELEB,NELEBX)
00548       USE BIEF_DEF
00549       IMPLICIT NONE
00550       INTEGER, INTENT(IN) :: NPTFR,NPOIN,KENT,KSORT,KADH,KLOG,KENTU
00551       INTEGER, INTENT(IN) :: IELMU,IELMV,IELMT,NELEB,NELEBX
00552       LOGICAL, INTENT(IN) :: TRAC
00553       INTEGER, INTENT(INOUT) :: LIUBOR(*),LIVBOR(*)
00554       INTEGER, INTENT(INOUT) :: LITBOR(*)
00555       INTEGER, INTENT(IN)    :: IKLBOR(NELEBX,3)
00556       INTEGER, INTENT(INOUT) :: NBOR(2*NPTFR)
00557       DOUBLE PRECISION, INTENT(INOUT) :: UBOR(2*NPTFR,2),VBOR(2*NPTFR,2)
00558       DOUBLE PRECISION, INTENT(INOUT) :: AUBOR(*)
00559       DOUBLE PRECISION, INTENT(INOUT) :: TBOR(*),ATBOR(*)
00560       DOUBLE PRECISION, INTENT(INOUT) :: BTBOR(*)
00561       TYPE(BIEF_MESH),INTENT(INOUT)   :: MESH
00562         END SUBROUTINE
00563       END INTERFACE
00564 !
00565 !-----------------------------------------------------------------------
00566 !
00567       INTERFACE
00568         SUBROUTINE CONDIN_ADJ(ALIRE,NRES,TROUVE)
00569       IMPLICIT NONE
00570       INTEGER, INTENT(IN)    :: ALIRE(*),NRES
00571       INTEGER, INTENT(INOUT) :: TROUVE(*)
00572         END SUBROUTINE
00573       END INTERFACE
00574 !
00575 !-----------------------------------------------------------------------
00576 !
00577       INTERFACE
00578         SUBROUTINE CONV_MERCATOR_TO_DEGDEC
00579      &(NTAB,XTAB,YTAB,LAMBDATAB,PHITAB,GEOSYST,NUMZONE,LONG0,LAT0)
00580       IMPLICIT NONE
00581       INTEGER, INTENT(IN)           :: NTAB,GEOSYST,NUMZONE
00582       DOUBLE PRECISION, INTENT(IN)  :: LAT0,LONG0
00583       DOUBLE PRECISION, INTENT(IN)  :: XTAB(NTAB),YTAB(NTAB)
00584       DOUBLE PRECISION, INTENT(OUT) :: LAMBDATAB(NTAB),PHITAB(NTAB)
00585         END SUBROUTINE
00586       END INTERFACE
00587 !
00588 !-----------------------------------------------------------------------
00589 !
00590       INTERFACE
00591         SUBROUTINE CONV_LAMBERT_TO_DEGDEC
00592      &(NTAB,XTAB,YTAB,LAMBDATAB,PHITAB,NUMZONE)
00593       IMPLICIT NONE
00594       INTEGER, INTENT(IN) :: NTAB,NUMZONE
00595       DOUBLE PRECISION, INTENT(IN)  :: XTAB(NTAB),YTAB(NTAB)
00596       DOUBLE PRECISION, INTENT(OUT) :: LAMBDATAB(NTAB),PHITAB(NTAB)
00597         END SUBROUTINE
00598       END INTERFACE
00599 !
00600 !-----------------------------------------------------------------------
00601 !
00602       INTERFACE
00603         SUBROUTINE CORNOR
00604      &(XNEBOR,YNEBOR,XSGBOR,YSGBOR,NPTFR,KLOG,
00605      & LIHBOR,T1,T2,MESH,IKLBOR,NELEB,NELEBX)
00606       USE BIEF_DEF
00607       IMPLICIT NONE
00608       INTEGER, INTENT(IN)             :: NPTFR,KLOG,NELEB,NELEBX
00609       INTEGER, INTENT(IN)             :: LIHBOR(NPTFR)
00610       INTEGER, INTENT(IN)             :: IKLBOR(NELEBX,2)
00611       DOUBLE PRECISION, INTENT(IN)    :: XSGBOR(NELEBX,4)
00612       DOUBLE PRECISION, INTENT(IN)    :: YSGBOR(NELEBX,4)
00613       DOUBLE PRECISION, INTENT(INOUT) :: XNEBOR(NPTFR,2),YNEBOR(NPTFR,2)
00614       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T1,T2
00615       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH
00616         END SUBROUTINE
00617       END INTERFACE
00618 !
00619 !-----------------------------------------------------------------------
00620 !
00621       INTERFACE
00622         SUBROUTINE CORPOR(POROS)
00623       USE BIEF_DEF
00624       IMPLICIT NONE
00625       TYPE(BIEF_OBJ), INTENT(INOUT) :: POROS
00626         END SUBROUTINE
00627       END INTERFACE
00628 !
00629 !-----------------------------------------------------------------------
00630 !
00631       INTERFACE
00632         SUBROUTINE CORRECTION_DEPTH_2D(GLOSEG,DIMGLO,YAFLODEL,YASMH,
00633      &                                 YAFLULIM)
00634       IMPLICIT NONE
00635       INTEGER, INTENT(IN)    :: DIMGLO
00636       INTEGER, INTENT(IN)    :: GLOSEG(DIMGLO,2)
00637       LOGICAL, INTENT(IN)    :: YASMH
00638       LOGICAL, INTENT(INOUT) :: YAFLULIM,YAFLODEL
00639         END SUBROUTINE
00640       END INTERFACE
00641 !
00642 !-----------------------------------------------------------------------
00643 !
00644       INTERFACE
00645         SUBROUTINE COSAKE
00646      &(KARMAN,CMU,C1,C2,SIGMAK,SIGMAE,ESTAR,SCHMIT,KMIN,KMAX,EMIN,EMAX)
00647       IMPLICIT NONE
00648       DOUBLE PRECISION, INTENT(OUT) :: KMIN,KMAX,EMIN,EMAX
00649       DOUBLE PRECISION, INTENT(OUT) :: KARMAN,CMU,C1,C2
00650       DOUBLE PRECISION, INTENT(OUT) :: SIGMAK,SIGMAE,ESTAR,SCHMIT
00651         END SUBROUTINE
00652       END INTERFACE
00653 !
00654 !-----------------------------------------------------------------------
00655 !
00656       INTERFACE
00657         SUBROUTINE COST_FUNCTION(JCOUT,OPTION,MODE)
00658       IMPLICIT NONE
00659       DOUBLE PRECISION , INTENT(INOUT) :: JCOUT
00660       INTEGER , INTENT(IN)             :: OPTION
00661       CHARACTER(LEN=3) , INTENT(IN)    :: MODE
00662         END SUBROUTINE
00663       END INTERFACE
00664 !
00665 !-----------------------------------------------------------------------
00666 !
00667       INTERFACE
00668         SUBROUTINE CUBEEQUATION(ACOF, BCOF, CCOF, DCOF, REALS, X)
00669       IMPLICIT NONE
00670       DOUBLE PRECISION, INTENT(IN)  :: ACOF, BCOF, CCOF, DCOF
00671       INTEGER,          INTENT(OUT) :: REALS
00672       DOUBLE PRECISION, INTENT(OUT) :: X(3)
00673         END SUBROUTINE
00674       END INTERFACE
00675 !
00676 !-----------------------------------------------------------------------
00677 !
00678       INTERFACE
00679         SUBROUTINE DEBIMP
00680      &(Q,UBOR,VBOR,U,V,H,NUMLIQ,IFRLIQ,WORK1,WORK2,NPTFR,MASK,MESH,
00681      & KP1BOR,EQUA)
00682       USE BIEF_DEF
00683       IMPLICIT NONE
00684       INTEGER, INTENT(IN)             :: NPTFR,IFRLIQ
00685       INTEGER, INTENT(IN)             :: NUMLIQ(NPTFR),KP1BOR(NPTFR,2)
00686       CHARACTER(LEN=20), INTENT(IN)   :: EQUA
00687       DOUBLE PRECISION, INTENT(INOUT) :: UBOR(NPTFR),VBOR(NPTFR)
00688       DOUBLE PRECISION, INTENT(IN)    :: MASK(*),Q
00689       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH
00690       TYPE(BIEF_OBJ), INTENT(IN)      :: H
00691       TYPE(BIEF_OBJ), INTENT(INOUT)   :: WORK1,WORK2,U,V
00692         END SUBROUTINE
00693       END INTERFACE
00694 !
00695 !-----------------------------------------------------------------------
00696 !
00697       INTERFACE
00698         DOUBLE PRECISION FUNCTION DEBSCE( TIME , I , DISCE )
00699       IMPLICIT NONE
00700       DOUBLE PRECISION, INTENT(IN) :: TIME,DISCE(*)
00701       INTEGER         , INTENT(IN) :: I
00702         END FUNCTION
00703       END INTERFACE
00704 !
00705 !-----------------------------------------------------------------------
00706 !
00707       INTERFACE
00708         SUBROUTINE DIFSOU
00709      &(TEXP,TIMP,YASMI,TSCEXP,HPROP,TN,TETAT,NREJTR,ISCE,DSCE,TSCE,
00710      & MAXSCE,MAXTRA,AT,DT,MASSOU,NTRAC,FAC,NSIPH,ENTSIP,SORSIP,
00711      & DSIP,TSIP,NBUSE,ENTBUS,SORBUS,DBUS,TBUS,NWEIRS,TYPSEUIL,
00712      & NPSING,NDGA1,NDGB1,TWEIRA,TWEIRB)
00713       USE BIEF_DEF
00714       IMPLICIT NONE
00715       INTEGER          , INTENT(IN)    :: ISCE(*),NREJTR,NTRAC
00716       INTEGER          , INTENT(IN)    :: NSIPH,NBUSE,NWEIRS
00717       INTEGER          , INTENT(IN)    :: ENTSIP(NSIPH),SORSIP(NSIPH)
00718       INTEGER          , INTENT(IN)    :: ENTBUS(NBUSE),SORBUS(NBUSE)
00719       INTEGER          , INTENT(IN)    :: MAXSCE,MAXTRA,TYPSEUIL
00720       LOGICAL          , INTENT(INOUT) :: YASMI(*)
00721       DOUBLE PRECISION , INTENT(IN)    :: AT,DT,TETAT,DSCE(*)
00722       DOUBLE PRECISION , INTENT(IN)    :: DSIP(NSIPH),DBUS(NBUSE)
00723       DOUBLE PRECISION , INTENT(IN)    :: TSCE(MAXSCE,MAXTRA),FAC(*)
00724       DOUBLE PRECISION , INTENT(INOUT) :: MASSOU(*)
00725       TYPE(BIEF_OBJ)   , INTENT(IN)    :: TN,HPROP,TSIP,TBUS
00726       TYPE(BIEF_OBJ)   , INTENT(IN)    :: NPSING,NDGA1,NDGB1
00727       TYPE(BIEF_OBJ)   , INTENT(IN)    :: TWEIRA,TWEIRB
00728       TYPE(BIEF_OBJ)   , INTENT(INOUT) :: TSCEXP,TEXP,TIMP
00729         END SUBROUTINE
00730       END INTERFACE
00731 !
00732 !-----------------------------------------------------------------------
00733 !
00734       INTERFACE
00735         SUBROUTINE DISPER( VISC , U , V , H , CF , ELDER , PROPNU )
00736       USE BIEF_DEF
00737       IMPLICIT NONE
00738       DOUBLE PRECISION, INTENT(IN)  :: ELDER(2),PROPNU
00739       DOUBLE PRECISION, INTENT(IN)  :: H(*),CF(*),U(*),V(*)
00740       TYPE(BIEF_OBJ), INTENT(INOUT) :: VISC
00741         END SUBROUTINE
00742       END INTERFACE
00743 !
00744 !-----------------------------------------------------------------------
00745 !
00746       INTERFACE
00747         SUBROUTINE DRAGCOEFF(V,D,VK,CW)
00748       IMPLICIT NONE
00749       DOUBLE PRECISION, INTENT(IN)  :: V, D, VK
00750       DOUBLE PRECISION, INTENT(OUT) :: CW
00751         END SUBROUTINE
00752       END INTERFACE
00753 !
00754 !-----------------------------------------------------------------------
00755 !
00756       INTERFACE
00757         SUBROUTINE DRAGFO(FUDRAG,FVDRAG)
00758       USE BIEF_DEF
00759       IMPLICIT NONE
00760       TYPE(BIEF_OBJ), INTENT(INOUT) :: FUDRAG,FVDRAG
00761         END SUBROUTINE
00762       END INTERFACE
00763 !
00764 !-----------------------------------------------------------------------
00765 !
00766       INTERFACE
00767         SUBROUTINE ENTETE(IETAPE,AT,LT)
00768       IMPLICIT NONE
00769       DOUBLE PRECISION, INTENT(IN) :: AT
00770       INTEGER, INTENT(IN)          :: LT,IETAPE
00771         END SUBROUTINE
00772       END INTERFACE
00773 !
00774 !-----------------------------------------------------------------------
00775 !
00776       INTERFACE
00777         DOUBLE PRECISION FUNCTION EXLIM(ILIM,BETA,GRI,GRIJ)
00778       IMPLICIT NONE
00779       INTEGER, INTENT(IN) :: ILIM
00780       DOUBLE PRECISION, INTENT(IN) :: GRI,GRIJ,BETA
00781         END FUNCTION
00782       END INTERFACE
00783 !
00784 !-----------------------------------------------------------------------
00785 !
00786       INTERFACE
00787         SUBROUTINE FILTER_H
00788      &(VEC,T1,MESH,MSK,MASKEL,N,FLODEL,YAFLODEL,DT,W1,UNSV2D)
00789       USE BIEF_DEF
00790       IMPLICIT NONE
00791       INTEGER, INTENT(IN)           :: N
00792       DOUBLE PRECISION, INTENT(IN)  :: DT
00793       LOGICAL, INTENT(IN)           :: MSK,YAFLODEL
00794       TYPE(BIEF_MESH), INTENT(INOUT):: MESH
00795       TYPE(BIEF_OBJ), INTENT(INOUT) :: VEC,T1,FLODEL,W1
00796       TYPE(BIEF_OBJ), INTENT(IN)    :: MASKEL,UNSV2D
00797         END SUBROUTINE
00798       END INTERFACE
00799 !
00800 !-----------------------------------------------------------------------
00801 !
00802       INTERFACE
00803         SUBROUTINE FLOT
00804      &(XFLOT,YFLOT,NFLOT,NFLOT_MAX,X,Y,IKLE,NELEM,NELMAX,NPOIN,
00805      & TAGFLO,SHPFLO,ELTFLO,MESH,LT,NIT,AT)
00806       USE BIEF_DEF
00807       IMPLICIT NONE
00808       INTEGER, INTENT(IN)             :: NPOIN,NIT,NFLOT_MAX,LT
00809       INTEGER, INTENT(IN)             :: NELEM,NELMAX
00810       INTEGER, INTENT(IN)             :: IKLE(NELMAX,3)
00811       INTEGER, INTENT(INOUT)          :: NFLOT
00812       INTEGER, INTENT(INOUT)          :: TAGFLO(NFLOT_MAX)
00813       INTEGER, INTENT(INOUT)          :: ELTFLO(NFLOT_MAX)
00814       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN),Y(NPOIN),AT
00815       DOUBLE PRECISION, INTENT(INOUT) :: XFLOT(NFLOT_MAX)
00816       DOUBLE PRECISION, INTENT(INOUT) :: YFLOT(NFLOT_MAX)
00817       DOUBLE PRECISION, INTENT(INOUT) :: SHPFLO(3,NFLOT_MAX)
00818       TYPE(BIEF_MESH) , INTENT(INOUT) :: MESH
00819         END SUBROUTINE
00820       END INTERFACE
00821 !
00822 !-----------------------------------------------------------------------
00823 !
00824       INTERFACE
00825         SUBROUTINE FLUCINT
00826      &(NS,NSEG,DIMT,NUBO,G,X,Y,UA,TN,ZF,VNOCL,CE,
00827      & NORDRE,CMI,JMI,DJX,DJY,DX,DY,DJXT,DJYT,DXT,DYT,EPSWL)
00828       IMPLICIT NONE
00829       INTEGER, INTENT(IN) :: NS,NSEG,DIMT,NORDRE
00830       INTEGER, INTENT(IN) :: NUBO(2,NSEG)
00831       DOUBLE PRECISION, INTENT(IN) :: G,X(NS),Y(NS),VNOCL(3,NSEG),ZF(NS)
00832       DOUBLE PRECISION, INTENT(INOUT) :: CE(NS,3)
00833       DOUBLE PRECISION, INTENT(IN)    :: UA(3,NS),TN(DIMT),CMI(NSEG,2)
00834       DOUBLE PRECISION, INTENT(IN)    :: JMI(*),EPSWL
00835       DOUBLE PRECISION, INTENT(IN)    :: DJX(3,*),DJY(3,*)
00836       DOUBLE PRECISION, INTENT(IN)    :: DX(3,*),DY(3,*)
00837       DOUBLE PRECISION, INTENT(IN)    :: DJXT(*),DJYT(*),DXT(*),DYT(*)
00838         END SUBROUTINE
00839       END INTERFACE
00840 !
00841 !-----------------------------------------------------------------------
00842 !
00843       INTERFACE
00844         SUBROUTINE FLUCIN
00845      &(NS,NELEM,NSEG,NUBO,G,X,Y,CFL,DT,UA,ZF,VNOCL,CE,NORDRE,
00846      & CMI,JMI,DJX,DJY,DX,DY,BETA,DSZ0,AIRS,
00847      & AIRST,HC,FLUXTEMP,NPTFR,NBOR,XNEBOR,YNEBOR,NTRAC,ELTSEG,
00848      & IFABOR,MESH)
00849       USE BIEF_DEF
00850       IMPLICIT NONE
00851       INTEGER, INTENT(IN) :: NS,NSEG,NPTFR,NORDRE,NTRAC,NELEM
00852       INTEGER, INTENT(IN) :: NBOR(*),NUBO(2,NSEG),JMI(*)
00853       INTEGER, INTENT(IN)             :: ELTSEG(NELEM,3)
00854       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(*),YNEBOR(*),X(NS),Y(NS)
00855       DOUBLE PRECISION, INTENT(IN)    :: ZF(NS),VNOCL(3,NSEG),AIRS(*)
00856       DOUBLE PRECISION, INTENT(IN)    :: G,CFL,UA(3,NS),AIRST(2,*)
00857       DOUBLE PRECISION, INTENT(IN)    :: DSZ0(2,*),CMI(NSEG,2)
00858       DOUBLE PRECISION, INTENT(INOUT) :: BETA,DT,CE(NS,3),HC(2,*)
00859       DOUBLE PRECISION, INTENT(IN)    :: DJX(3,*),DJY(3,*)
00860       DOUBLE PRECISION, INTENT(IN)    :: DX(3,*),DY(3,*)
00861       TYPE(BIEF_OBJ), INTENT(INOUT)   :: FLUXTEMP
00862       INTEGER, INTENT(IN)             :: IFABOR(NELEM,3)
00863       TYPE(BIEF_MESH),INTENT(INOUT)   :: MESH
00864         END SUBROUTINE
00865       END INTERFACE
00866 !
00867 !-----------------------------------------------------------------------
00868 !
00869       INTERFACE
00870         SUBROUTINE FLUHYD
00871      &(NS,NT,NSEG,NPTFR,NUBO,G,DT,X,Y,AIRS,NU,AIRE,
00872      & UA,ZF,VNOIN,CE,NBOR,LIMPRO,XNEBOR,YNEBOR,KDIR,KNEU,
00873      & HBOR,UBOR,VBOR,FLUENT,FLUSORT,NORDRE,CMI,JMI,
00874      & DJX,DJY,DX,DY,DTHAUT,CFLWTD,FLBOR,
00875      & DPX,DPY,IVIS,CVIS,FLUHBTEMP,BETA,
00876      & DSZ,AIRST,HC,FLUXTEMP,NTRAC,ELTSEG,IFABOR,MESH)
00877       USE BIEF_DEF
00878       IMPLICIT NONE
00879       INTEGER, INTENT(IN) :: NS,NT,NSEG,NPTFR,KDIR,KNEU,NORDRE
00880       INTEGER, INTENT(IN) :: NBOR(NPTFR),LIMPRO(NPTFR,6),NU(NT,3)
00881       INTEGER, INTENT(IN) :: NUBO(2,NSEG),JMI(*),IVIS,NTRAC
00882       INTEGER, INTENT(IN)  :: ELTSEG(NT,3)
00883       DOUBLE PRECISION, INTENT(IN) :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
00884       DOUBLE PRECISION, INTENT(IN) :: HBOR(NPTFR),G,CFLWTD,DTHAUT(*)
00885       DOUBLE PRECISION, INTENT(IN) ::UBOR(NPTFR),VBOR(NPTFR),CMI(NSEG,2)
00886       DOUBLE PRECISION, INTENT(IN) :: AIRST(2,*),CVIS
00887       DOUBLE PRECISION, INTENT(IN) :: X(NS),Y(NS),AIRS(NS),AIRE(NT)
00888       DOUBLE PRECISION, INTENT(INOUT) :: BETA,DT,HC(2,*)
00889       DOUBLE PRECISION, INTENT(INOUT) :: CE(3,NS),FLUENT,FLUSORT
00890       DOUBLE PRECISION, INTENT(IN) :: UA(3,NS),ZF(NS),VNOIN(3,NSEG)
00891       DOUBLE PRECISION, INTENT(IN) :: DSZ(2,*),DPX(3,NT),DPY(3,NT)
00892       DOUBLE PRECISION, INTENT(INOUT) :: DJX(3,*),DJY(3,*)
00893       DOUBLE PRECISION, INTENT(INOUT) :: DX(3,*),DY(3,*)
00894       TYPE(BIEF_OBJ), INTENT(INOUT) :: FLUXTEMP,FLUHBTEMP,FLBOR
00895       INTEGER, INTENT(IN)             :: IFABOR(NT,3)
00896       TYPE(BIEF_MESH),INTENT(INOUT)   :: MESH
00897         END SUBROUTINE
00898       END INTERFACE
00899 !
00900 !-----------------------------------------------------------------------
00901 !
00902       INTERFACE
00903         SUBROUTINE FLUROE
00904      &(W,FLUSCE,NUBO,VNOIN,WINF,FLUX,FLUSORT,FLUENT,
00905      & NELEM,NSEG,NPTFR,NPOIN,X,Y,AIRS,ZF,EPS,DDMIN,G,
00906      & XNEBOR,YNEBOR,LIMPRO,NBOR,KDIR,KNEU,KDDL,FLBOR,
00907      & ELTSEG,IFABOR,MESH)
00908       USE BIEF_DEF
00909       IMPLICIT NONE
00910       INTEGER, INTENT(IN) :: NPOIN,NELEM,NSEG,NPTFR,KDIR,KNEU,KDDL
00911       INTEGER, INTENT(IN) :: NUBO(2,*),LIMPRO(NPTFR,6),NBOR(NPTFR)
00912       DOUBLE PRECISION, INTENT(IN) :: X(NPOIN),Y(NPOIN),W(3,NPOIN)
00913       DOUBLE PRECISION, INTENT(IN) :: AIRS(NPOIN),ZF(NPOIN),VNOIN(3,*)
00914       DOUBLE PRECISION, INTENT(IN) :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
00915       DOUBLE PRECISION, INTENT(IN) :: WINF(3,NPTFR),G,EPS
00916       DOUBLE PRECISION, INTENT(INOUT) :: FLUX(NPOIN,3),DDMIN
00917       DOUBLE PRECISION, INTENT(INOUT) :: FLUSCE(3,NPOIN),FLUSORT,FLUENT
00918       TYPE(BIEF_OBJ), INTENT(INOUT)   :: FLBOR
00919       INTEGER, INTENT(IN)             :: ELTSEG(NELEM,3)
00920       INTEGER, INTENT(IN)            :: IFABOR(NELEM,3)
00921       TYPE(BIEF_MESH),INTENT(INOUT)  :: MESH
00922         END SUBROUTINE
00923       END INTERFACE
00924 !
00925 !-----------------------------------------------------------------------
00926 !
00927       INTERFACE
00928         SUBROUTINE FLUSEC_TELEMAC2D
00929      &(U,V,H,IKLE,XEL,YEL,NELMAX,NELEM,X,Y,DT,NCP,CTRLSC,INFO,TPS,
00930      & MSKSEC,BM1,BM2,T1,HPROP,MESH,S,CV1,IFABOR,COMFLU,CUMFLO)
00931       USE BIEF_DEF
00932       IMPLICIT NONE
00933       INTEGER, INTENT(IN) :: NELMAX,NELEM
00934       INTEGER, INTENT(INOUT) :: NCP ! CAN BE CHANGED
00935       INTEGER, INTENT(INOUT) :: CTRLSC(NCP) ! CAN BE CHANGED
00936       INTEGER, INTENT(IN) :: IKLE(NELMAX,*)
00937       INTEGER, INTENT(IN) :: IFABOR(NELMAX,*)
00938       DOUBLE PRECISION, INTENT(IN) :: X(*),Y(*),TPS,DT
00939       DOUBLE PRECISION, INTENT(IN) :: XEL(NELMAX,*),YEL(NELMAX,*)
00940       LOGICAL, INTENT(IN) :: INFO,COMFLU,CUMFLO
00941       TYPE(BIEF_OBJ), INTENT(IN)    :: HPROP,S,U,V,H
00942       TYPE(BIEF_OBJ), INTENT(INOUT) :: BM1,BM2,T1,MSKSEC,CV1
00943       TYPE(BIEF_MESH) :: MESH
00944         END SUBROUTINE
00945       END INTERFACE
00946 !
00947 !-----------------------------------------------------------------------
00948 !
00949       INTERFACE
00950         SUBROUTINE FLUSEW
00951      &(AMINF,NPOIN,EPS,G,W,XNEBOR,YNEBOR,
00952      & NPTFR,LIMPRO,NBOR,KDIR,KDDL)
00953       IMPLICIT NONE
00954       INTEGER, INTENT(IN)             :: NPOIN,NPTFR,KDIR,KDDL
00955       INTEGER, INTENT(IN)             :: LIMPRO(NPTFR,6),NBOR(NPTFR)
00956       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(NPTFR),YNEBOR(NPTFR)
00957       DOUBLE PRECISION, INTENT(IN)    :: W(3,NPOIN)
00958       DOUBLE PRECISION, INTENT(IN)    :: EPS,G
00959       DOUBLE PRECISION, INTENT(INOUT) :: AMINF(3,NPTFR)
00960         END SUBROUTINE
00961       END INTERFACE
00962 !
00963 !-----------------------------------------------------------------------
00964 !
00965       INTERFACE
00966         SUBROUTINE FLUSRC
00967      &(IEL1,IEL2,ISEGIN,VNOIN,W,FLUSCE,X,Y,AIRS,NPOIN,NSEG,ZF,EPS,G)
00968       IMPLICIT NONE
00969       INTEGER, INTENT(IN)             :: NPOIN,NSEG,ISEGIN,IEL1,IEL2
00970       DOUBLE PRECISION, INTENT(IN)    :: G,EPS,VNOIN(3,NSEG),ZF(NPOIN)
00971       DOUBLE PRECISION, INTENT(IN)    :: AIRS(NPOIN),X(NPOIN),Y(NPOIN)
00972       DOUBLE PRECISION, INTENT(IN)    :: W(3,NPOIN)
00973       DOUBLE PRECISION, INTENT(INOUT) :: FLUSCE(3,NPOIN)
00974         END SUBROUTINE
00975       END INTERFACE
00976 !
00977 !-----------------------------------------------------------------------
00978 !
00979       INTERFACE
00980         SUBROUTINE FLUTRAC
00981      &(NSEG,NPTFR,DT,FLUXT,FLUHBOR,FLUXTEMP,FLUHBTEMP,DTT)
00982       IMPLICIT NONE
00983       INTEGER, INTENT(IN)             :: NSEG, NPTFR
00984       DOUBLE PRECISION, INTENT(IN)    :: DT,FLUXTEMP(*),FLUHBTEMP(*)
00985       DOUBLE PRECISION, INTENT(INOUT) :: FLUHBOR(*),FLUXT(*),DTT
00986         END SUBROUTINE
00987       END INTERFACE
00988 !
00989 !-----------------------------------------------------------------------
00990 !
00991       INTERFACE
00992         SUBROUTINE FLUXE
00993      &(HJ,UJ,VJ,HI,UI,VI,XN,YN,RNORM,G,FLULOC)
00994       IMPLICIT NONE
00995       DOUBLE PRECISION, INTENT(INOUT) :: FLULOC(3)
00996       DOUBLE PRECISION, INTENT(IN) :: G,HI,HJ,UI,UJ,VI,VJ,RNORM
00997       DOUBLE PRECISION, INTENT(IN) :: XN,YN
00998         END SUBROUTINE
00999       END INTERFACE
01000 !
01001 !-----------------------------------------------------------------------
01002 !
01003       INTERFACE
01004         SUBROUTINE FLUXZZ
01005      &(X,Y,NS,NSEG,NELEM,NUBO,G,W,ZF,VNOCL,
01006      & ELTSEG,CE,IFABOR)
01007       USE BIEF_DEF
01008       IMPLICIT NONE
01009       INTEGER, INTENT(IN)             :: NS,NSEG,NELEM
01010       INTEGER, INTENT(IN)             :: NUBO(2,NSEG)
01011       INTEGER, INTENT(IN)             :: ELTSEG(NELEM,3)
01012       DOUBLE PRECISION, INTENT(IN)    :: ZF(NS),VNOCL(3,NSEG)
01013       DOUBLE PRECISION, INTENT(IN)    :: G,W(3,NS)
01014       DOUBLE PRECISION, INTENT(IN)    :: X(NS),Y(NS)
01015       DOUBLE PRECISION, INTENT(INOUT) :: CE(NS,3)
01016       INTEGER, INTENT(IN)             :: IFABOR(NELEM,3)
01017         END SUBROUTINE
01018       END INTERFACE
01019 !
01020 !-----------------------------------------------------------------------
01021 !
01022       INTERFACE
01023         SUBROUTINE FLUX_HLLC
01024      &(XI,H1,H2,U1,U2,V1,V2,PSI1,PSI2,
01025      & XNN,YNN,ROT,HLLCFLX)
01026 !
01027       IMPLICIT NONE
01028       DOUBLE PRECISION, INTENT(IN)    :: H1,H2,U1,U2,PSI1,PSI2
01029       DOUBLE PRECISION, INTENT(IN)    :: XI,V1,V2,XNN,YNN
01030       LOGICAL, INTENT(IN)             :: ROT
01031       DOUBLE PRECISION, INTENT(INOUT) :: HLLCFLX(4)
01032         END SUBROUTINE
01033       END INTERFACE
01034 !
01035 !-----------------------------------------------------------------------
01036 !
01037       INTERFACE
01038         SUBROUTINE FLUX_WAF
01039      & (XI,H1,H2,U1,U2,V1,V2,PSI1,PSI2,
01040      & HL_UP,HR_UP,VL_UP,VR_UP,PSIL_UP,PSIR_UP,
01041      & XNN,YNN,DT,DX,WAFFLX)
01042       IMPLICIT NONE
01043       DOUBLE PRECISION, INTENT(IN)    :: H1,H2,U1,U2,PSI1,PSI2
01044       DOUBLE PRECISION, INTENT(IN)    :: XI,V1,V2,XNN,YNN,DT
01045       DOUBLE PRECISION, INTENT(IN)    :: HL_UP,HR_UP,VL_UP,VR_UP
01046       DOUBLE PRECISION, INTENT(IN)    :: PSIL_UP,PSIR_UP
01047       DOUBLE PRECISION, INTENT(IN)    :: DX
01048       DOUBLE PRECISION, INTENT(INOUT) :: WAFFLX(4)
01049         END SUBROUTINE
01050       END INTERFACE
01051 !
01052 !-----------------------------------------------------------------------
01053 !
01054       INTERFACE
01055         SUBROUTINE FLUX_TCH
01056      &(X,Y,NS,NSEG,NELEM,NUBO,G,W,ZF,VNOCL,
01057      & ELTSEG,CE,IFABOR)
01058       IMPLICIT NONE
01059       INTEGER, INTENT(IN)             :: NS,NSEG,NELEM
01060       INTEGER, INTENT(IN)             :: NUBO(2,NSEG)
01061       INTEGER, INTENT(IN)             :: ELTSEG(NELEM,3)
01062       DOUBLE PRECISION, INTENT(IN)    :: ZF(NS),VNOCL(3,NSEG)
01063       DOUBLE PRECISION, INTENT(IN)    :: G,W(3,NS)
01064       DOUBLE PRECISION, INTENT(IN)    :: X(NS),Y(NS)
01065       DOUBLE PRECISION, INTENT(INOUT) :: CE(NS,3)
01066       INTEGER, INTENT(IN)             :: IFABOR(NELEM,3)
01067         END SUBROUTINE
01068       END INTERFACE
01069 !
01070 !-----------------------------------------------------------------------
01071 !
01072       INTERFACE
01073         SUBROUTINE FLU_TCHAMEN
01074      &(H1,H2,ETA1,ETA2,U1,U2,V1,V2,XNN,YNN,FLXI,FLXJ,G)
01075       USE BIEF_DEF
01076       IMPLICIT NONE
01077       DOUBLE PRECISION, INTENT(IN)    :: G,H1,H2,ETA1,ETA2,U1,U2
01078       DOUBLE PRECISION, INTENT(IN)    :: V1,V2,XNN,YNN
01079       DOUBLE PRECISION, INTENT(INOUT) :: FLXI(3),FLXJ(3)
01080         END SUBROUTINE
01081       END INTERFACE
01082 !
01083 !-----------------------------------------------------------------------
01084 !
01085       INTERFACE
01086         SUBROUTINE FLU_ZOKAGOA
01087      &(H1,H2,ZF1,ZF2,ETA1,ETA2,U1,U2,
01088      & V1,V2,XNN,YNN,FLXI,FLXJ,G)
01089       IMPLICIT NONE
01090       DOUBLE PRECISION, INTENT(IN)    :: G,H1,H2,ETA1,ETA2,U1,U2
01091       DOUBLE PRECISION, INTENT(IN)    :: V1,V2,XNN,YNN,ZF1,ZF2
01092       DOUBLE PRECISION, INTENT(INOUT) :: FLXI(3),FLXJ(3)
01093         END SUBROUTINE
01094       END INTERFACE
01095 !
01096 !-----------------------------------------------------------------------
01097 !
01098       INTERFACE
01099         SUBROUTINE FRICTION(NS,G,DT,UA,H,QU,QV,CF)
01100       IMPLICIT NONE
01101       INTEGER, INTENT(IN)             :: NS
01102       DOUBLE PRECISION, INTENT(IN)    :: G,DT
01103       DOUBLE PRECISION, INTENT(IN)    :: CF(NS)
01104       DOUBLE PRECISION, INTENT(IN)    :: H(NS),QU(NS),QV(NS)
01105       DOUBLE PRECISION, INTENT(INOUT) :: UA(3,NS)
01106         END SUBROUTINE
01107       END INTERFACE
01108 !
01109 !-----------------------------------------------------------------------
01110 !
01111       INTERFACE
01112         SUBROUTINE FRICTION_BUBBLE
01113      & (IKLE, NPOIN, NELEM, NELMAX, LINDNER, NKFROT, CHESTR, NDEFMA,
01114      &  LINDDP, LINDSP)
01115       USE BIEF_DEF
01116       IMPLICIT NONE
01117       TYPE(BIEF_OBJ), INTENT(IN)    :: IKLE
01118       INTEGER,        INTENT(IN)    :: NPOIN, NELEM, NELMAX
01119       LOGICAL,        INTENT(IN)    :: LINDNER
01120       TYPE(BIEF_OBJ), INTENT(INOUT) :: NKFROT, CHESTR, NDEFMA
01121       TYPE(BIEF_OBJ), INTENT(INOUT) :: LINDDP, LINDSP
01122         END SUBROUTINE
01123       END INTERFACE
01124 !
01125 !-----------------------------------------------------------------------
01126 !
01127       INTERFACE
01128         SUBROUTINE FRICTION_CALC
01129      &(N_START, N_END, KFROT, NDEF, VK, GRAV,
01130      & KARMAN, CHESTR, DW_MESH, HC, VRES, CF)
01131       USE BIEF_DEF
01132       IMPLICIT NONE
01133       INTEGER,          INTENT(IN)    :: N_START, N_END, KFROT
01134       DOUBLE PRECISION, INTENT(IN)    :: NDEF, VK, GRAV, KARMAN
01135       TYPE(BIEF_OBJ),   INTENT(IN)    :: CHESTR, DW_MESH, HC, VRES
01136       TYPE(BIEF_OBJ),   INTENT(INOUT) :: CF
01137         END SUBROUTINE
01138       END INTERFACE
01139 !
01140 !-----------------------------------------------------------------------
01141 !
01142       INTERFACE
01143         SUBROUTINE FRICTION_CHOICE(FRICTION_PASS, KARMAN)
01144       IMPLICIT NONE
01145       INTEGER,          INTENT(IN) :: FRICTION_PASS
01146       DOUBLE PRECISION, INTENT(IN) :: KARMAN
01147         END SUBROUTINE
01148       END INTERFACE
01149 !
01150 !-----------------------------------------------------------------------
01151 !
01152       INTERFACE
01153         SUBROUTINE FRICTION_LINDNER(VA,HA,CF,VK,G,DP,SP,CP)
01154       IMPLICIT NONE
01155       DOUBLE PRECISION, INTENT(IN)  :: VA,HA,CF,VK,G,DP,SP
01156       DOUBLE PRECISION, INTENT(OUT) :: CP
01157         END SUBROUTINE
01158       END INTERFACE
01159 !
01160 !-----------------------------------------------------------------------
01161 !
01162       INTERFACE
01163         SUBROUTINE FRICTION_READ
01164      & (NCOF, NZONMX, ITURB, LISRUG, LINDNER, NOMCOF, NZONES, FRTAB)
01165       USE FRICTION_DEF
01166       IMPLICIT NONE
01167       INTEGER,            INTENT(IN)    :: NCOF, NZONMX
01168       INTEGER,            INTENT(IN)    :: ITURB, LISRUG
01169       LOGICAL,            INTENT(IN)    :: LINDNER
01170       CHARACTER(LEN=144), INTENT(IN)    :: NOMCOF
01171       INTEGER,            INTENT(OUT)   :: NZONES
01172       TYPE(FRICTION_OBJ), INTENT(INOUT) :: FRTAB
01173         END SUBROUTINE
01174       END INTERFACE
01175 !
01176 !-----------------------------------------------------------------------
01177 !
01178       INTERFACE
01179         SUBROUTINE FRICTION_SCAN(NCOF,NOMCOF,TYP,LINE)
01180       IMPLICIT NONE
01181       INTEGER,       INTENT(IN)    :: NCOF
01182       CHARACTER(LEN=144), INTENT(IN)    :: NOMCOF
01183       INTEGER,       INTENT(INOUT) :: LINE
01184       INTEGER,       INTENT(OUT)   :: TYP
01185         END SUBROUTINE
01186       END INTERFACE
01187 !
01188 !-----------------------------------------------------------------------
01189 !
01190       INTERFACE
01191         SUBROUTINE FRICTION_UNIF
01192      & (MESH,H,U,V,CHESTR,S,KFROT,KFROTL,ITURB,LISRUG,LINDNER,
01193      &  SB,NDEF,DP,SP,VK,KARMAN,GRAV,T1,T2,CHBORD,CF,CFBOR)
01194       USE BIEF_DEF
01195       IMPLICIT NONE
01196       TYPE(BIEF_MESH),  INTENT(IN)      :: MESH
01197       TYPE(BIEF_OBJ),   INTENT(IN)      :: H,U,V,CHESTR,CHBORD,S
01198       INTEGER,          INTENT(IN)      :: KFROT,KFROTL,ITURB,LISRUG
01199       LOGICAL,          INTENT(IN)      :: LINDNER
01200       DOUBLE PRECISION, INTENT(IN)      :: NDEF,DP,SP
01201       DOUBLE PRECISION, INTENT(IN)      :: VK,KARMAN,GRAV
01202       DOUBLE PRECISION, INTENT(INOUT)   :: SB
01203       TYPE(BIEF_OBJ),   INTENT(INOUT)   :: T1,T2
01204       TYPE(BIEF_OBJ),   INTENT(INOUT)   :: CF,CFBOR
01205         END SUBROUTINE
01206       END INTERFACE
01207 !
01208 !-----------------------------------------------------------------------
01209 !
01210       INTERFACE
01211         SUBROUTINE FRICTION_ZONES
01212      & (MESH, H, U, V, S, CHESTR, CHBORD, NKFROT, NDEFMA, LINDDP,
01213      &  LINDSP, KFRO_B, NDEF_B, ITURB, LISRUG, LINDNER, VK,
01214      &  KARMAN, GRAV, T1, T2, CF, CFBOR)
01215       USE BIEF_DEF
01216       IMPLICIT NONE
01217       TYPE(BIEF_MESH),    INTENT(IN)    :: MESH
01218       TYPE(BIEF_OBJ),     INTENT(IN)    :: H, U, V, S
01219       TYPE(BIEF_OBJ),     INTENT(IN)    :: CHESTR
01220       TYPE(BIEF_OBJ),     INTENT(IN)    :: CHBORD
01221       TYPE(BIEF_OBJ),     INTENT(IN)    :: NKFROT
01222       TYPE(BIEF_OBJ),     INTENT(IN)    :: NDEFMA, LINDDP, LINDSP
01223       TYPE(BIEF_OBJ),     INTENT(IN)    :: KFRO_B, NDEF_B
01224       INTEGER,            INTENT(IN)    :: ITURB, LISRUG
01225       LOGICAL,            INTENT(IN)    :: LINDNER
01226       DOUBLE PRECISION,   INTENT(IN)    :: VK, KARMAN, GRAV
01227       TYPE(BIEF_OBJ),     INTENT(INOUT) :: CF, CFBOR
01228       TYPE(BIEF_OBJ),     INTENT(INOUT) :: T1, T2
01229         END SUBROUTINE
01230       END INTERFACE
01231 !
01232 !-----------------------------------------------------------------------
01233 !
01234       INTERFACE
01235         SUBROUTINE FRICTI
01236      &(FU_IMP,FV_IMP,FUDRAG,FVDRAG,UN,VN,HN,CF,MESH,T1,T2,VERTIC,
01237      & UNSV2D,MSK,MASKEL,HFROT)
01238       USE BIEF_DEF
01239       IMPLICIT NONE
01240       LOGICAL, INTENT(IN)                 :: VERTIC,MSK
01241       INTEGER, INTENT(IN)                 :: HFROT
01242       TYPE(BIEF_OBJ),  INTENT(IN)         :: UN,VN,CF,UNSV2D,MASKEL
01243       TYPE(BIEF_OBJ),  INTENT(IN), TARGET :: HN
01244       TYPE(BIEF_OBJ),  INTENT(INOUT)      :: FU_IMP,FV_IMP,FUDRAG,FVDRAG
01245       TYPE(BIEF_OBJ),  INTENT(INOUT), TARGET :: T1,T2
01246       TYPE(BIEF_MESH), INTENT(INOUT)      :: MESH
01247         END SUBROUTINE
01248       END INTERFACE
01249 !
01250 !-----------------------------------------------------------------------
01251 !
01252       INTERFACE
01253         SUBROUTINE GESTIO
01254      &(U,V,C,T,AK,EP,UTILD,VTILD,CTILD,TTILD,AKTILD,EPTILD,
01255      & TRAC,PROPA,CONVV,ITURB,IETAPE)
01256       USE BIEF_DEF
01257       IMPLICIT NONE
01258       INTEGER, INTENT(IN)           :: ITURB,IETAPE
01259       LOGICAL, INTENT(IN)           :: TRAC,CONVV(4),PROPA
01260       TYPE(BIEF_OBJ), INTENT(IN)    :: T,AK,EP
01261       TYPE(BIEF_OBJ), INTENT(INOUT) :: U,V,C
01262       TYPE(BIEF_OBJ), INTENT(INOUT) :: UTILD,VTILD,CTILD,TTILD
01263       TYPE(BIEF_OBJ), INTENT(INOUT) :: AKTILD,EPTILD
01264         END SUBROUTINE
01265       END INTERFACE
01266 !
01267 !-----------------------------------------------------------------------
01268 !
01269       INTERFACE
01270         SUBROUTINE GRADNODT(NS,NT,NU,AIRT,AIRS,H,T,DPX,DPY,DJX,DJY,
01271      &                      DX,DY,DIFT,CVIST,CE,DTT,MESH)
01272       USE BIEF_DEF
01273       IMPLICIT NONE
01274       INTEGER, INTENT(IN)             :: NS,NT
01275       INTEGER, INTENT(IN)             :: NU(NT,3)
01276       LOGICAL, INTENT(IN)             :: DIFT
01277       DOUBLE PRECISION, INTENT(IN)    :: DPX(3,NT),DPY(3,NT)
01278       DOUBLE PRECISION, INTENT(IN)    :: AIRT(NT),AIRS(NS),H(NS),T(NS)
01279       DOUBLE PRECISION, INTENT(INOUT) :: DJX(NT),DJY(NT),DX(NS),DY(NS)
01280       DOUBLE PRECISION, INTENT(INOUT) :: CE(NS)
01281       DOUBLE PRECISION, INTENT(IN)    :: DTT,CVIST
01282       TYPE(BIEF_MESH),  INTENT(INOUT) :: MESH
01283         END SUBROUTINE
01284       END INTERFACE
01285 !
01286 !-----------------------------------------------------------------------
01287 !
01288       INTERFACE
01289         SUBROUTINE GRADNOD
01290      &(NS,NT,NU,AIRT,AIRS,UA,DPX,DPY,DJX,DJY,DX,DY,IVIS,CVIS,CE,ZF,
01291      & MESH)
01292       USE BIEF_DEF
01293       IMPLICIT NONE
01294       INTEGER, INTENT(IN)             :: NS,NT,IVIS
01295       INTEGER, INTENT(IN)             :: NU(NT,3)
01296       DOUBLE PRECISION, INTENT(IN)    :: AIRT(NT),AIRS(NS),CVIS
01297       DOUBLE PRECISION, INTENT(INOUT) :: DJX(3,NT),DJY(3,NT)
01298       DOUBLE PRECISION, INTENT(INOUT) :: DX(3,NS),DY(3,NS)
01299       DOUBLE PRECISION, INTENT(INOUT) :: CE(NS,3)
01300       DOUBLE PRECISION, INTENT(IN)    :: UA(3,NS),ZF(NS)
01301       DOUBLE PRECISION, INTENT(IN)    :: DPX(3,NT),DPY(3,NT)
01302       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH
01303         END SUBROUTINE
01304       END INTERFACE
01305 !
01306 !-----------------------------------------------------------------------
01307 !
01308       INTERFACE
01309         SUBROUTINE GRADZ
01310      &(NS,NT,NSEG,NU,NUBO,X,Y,AIRT,AIRS,CMI,JV,
01311      & ZF,DPX,DPY,DSZ,BETA,AIRST,DXIZ,DYIZ,DSP,DSM,CORR,
01312      & ELTSEG,IFABOR,MESH)
01313       USE BIEF_DEF
01314       IMPLICIT NONE
01315       INTEGER, INTENT(IN)             :: NS,NT,NSEG
01316       INTEGER, INTENT(IN)             :: NU(NT,3),NUBO(2,NSEG),JV(*)
01317       INTEGER, INTENT(IN)             :: IFABOR(NT,3)
01318       INTEGER, INTENT(IN)             :: ELTSEG(NT,3)
01319       DOUBLE PRECISION, INTENT(INOUT) :: DSZ(2,*)
01320       DOUBLE PRECISION, INTENT(IN)    :: X(NS),Y(NS),AIRT(NT),AIRS(NS)
01321       DOUBLE PRECISION, INTENT(INOUT) :: DXIZ(NS),DYIZ(NS)
01322       DOUBLE PRECISION, INTENT(INOUT) :: DSP(NS),DSM(NS),CORR(NS),BETA
01323       DOUBLE PRECISION, INTENT(IN)    :: DPX(3,NT),DPY(3,NT)
01324       DOUBLE PRECISION, INTENT(IN)    :: CMI(NSEG,2),AIRST(2,*),ZF(NS)
01325       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH
01326         END SUBROUTINE
01327       END INTERFACE
01328 !
01329 !-----------------------------------------------------------------------
01330 !
01331       INTERFACE
01332         SUBROUTINE HYD_HLLC
01333      &(NS,NELEM,NSEG,NUBO,G,W,ZF,VNOCL,
01334      & X,Y,ELTSEG,CE,IFABOR)
01335       USE BIEF_DEF
01336       IMPLICIT NONE
01337 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
01338       INTEGER, INTENT(IN)             :: NS,NSEG,NELEM
01339       INTEGER, INTENT(IN)             :: NUBO(2,NSEG)
01340       INTEGER, INTENT(IN)             :: ELTSEG(NELEM,3)
01341       DOUBLE PRECISION, INTENT(IN)    :: ZF(NS),VNOCL(3,NSEG)
01342       DOUBLE PRECISION, INTENT(IN)    :: X(NS),Y(NS)
01343       DOUBLE PRECISION, INTENT(IN)    :: G,W(3,NS)
01344       DOUBLE PRECISION, INTENT(INOUT) :: CE(NS,3)
01345       INTEGER, INTENT(IN)             :: IFABOR(NELEM,3)
01346         END SUBROUTINE
01347       END INTERFACE
01348 !
01349 !-----------------------------------------------------------------------
01350 !
01351       INTERFACE
01352         SUBROUTINE HYD_WAF
01353      &(NS,NSEG,NELEM,NUBO,G,W,ZF,VNOCL,DT,DTHAUT,
01354      & X,Y,CE,ELTSEG,NEISEG)
01355       IMPLICIT NONE
01356       INTEGER, INTENT(IN) :: NS,NSEG,NELEM
01357       INTEGER, INTENT(IN) :: NUBO(2,NSEG),NEISEG(2,NSEG)
01358       INTEGER, INTENT(IN)             :: ELTSEG(NELEM,3)
01359       DOUBLE PRECISION, INTENT(IN)    :: ZF(NS),VNOCL(3,NSEG)
01360       DOUBLE PRECISION, INTENT(IN)    :: X(NS),Y(NS)
01361       DOUBLE PRECISION, INTENT(IN)    :: G,W(3,NS)
01362       DOUBLE PRECISION, INTENT(IN)    :: DTHAUT(*)
01363       DOUBLE PRECISION, INTENT(INOUT) :: CE(NS,3),DT
01364         END SUBROUTINE
01365       END INTERFACE
01366 !
01367 !-----------------------------------------------------------------------
01368 !
01369       INTERFACE
01370         SUBROUTINE HPROPA(HPROP,HN,H,PROLIN,HAULIN,TETA,NSOUSI)
01371       USE BIEF_DEF
01372       IMPLICIT NONE
01373       INTEGER, INTENT(IN)           :: NSOUSI
01374       LOGICAL, INTENT(IN)           :: PROLIN
01375       DOUBLE PRECISION, INTENT(IN)  :: TETA,HAULIN
01376       TYPE(BIEF_OBJ), INTENT(IN)    :: HN,H
01377       TYPE(BIEF_OBJ), INTENT(INOUT) :: HPROP
01378         END SUBROUTINE
01379       END INTERFACE
01380 !
01381 !-----------------------------------------------------------------------
01382 !
01383       INTERFACE
01384         SUBROUTINE INCREASE_NTRAC(ADDTR,WAQ,WAQPROCESS,SECCURRENT,
01385      &   MOTCAR,NTRTOT,NTRAC)
01386         USE DECLARATIONS_TELEMAC2D, ONLY: MAXKEY
01387       IMPLICIT NONE
01388       INTEGER, INTENT(INOUT)::  ADDTR
01389       INTEGER, INTENT(IN)   ::  WAQPROCESS,NTRTOT,NTRAC
01390       LOGICAL, INTENT(IN)   ::  WAQ, SECCURRENT
01391       CHARACTER(LEN=144), INTENT(IN) :: MOTCAR(MAXKEY)
01392         END SUBROUTINE
01393       END INTERFACE
01394 !
01395 !-----------------------------------------------------------------------
01396 !
01397       INTERFACE
01398         SUBROUTINE INITSTR(CHESTR,SETSTR,PZONE,NZONE,NPOIN,T1)
01399       USE BIEF_DEF
01400       IMPLICIT NONE
01401       TYPE(BIEF_OBJ), INTENT(IN)      :: CHESTR
01402       TYPE(BIEF_OBJ), INTENT(INOUT)   :: SETSTR,T1
01403       INTEGER, INTENT(IN)             :: PZONE(*)
01404       INTEGER, INTENT(IN)             :: NZONE
01405       INTEGER, INTENT(IN)             :: NPOIN
01406         END SUBROUTINE
01407       END INTERFACE
01408 !
01409 !-----------------------------------------------------------------------
01410 !
01411       INTERFACE
01412         SUBROUTINE INTEMP
01413      &(W,FLUX,FLUX_OLD,AIRS,DT,NPOIN,ZF,CF,EPS,KFROT,SMH,
01414      & HN,QU,QV,LT,GAMMA)
01415       IMPLICIT NONE
01416       INTEGER, INTENT(IN)             :: NPOIN,KFROT,LT
01417       DOUBLE PRECISION, INTENT(INOUT) :: W(3,NPOIN)
01418       DOUBLE PRECISION, INTENT(IN)    :: FLUX(NPOIN,3),DT,EPS
01419       DOUBLE PRECISION, INTENT(IN)    :: AIRS(NPOIN),ZF(NPOIN)
01420       DOUBLE PRECISION, INTENT(IN)    :: FLUX_OLD(NPOIN,3)
01421       DOUBLE PRECISION, INTENT(IN)    :: CF(NPOIN),SMH(NPOIN),GAMMA
01422       DOUBLE PRECISION, INTENT(IN)    :: HN(NPOIN),QU(NPOIN),QV(NPOIN)
01423         END SUBROUTINE
01424       END INTERFACE
01425 !
01426 !-----------------------------------------------------------------------
01427 !
01428       INTERFACE
01429         SUBROUTINE INTERPMETEO2(WW,WINDX,WINDY,TAIR,PATM,NEBU,
01430      &                          RAINFALL,PVAP,RAY3,
01431      &                          AT,NFO)
01432       IMPLICIT NONE
01433       INTEGER, INTENT(IN)           :: NFO
01434       DOUBLE PRECISION, INTENT(IN)  :: AT
01435       DOUBLE PRECISION, INTENT(INOUT) :: WW,WINDX,WINDY,TAIR,PATM
01436       DOUBLE PRECISION, INTENT(INOUT) :: NEBU,RAINFALL,PVAP,RAY3
01437         END SUBROUTINE
01438       END INTERFACE
01439 !
01440 !-----------------------------------------------------------------------
01441 !
01442       INTERFACE
01443         SUBROUTINE INTERPOL(RO,R02,R03,JCOUT1,JCOUT2,JCOUT3)
01444       IMPLICIT NONE
01445       DOUBLE PRECISION , INTENT(IN)    :: R02,R03,JCOUT1,JCOUT2,JCOUT3
01446       DOUBLE PRECISION , INTENT(INOUT) :: RO
01447         END SUBROUTINE
01448       END INTERFACE
01449 !
01450 !-----------------------------------------------------------------------
01451 !
01452       INTERFACE
01453         SUBROUTINE ISITOK
01454      &(H,NPH,U,NPU,V,NPV,NTRAC,T,NPT,X,Y,BORNES,ARRET)
01455       USE BIEF_DEF
01456       IMPLICIT NONE
01457       INTEGER, INTENT(IN)          :: NPH,NPU,NPV,NPT,NTRAC
01458       LOGICAL, INTENT(INOUT)       :: ARRET
01459       DOUBLE PRECISION, INTENT(IN) :: H(NPH),U(NPU),V(NPV)
01460       DOUBLE PRECISION, INTENT(IN) :: X(*),Y(*),BORNES(8)
01461       TYPE(BIEF_OBJ)  , INTENT(IN) :: T
01462         END SUBROUTINE
01463       END INTERFACE
01464 !
01465 !-----------------------------------------------------------------------
01466 !
01467       INTERFACE
01468         SUBROUTINE KEPSCL
01469      &(KBOR,EBOR,AUBOR,CF,CFBOR,DISBOR,
01470      & UN,VN,HN,LIMKEP,LIUBOR,LIMPRO,NBOR,NPTFR,
01471      & KARMAN,CMU,C2,ESTAR,SCHMIT,LISRUG,PROPNU,KMIN,EMIN,
01472      & KNEU,KDIR,KENT,KENTU,KADH,KLOG,UETUTA)
01473       IMPLICIT NONE
01474       INTEGER, INTENT(IN) :: NPTFR,LISRUG
01475       INTEGER, INTENT(IN) :: KNEU,KDIR,KENT,KADH,KLOG,KENTU
01476       INTEGER, INTENT(IN) :: LIMPRO(NPTFR,6),NBOR(NPTFR)
01477       INTEGER, INTENT(IN) :: LIMKEP(NPTFR,2),LIUBOR(NPTFR)
01478       DOUBLE PRECISION, INTENT(IN)    :: KMIN,EMIN
01479       DOUBLE PRECISION, INTENT(IN)    :: CF(*),CFBOR(*),UETUTA(*)
01480       DOUBLE PRECISION, INTENT(IN)    :: UN(*),VN(*),HN(*),DISBOR(*)
01481       DOUBLE PRECISION, INTENT(INOUT) :: KBOR(*),EBOR(*),AUBOR(*)
01482       DOUBLE PRECISION, INTENT(IN) :: KARMAN,CMU,C2,ESTAR,SCHMIT,PROPNU
01483         END SUBROUTINE
01484       END INTERFACE
01485 !
01486 !-----------------------------------------------------------------------
01487 !
01488       INTERFACE
01489         SUBROUTINE KEPSIL
01490      &(AK,EP,AKTILD,EPTILD,AKN,EPN,VISC,CF,U,V,HN,UCONV,VCONV,
01491      & KBOR,EBOR,LIMKEP,IELMK,IELME,
01492      & SMK,SME,TM1,MAK,MAE,CM2,TE1,TE2,NPTFR,DT,
01493      & MESH,T1,T2,T3,TB,CMU,C1,C2,SIGMAK,SIGMAE,ESTAR,SCHMIT,
01494      & KMIN,KMAX,EMIN,EMAX,
01495      & INFOKE,KDIR,MSK,MASKEL,MASKPT,S,SLVK,SLVEP,ICONV,OPTSUP)
01496       USE BIEF_DEF
01497       IMPLICIT NONE
01498       TYPE(SLVCFG), INTENT(INOUT)  :: SLVK,SLVEP
01499       INTEGER, INTENT(IN)          :: ICONV,NPTFR,KDIR,LIMKEP(NPTFR,2)
01500       INTEGER, INTENT(IN)          :: OPTSUP,IELMK,IELME
01501       LOGICAL, INTENT(IN)          :: INFOKE,MSK
01502       DOUBLE PRECISION, INTENT(IN) :: KMIN,KMAX,EMIN,EMAX,SCHMIT
01503       DOUBLE PRECISION, INTENT(IN) :: CMU,C1,C2,SIGMAK,SIGMAE,ESTAR
01504       DOUBLE PRECISION, INTENT(IN) :: DT
01505       TYPE(BIEF_OBJ), INTENT(INOUT) :: TM1,MAK,MAE,CM2
01506       TYPE(BIEF_OBJ), INTENT(IN)    :: UCONV,VCONV,AKN,EPN,AKTILD,EPTILD
01507       TYPE(BIEF_OBJ), INTENT(IN)    :: HN,VISC,U,V,MASKEL,S,MASKPT,CF
01508       TYPE(BIEF_OBJ), INTENT(IN)    :: KBOR,EBOR
01509       TYPE(BIEF_OBJ), INTENT(INOUT) :: T1,T2,T3,AK,EP,SMK,SME,TE1,TE2
01510       TYPE(BIEF_MESH) :: MESH
01511       TYPE(BIEF_OBJ) :: TB
01512         END SUBROUTINE
01513       END INTERFACE
01514 !
01515 !-----------------------------------------------------------------------
01516 !
01517       INTERFACE
01518         SUBROUTINE KEPSIN
01519      &(LIMKEP,LIUBOR,NPTFR,
01520      & KENT,KENTU,KSORT,KADH,KLOG,KINC,KNEU,KDIR)
01521       IMPLICIT NONE
01522       INTEGER, INTENT(IN)    :: NPTFR,KENT,KSORT,KADH,KLOG
01523       INTEGER, INTENT(IN)    :: KINC,KNEU,KDIR,KENTU
01524       INTEGER, INTENT(INOUT) :: LIMKEP(NPTFR,2)
01525       INTEGER, INTENT(IN)    :: LIUBOR(NPTFR)
01526         END SUBROUTINE
01527       END INTERFACE
01528 !
01529 !-----------------------------------------------------------------------
01530 !
01531       INTERFACE
01532         SUBROUTINE LAGRAN(NLAG,DEBLAG,FINLAG)
01533       IMPLICIT NONE
01534       INTEGER, INTENT(IN)    :: NLAG
01535       INTEGER, INTENT(INOUT) :: DEBLAG(NLAG) , FINLAG(NLAG)
01536         END SUBROUTINE
01537       END INTERFACE
01538 !
01539 !-----------------------------------------------------------------------
01540 !
01541       INTERFACE
01542         SUBROUTINE LECBREACH
01543      &(IFIC)
01544       IMPLICIT NONE
01545       INTEGER, INTENT(IN)    :: IFIC
01546         END SUBROUTINE
01547       END INTERFACE
01548 !
01549 !-----------------------------------------------------------------------
01550 !
01551       INTERFACE
01552         SUBROUTINE LECBUS
01553      & (RELAXB,NBUSE,ENTBUS,SORBUS,LRGBUS,HAUBUS,CLPBUS,
01554      &  ALTBUS,CSBUS,CEBUS,ANGBUS,LBUS,IFIC,MESH)
01555       USE BIEF_DEF
01556       IMPLICIT NONE
01557       INTEGER          , INTENT(IN)    :: IFIC,NBUSE
01558       INTEGER          , INTENT(INOUT) :: ENTBUS(NBUSE),SORBUS(NBUSE)
01559       DOUBLE PRECISION , INTENT(INOUT) :: RELAXB
01560       DOUBLE PRECISION , INTENT(INOUT) :: HAUBUS(NBUSE),LRGBUS(NBUSE)
01561       DOUBLE PRECISION , INTENT(INOUT) :: ALTBUS(NBUSE,2)
01562       DOUBLE PRECISION , INTENT(INOUT) :: ANGBUS(NBUSE,2)
01563       DOUBLE PRECISION , INTENT(INOUT) :: CEBUS(NBUSE,2),CSBUS(NBUSE,2)
01564       DOUBLE PRECISION , INTENT(INOUT) :: LBUS(NBUSE)
01565       INTEGER          , INTENT(INOUT) :: CLPBUS(NBUSE)
01566       TYPE(BIEF_MESH)  , INTENT(IN)    :: MESH
01567         END SUBROUTINE
01568       END INTERFACE
01569 !
01570 !-----------------------------------------------------------------------
01571 !
01572       INTERFACE
01573         SUBROUTINE LECDON_TELEMAC2D(MOTCAR,WMOTCAR,FILE_DESC,WFILE_DESC,
01574      &                              PATH,NCAR)
01575       USE DECLARATIONS_TELEMAC2D
01576       IMPLICIT NONE
01577       INTEGER, INTENT(IN)               :: NCAR
01578       CHARACTER(LEN=250), INTENT(IN)    :: PATH
01579       CHARACTER(LEN=144), INTENT(INOUT) :: FILE_DESC(4,MAXKEY)
01580       CHARACTER(LEN=144), INTENT(INOUT) :: MOTCAR(MAXKEY)
01581       CHARACTER(LEN=144), INTENT(INOUT) :: WFILE_DESC(4,MAXKEY)
01582       CHARACTER(LEN=144), INTENT(INOUT) :: WMOTCAR(MAXKEY)
01583         END SUBROUTINE
01584       END INTERFACE
01585 !
01586 !-----------------------------------------------------------------------
01587 !
01588       INTERFACE
01589         SUBROUTINE LECSIP
01590      & (RELAXS,NSIPH,ENTSIP,SORSIP,SECSIP,
01591      &  ALTSIP,CSSIP,CESIP,DELSIP,ANGSIP,LSIP,IFIC,MESH)
01592       USE BIEF_DEF
01593       IMPLICIT NONE
01594       INTEGER          , INTENT(IN)    :: IFIC,NSIPH
01595       INTEGER          , INTENT(INOUT) :: ENTSIP(NSIPH),SORSIP(NSIPH)
01596       DOUBLE PRECISION , INTENT(INOUT) :: RELAXS
01597       DOUBLE PRECISION , INTENT(INOUT) :: SECSIP(NSIPH),ALTSIP(NSIPH,2)
01598       DOUBLE PRECISION , INTENT(INOUT) :: DELSIP(NSIPH,2)
01599       DOUBLE PRECISION , INTENT(INOUT) :: ANGSIP(NSIPH,2)
01600       DOUBLE PRECISION , INTENT(INOUT) :: CESIP(NSIPH,2),CSSIP(NSIPH,2)
01601       DOUBLE PRECISION , INTENT(INOUT) :: LSIP(NSIPH)
01602       TYPE(BIEF_MESH)  , INTENT(IN)    :: MESH
01603         END SUBROUTINE
01604       END INTERFACE
01605 !
01606 !-----------------------------------------------------------------------
01607 !
01608       INTERFACE
01609         SUBROUTINE LECSNG
01610      &(IOPTAN,IFIC)
01611       USE BIEF_DEF
01612       USE DECLARATIONS_TELEMAC2D
01613       IMPLICIT NONE
01614       INTEGER, INTENT(IN)    :: IFIC
01615       INTEGER, INTENT(INOUT) :: IOPTAN
01616         END SUBROUTINE
01617       END INTERFACE
01618 !
01619 !-----------------------------------------------------------------------
01620 !
01621       INTERFACE
01622         DOUBLE PRECISION FUNCTION LIMITER(ILIM,R,C)
01623         IMPLICIT NONE
01624       INTEGER, INTENT(IN) :: ILIM
01625       DOUBLE PRECISION, INTENT(IN) :: R,C
01626         END FUNCTION
01627       END INTERFACE
01628 !
01629 !-----------------------------------------------------------------------
01630 !
01631       INTERFACE
01632         SUBROUTINE LOIDEN(YAM,YS,PHI,DEB,G)
01633       IMPLICIT NONE
01634       DOUBLE PRECISION, INTENT(INOUT) :: DEB
01635       DOUBLE PRECISION, INTENT(IN)    :: G,YAM,PHI,YS
01636         END SUBROUTINE
01637       END INTERFACE
01638 !
01639 !-----------------------------------------------------------------------
01640 !
01641       INTERFACE
01642         SUBROUTINE LOINOY(YAM,YAV,YS,PHI,DEB,G)
01643       IMPLICIT NONE
01644       DOUBLE PRECISION, INTENT(INOUT) :: DEB
01645       DOUBLE PRECISION, INTENT(IN)    :: G,YAM,YAV,PHI,YS
01646         END SUBROUTINE
01647       END INTERFACE
01648 !
01649 !-----------------------------------------------------------------------
01650 !
01651       INTERFACE
01652         SUBROUTINE LOI_W_INC
01653      &(YAM,YAV,YS1,YS2,WIDTH,PHI,DEB,G)
01654       IMPLICIT NONE
01655       DOUBLE PRECISION, INTENT(INOUT) :: DEB
01656       DOUBLE PRECISION, INTENT(IN)    :: G,YAM,YAV,PHI,YS1,YS2,WIDTH
01657         END SUBROUTINE
01658       END INTERFACE
01659 !
01660 !-----------------------------------------------------------------------
01661 !
01662       INTERFACE
01663         SUBROUTINE MAJTRAC
01664      &(NS,NT,DIMT,DLIMT,NSEG,NPTFR,NUBO,
01665      & X,Y,AIRS,NU,AIRE,HT,HTN,TN,ZF,NBOR,
01666      & TBOR,FLUTENT,FLUTSOR,SMTR,NORDRE,CMI,JMI,
01667      & DJXT,DJYT,DXT,DYT,DPX,DPY,DIFT,CVIST,BETA,DSZ,AIRST,HSTOK,
01668      & HCSTOK,FLUXT,FLUHBOR,MASSOU,DTT,MESH,ELTSEG,IFABOR,VNOCL)
01669       USE BIEF_DEF
01670       IMPLICIT NONE
01671       LOGICAL, INTENT(IN) :: DIFT
01672       INTEGER, INTENT(IN) :: NSEG,NPTFR,NORDRE,DIMT,DLIMT,NS,NT
01673       INTEGER, INTENT(IN) :: NUBO(2,NSEG),NU(NT,3)
01674       INTEGER, INTENT(IN) :: NBOR(NPTFR),JMI(*)
01675       INTEGER, INTENT(IN)             :: ELTSEG(NT,3)
01676       INTEGER, INTENT(IN)             :: IFABOR(NT,3)
01677       DOUBLE PRECISION, INTENT(INOUT) :: HT(DIMT),FLUTENT,FLUTSOR
01678       DOUBLE PRECISION, INTENT(INOUT) :: MASSOU
01679       DOUBLE PRECISION, INTENT(IN)    :: TBOR(DLIMT),DSZ(2,*)
01680       DOUBLE PRECISION, INTENT(IN)    :: X(NS),Y(NS),AIRS(NS),AIRE(NT)
01681       DOUBLE PRECISION, INTENT(IN)    :: HTN(DIMT),TN(DIMT),ZF(*)
01682       DOUBLE PRECISION, INTENT(IN)    :: SMTR(DIMT),DPX(3,NT),DPY(3,NT)
01683       DOUBLE PRECISION, INTENT(IN)    :: CMI(NSEG,2),AIRST(2,*),CVIST
01684       DOUBLE PRECISION, INTENT(INOUT) :: DJXT(*),DJYT(*),DXT(*),DYT(*)
01685       DOUBLE PRECISION, INTENT(INOUT) :: BETA
01686       DOUBLE PRECISION, INTENT(IN)    :: HSTOK(*),VNOCL(3,NSEG)
01687       DOUBLE PRECISION, INTENT(IN)    :: HCSTOK(2,*),FLUXT(*)
01688       DOUBLE PRECISION, INTENT(IN)    :: FLUHBOR(*),DTT
01689       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH
01690 !
01691         END SUBROUTINE
01692       END INTERFACE
01693 !
01694 !-----------------------------------------------------------------------
01695 !
01696       INTERFACE
01697         SUBROUTINE MAJ
01698      &(NS,NSEG,NPTFR,G,DT,AIRS,
01699      & H,QU,QV,UA,CE,NBOR,LIMPRO,XNEBOR,YNEBOR,KNEU,SMH,KFROT,CF)
01700       IMPLICIT NONE
01701       INTEGER, INTENT(IN) :: NS,NSEG,NPTFR,KNEU,KFROT
01702       INTEGER, INTENT(IN) :: NBOR(NPTFR),LIMPRO(NPTFR,6)
01703       DOUBLE PRECISION, INTENT(IN) :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
01704       DOUBLE PRECISION, INTENT(IN) :: H(NS),QU(NS),QV(NS),SMH(NS)
01705       DOUBLE PRECISION, INTENT(IN) :: CE(3,NS),CF(NS),AIRS(NS)
01706       DOUBLE PRECISION, INTENT(IN) :: G,DT
01707       DOUBLE PRECISION, INTENT(INOUT) :: UA(3,NS)
01708         END SUBROUTINE
01709       END INTERFACE
01710 !
01711 !-----------------------------------------------------------------------
01712 !
01713       INTERFACE
01714         SUBROUTINE MAJZZ
01715      &(W,FLUX,FLUX_OLD,AIRS,DT,NPOIN,CF,KFROT,SMH,
01716      & HN,QU,QV,LT,GAMMA,NPTFR,NBOR,LIMPRO,XNEBOR,YNEBOR,KNEU,G)
01717       IMPLICIT NONE
01718       INTEGER, INTENT(IN)             :: NPOIN,KFROT,LT,NPTFR,KNEU
01719       INTEGER, INTENT(IN)             :: NBOR(NPTFR),LIMPRO(NPTFR,6)
01720       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
01721       DOUBLE PRECISION, INTENT(INOUT) :: W(3,NPOIN)
01722       DOUBLE PRECISION, INTENT(IN)    :: FLUX(NPOIN,3),DT
01723       DOUBLE PRECISION, INTENT(IN)    :: FLUX_OLD(NPOIN,3),GAMMA
01724       DOUBLE PRECISION, INTENT(IN)    :: AIRS(NPOIN)
01725       DOUBLE PRECISION, INTENT(IN)    :: CF(NPOIN),SMH(NPOIN)
01726       DOUBLE PRECISION, INTENT(IN)    :: HN(NPOIN),QU(NPOIN),QV(NPOIN)
01727       DOUBLE PRECISION, INTENT(IN)    :: G
01728         END SUBROUTINE
01729       END INTERFACE
01730 !
01731 !-----------------------------------------------------------------------
01732 !
01733       INTERFACE
01734         SUBROUTINE MARAST
01735      &(MARDAT,MARTIM,PHI0,NPOIN,AT,FU1,FV1,X,SINLAT,COSLAT,GRAV)
01736       IMPLICIT NONE
01737       INTEGER, INTENT(IN) :: MARDAT(3),MARTIM(3),NPOIN
01738       DOUBLE PRECISION, INTENT(INOUT) :: FU1(NPOIN),FV1(NPOIN)
01739       DOUBLE PRECISION, INTENT(IN) :: COSLAT(NPOIN),SINLAT(NPOIN)
01740       DOUBLE PRECISION, INTENT(IN) :: X(NPOIN),GRAV,AT,PHI0
01741         END SUBROUTINE
01742       END INTERFACE
01743 !
01744 !-----------------------------------------------------------------------
01745 !
01746       INTERFACE
01747         SUBROUTINE MASBAS2D
01748      &(VOLU2D,V2DPAR,UNSV2D,IELM,MESH,MSK,MASKEL,T1,S)
01749       USE BIEF_DEF
01750       IMPLICIT NONE
01751       INTEGER, INTENT(IN)            :: IELM
01752       LOGICAL, INTENT(IN)            :: MSK
01753       TYPE(BIEF_OBJ) , INTENT(INOUT) :: VOLU2D,V2DPAR,UNSV2D,T1
01754       TYPE(BIEF_OBJ) , INTENT(IN)    :: MASKEL,S
01755       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH
01756         END SUBROUTINE
01757       END INTERFACE
01758 !
01759 !-----------------------------------------------------------------------
01760 !
01761       INTERFACE
01762         SUBROUTINE MASKOB(MASKEL,X,Y,IKLE,NELEM,NELMAX,NPOIN,AT,LT)
01763       IMPLICIT NONE
01764       INTEGER, INTENT(IN) :: NELEM,NPOIN,NELMAX,LT
01765       INTEGER, INTENT(IN) :: IKLE(NELMAX,*)
01766       DOUBLE PRECISION, INTENT(INOUT) :: MASKEL(NELEM)
01767       DOUBLE PRECISION, INTENT(IN) :: X(NPOIN),Y(NPOIN),AT
01768         END SUBROUTINE
01769       END INTERFACE
01770 !
01771 !-----------------------------------------------------------------------
01772 !
01773       INTERFACE
01774         SUBROUTINE MATBOU
01775      &(MESH,M1,M2,A11,A12,A21,A22,SMU,SMV,VR,VS,H0,MSK,MASKEL,S)
01776       USE BIEF_DEF
01777       IMPLICIT NONE
01778       LOGICAL, INTENT(IN) :: MSK
01779       TYPE(BIEF_OBJ), INTENT(INOUT) :: A11,A12,A21,A22,M1,M2
01780       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH
01781       TYPE(BIEF_OBJ), INTENT(INOUT) :: SMU,SMV
01782       TYPE(BIEF_OBJ), INTENT(IN)    :: MASKEL,H0,S,VR,VS
01783         END SUBROUTINE
01784       END INTERFACE
01785 !
01786 !-----------------------------------------------------------------------
01787 !
01788       INTERFACE
01789         SUBROUTINE MESURES(ITER,TT)
01790       USE BIEF_DEF
01791       IMPLICIT NONE
01792       INTEGER, INTENT(IN) :: ITER
01793       DOUBLE PRECISION, INTENT(IN) :: TT
01794         END SUBROUTINE
01795       END INTERFACE
01796 !
01797 !-----------------------------------------------------------------------
01798 !
01799       INTERFACE
01800         SUBROUTINE METEO
01801      &(PATMOS,WINDX,WINDY,FUAIR,FVAIR,X,Y,AT,LT,NPOIN,VENT,ATMOS,
01802      & HN,TRA01,GRAV,ROEAU,NORD,PRIVE,FO1,FILES,LISTIN,
01803      & WATQUA,PLUIE,ATMOSEXCH)
01804       USE BIEF_DEF
01805       IMPLICIT NONE
01806       INTEGER, INTENT(IN)             :: LT,NPOIN,FO1
01807       LOGICAL, INTENT(IN)             :: ATMOS,VENT,LISTIN
01808       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN),Y(NPOIN),HN(NPOIN)
01809       DOUBLE PRECISION, INTENT(INOUT) :: WINDX(NPOIN),WINDY(NPOIN)
01810       DOUBLE PRECISION, INTENT(INOUT) :: PATMOS(NPOIN),TRA01(NPOIN)
01811       DOUBLE PRECISION, INTENT(IN)    :: FUAIR,FVAIR,AT,GRAV,ROEAU,NORD
01812       TYPE(BIEF_OBJ), INTENT(INOUT)   :: PRIVE
01813       TYPE(BIEF_FILE), INTENT(IN)     :: FILES(*)
01814 !     OPTIONAL
01815       LOGICAL, INTENT(IN)          ,OPTIONAL :: WATQUA
01816       TYPE(BIEF_OBJ), INTENT(INOUT),OPTIONAL :: PLUIE
01817       INTEGER, INTENT(IN)          ,OPTIONAL :: ATMOSEXCH
01818         END SUBROUTINE
01819       END INTERFACE
01820 !
01821 !-----------------------------------------------------------------------
01822 !
01823       INTERFACE
01824         SUBROUTINE METGRA
01825      &(RO,ESTIME,GRADJ,GRADJN,JCOUT1,DESC,NPARAM,OPTID,RSTART,R02,R03)
01826       USE BIEF_DEF
01827       IMPLICIT NONE
01828       INTEGER , INTENT(IN)             :: NPARAM,OPTID
01829       CHARACTER(LEN=72)                :: ESTIME
01830       DOUBLE PRECISION , INTENT(IN)    :: JCOUT1
01831       LOGICAL , INTENT(IN)             :: RSTART
01832       TYPE(BIEF_OBJ) , INTENT(IN)      :: GRADJ,GRADJN
01833       TYPE(BIEF_OBJ) , INTENT(INOUT)   :: DESC
01834       DOUBLE PRECISION , INTENT(INOUT) :: R02,R03,RO
01835         END SUBROUTINE
01836       END INTERFACE
01837 !
01838 !-----------------------------------------------------------------------
01839 !
01840       INTERFACE
01841         SUBROUTINE NAMETRAC_WAQ
01842      &  (NAMETRAC,WAQ,SECCURRENT,WAQPROCESS,NTRAC,IND_SEC)
01843       IMPLICIT NONE
01844       CHARACTER(LEN=32), INTENT(INOUT)::  NAMETRAC(*)
01845       INTEGER, INTENT(IN)             ::  WAQPROCESS,NTRAC,IND_SEC
01846       LOGICAL, INTENT(IN)             ::  WAQ,SECCURRENT
01847 !
01848         END SUBROUTINE
01849       END INTERFACE
01850 !
01851 !-----------------------------------------------------------------------
01852 !
01853       INTERFACE
01854         SUBROUTINE NEWSTR
01855      &(SETSTR,SETSTR2,DESC,RO,RSTART,NPARAM,ESTIME,KFROT)
01856       USE BIEF_DEF
01857       IMPLICIT NONE
01858       DOUBLE PRECISION , INTENT(IN)    :: RO
01859       TYPE (BIEF_OBJ)  , INTENT(IN)    :: DESC
01860       TYPE (BIEF_OBJ)  , INTENT(IN)    :: SETSTR2
01861       TYPE (BIEF_OBJ)  , INTENT(INOUT) :: SETSTR
01862       LOGICAL          , INTENT(INOUT) :: RSTART
01863       INTEGER          , INTENT(IN)    :: NPARAM,KFROT
01864       CHARACTER(LEN=72), INTENT(IN)    :: ESTIME
01865         END SUBROUTINE
01866       END INTERFACE
01867 !
01868 !-----------------------------------------------------------------------
01869 !
01870       INTERFACE
01871         SUBROUTINE NODALF_PUGH
01872      &(FFMN2,FFM4,NODALCORR,TEMPS,DEJA,MARDAT,MARTIM)
01873       IMPLICIT NONE
01874       INTEGER, INTENT(IN)           :: NODALCORR,MARDAT(3),MARTIM(3)
01875       DOUBLE PRECISION, INTENT(OUT) :: FFMN2,FFM4
01876       DOUBLE PRECISION, INTENT(IN)  :: TEMPS
01877       LOGICAL, INTENT(IN)           :: DEJA
01878         END SUBROUTINE
01879       END INTERFACE
01880 !
01881 !-----------------------------------------------------------------------
01882 !
01883       INTERFACE
01884         SUBROUTINE NODALF_SCHUREMAN
01885      &(FWAVE,NODALCORR,TEMPS,DEJA,MARDAT,MARTIM)
01886       IMPLICIT NONE
01887       INTEGER, INTENT(IN)           :: NODALCORR,MARDAT(3),MARTIM(3)
01888       DOUBLE PRECISION, INTENT(OUT) :: FWAVE(*)
01889       DOUBLE PRECISION, INTENT(IN)  :: TEMPS
01890       LOGICAL, INTENT(IN)           :: DEJA
01891         END SUBROUTINE
01892       END INTERFACE
01893 !
01894 !-----------------------------------------------------------------------
01895 !
01896       INTERFACE
01897         SUBROUTINE NODALUPV_PUGH(UPVM2,UPVN2,UPVS2,MARDAT,MARTIM)
01898       IMPLICIT NONE
01899       INTEGER, INTENT(IN)           :: MARDAT(3),MARTIM(3)
01900       DOUBLE PRECISION, INTENT(OUT) :: UPVM2,UPVN2,UPVS2
01901         END SUBROUTINE
01902       END INTERFACE
01903 !
01904 !-----------------------------------------------------------------------
01905 !
01906       INTERFACE
01907         SUBROUTINE NODALUPV_SCHUREMAN(UPVWAVE,WWAVE,MARDAT,MARTIM)
01908       IMPLICIT NONE
01909       INTEGER, INTENT(IN)           :: MARDAT(3),MARTIM(3)
01910       DOUBLE PRECISION, INTENT(OUT) :: UPVWAVE(*),WWAVE(*)
01911         END SUBROUTINE
01912       END INTERFACE
01913 !
01914 !-----------------------------------------------------------------------
01915 !
01916       INTERFACE
01917         SUBROUTINE NOMVAR_TELEMAC2D(TEXTE,TEXTPR,MNEMO,NPERIAF,NTRAC,
01918      &   NAMETRAC)
01919       IMPLICIT NONE
01920       CHARACTER(LEN=32), INTENT(INOUT) :: TEXTE(*),TEXTPR(*)
01921       CHARACTER(LEN=8),  INTENT(INOUT) :: MNEMO(*)
01922       INTEGER, INTENT(IN)              :: NPERIAF,NTRAC
01923       CHARACTER(LEN=32), INTENT(IN)    :: NAMETRAC(32)
01924         END SUBROUTINE
01925       END INTERFACE
01926 !
01927 !-----------------------------------------------------------------------
01928 !
01929       INTERFACE
01930         SUBROUTINE OIL_FLOT
01931      &(PARTICULES,NFLOT,NFLOT_MAX,MESH,LT,VOLDEV,RHO_OIL,
01932      &NB_COMPO,NB_HAP,FMCOMPO,TBCOMPO,FMHAP,TBHAP,SOLU,ETAL,AREA)
01933       USE BIEF_DEF
01934       IMPLICIT NONE
01935       INTEGER, INTENT(IN)             :: NFLOT_MAX,LT
01936       INTEGER, INTENT(IN)             :: NB_COMPO,NB_HAP
01937       INTEGER, INTENT(IN)             :: ETAL
01938       INTEGER, INTENT(INOUT)          :: NFLOT
01939       DOUBLE PRECISION, INTENT(IN)    :: VOLDEV,RHO_OIL,AREA
01940       DOUBLE PRECISION, INTENT(IN)    :: FMCOMPO(NB_COMPO)
01941       DOUBLE PRECISION, INTENT(IN)    :: TBCOMPO(NB_COMPO)
01942       DOUBLE PRECISION, INTENT(IN)    :: FMHAP(NB_HAP)
01943       DOUBLE PRECISION, INTENT(IN)    :: TBHAP(NB_HAP)
01944       DOUBLE PRECISION, INTENT(IN)    :: SOLU(NB_HAP)
01945       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH
01946       TYPE(OIL_PART), INTENT(INOUT)   :: PARTICULES(NFLOT_MAX)
01947         END SUBROUTINE
01948       END INTERFACE
01949 !
01950 !-----------------------------------------------------------------------
01951 !
01952       INTERFACE
01953         SUBROUTINE OUTPUT_TELEMAC2D(TIME)
01954         IMPLICIT NONE
01955         DOUBLE PRECISION, INTENT(IN) :: TIME
01956         END SUBROUTINE
01957       END INTERFACE
01958 !
01959 !-----------------------------------------------------------------------
01960 !
01961       INTERFACE
01962         SUBROUTINE PORO11(TETA,ZF,HN,IKLE,NELEM,NELMAX)
01963       IMPLICIT NONE
01964       INTEGER, INTENT(IN)             :: NELEM,NELMAX
01965       INTEGER, INTENT(IN)             :: IKLE(NELMAX,*)
01966       DOUBLE PRECISION, INTENT(IN)    :: ZF(*),HN(*)
01967       DOUBLE PRECISION, INTENT(INOUT) :: TETA(*)
01968         END SUBROUTINE
01969       END INTERFACE
01970 !
01971 !-----------------------------------------------------------------------
01972 !
01973       INTERFACE
01974         SUBROUTINE POROS(TETA,ZF,HN,MESH)
01975       USE BIEF_DEF
01976       IMPLICIT NONE
01977       TYPE(BIEF_OBJ), INTENT(IN)    :: ZF,HN
01978       TYPE(BIEF_OBJ), INTENT(INOUT) :: TETA
01979       TYPE(BIEF_MESH), INTENT(IN)   :: MESH
01980         END SUBROUTINE
01981       END INTERFACE
01982 !
01983 !-----------------------------------------------------------------------
01984 !
01985       INTERFACE
01986         SUBROUTINE PREBOR
01987      &(HBOR,UBOR,VBOR,TBOR,U,V,H,HN,T,NBOR,NPOIN,NPTFR,NTRAC,NFRLIQ,
01988      & FRTYPE,NUMLIQ)
01989       USE BIEF_DEF
01990       IMPLICIT NONE
01991       INTEGER, INTENT(IN)             :: NPOIN,NPTFR,NFRLIQ,NTRAC
01992       INTEGER, INTENT(IN)             :: NBOR(NPTFR)
01993       INTEGER, INTENT(IN)             :: NUMLIQ(NPTFR),FRTYPE(NFRLIQ)
01994       DOUBLE PRECISION, INTENT(IN)    :: U(NPOIN),V(NPOIN),H(NPOIN)
01995       DOUBLE PRECISION, INTENT(INOUT) :: HBOR(NPTFR),UBOR(NPTFR)
01996       DOUBLE PRECISION, INTENT(INOUT) :: VBOR(NPTFR)
01997       DOUBLE PRECISION, INTENT(INOUT) :: HN(NPOIN)
01998       TYPE(BIEF_OBJ)  , INTENT(IN)    :: T
01999       TYPE(BIEF_OBJ)  , INTENT(INOUT) :: TBOR
02000         END SUBROUTINE
02001       END INTERFACE
02002 !
02003 !-----------------------------------------------------------------------
02004 !
02005       INTERFACE
02006         SUBROUTINE PROSOU
02007      &(FU,FV,SMH,    UN,VN,HN,GRAV,NORD,
02008      & FAIR,WINDX,WINDY,VENT,HWIND,CORIOL,FCOR,
02009      & SPHERI,YASMH,COSLAT,SINLAT,AT,LT,DT,
02010      & NREJET,NREJEU,DSCE,ISCE,T1,MESH,MSK,MASKEL,
02011      & MAREE,MARDAT,MARTIM,PHI0,OPTSOU,
02012      & COUROU,NPTH,VARCL,NVARCL,VARCLA,UNSV2D,
02013      & FXWAVE,FYWAVE,RAIN,RAIN_MMPD,PLUIE,
02014      & T2D_FILES,T2DBI1,BANDEC,OPTBAN,
02015      & NSIPH,ENTSIP,SORSIP,DSIP,USIP,VSIP,
02016      & NBUSE,ENTBUS,SORBUS,DBUS,UBUS,VBUS,
02017      & TYPSEUIL,NWEIRS,
02018      & NPSING,NDGA1,NDGB1,NBOR)
02019       USE BIEF_DEF
02020       IMPLICIT NONE
02021       TYPE(BIEF_OBJ)   , INTENT(INOUT) :: T1
02022       TYPE(BIEF_OBJ)   , INTENT(INOUT) :: FU,FV,SMH,FXWAVE,FYWAVE
02023       TYPE(BIEF_OBJ)   , INTENT(IN)    :: MASKEL,UN,VN,HN,UNSV2D
02024       TYPE(BIEF_OBJ)   , INTENT(IN)    :: WINDX,WINDY,COSLAT,SINLAT
02025       TYPE(BIEF_MESH)  , INTENT(INOUT) :: MESH
02026       INTEGER          , INTENT(IN)    :: NVARCL,LT,NREJET,NREJEU,OPTSOU
02027       INTEGER          , INTENT(IN)    :: NPTH,T2DBI1,OPTBAN
02028       INTEGER          , INTENT(IN)    :: MARDAT(3),MARTIM(3)
02029       INTEGER          , INTENT(IN)    :: ISCE(NREJET)
02030       DOUBLE PRECISION , INTENT(IN)    :: HWIND,AT,FAIR,FCOR
02031       DOUBLE PRECISION , INTENT(IN)    :: DSCE(NREJET)
02032       DOUBLE PRECISION , INTENT(IN)    :: GRAV,NORD,PHI0,RAIN_MMPD,DT
02033       CHARACTER(LEN=32), INTENT(IN)    :: VARCLA(NVARCL)
02034       LOGICAL          , INTENT(IN)    :: VENT,MAREE,CORIOL,SPHERI,MSK
02035       LOGICAL          , INTENT(IN)    :: COUROU,RAIN,BANDEC
02036       LOGICAL          , INTENT(INOUT) :: YASMH
02037       TYPE(BIEF_OBJ)   , INTENT(INOUT) :: VARCL,PLUIE
02038       TYPE(BIEF_FILE)  , INTENT(IN)    :: T2D_FILES(*)
02039       INTEGER          , INTENT(IN)    :: NSIPH
02040       INTEGER          , INTENT(IN)    :: ENTSIP(NSIPH),SORSIP(NSIPH)
02041       DOUBLE PRECISION , INTENT(IN)    :: DSIP(NSIPH)
02042       DOUBLE PRECISION , INTENT(IN)    :: USIP(NSIPH,2),VSIP(NSIPH,2)
02043       INTEGER          , INTENT(IN)    :: NBUSE
02044       INTEGER          , INTENT(IN)    :: ENTBUS(NBUSE),SORBUS(NBUSE)
02045       DOUBLE PRECISION , INTENT(IN)    :: DBUS(NBUSE)
02046       DOUBLE PRECISION , INTENT(IN)    :: UBUS(NBUSE,2),VBUS(NBUSE,2)
02047       INTEGER          , INTENT(IN)    :: TYPSEUIL,NWEIRS
02048       TYPE(BIEF_OBJ)   , INTENT(IN)    :: NBOR,NPSING,NDGA1,NDGB1
02049         END SUBROUTINE
02050       END INTERFACE
02051 !
02052 !-----------------------------------------------------------------------
02053 !
02054       INTERFACE
02055         SUBROUTINE PROPAG
02056      &(U,V,H,UCONV,VCONV,CONVV,H0,PATMOS,ATMOS,
02057      & HPROP,UN,VN,HN,UTILD,VTILD,HTILD,DH,DU,DV,DHN,VISC,VISC_S,FU,FV,
02058      & SMH,MESH,ZF,AM1,AM2,AM3,BM1,BM2,CM1,CM2,TM1,A23,A32,MBOR,
02059      & CV1,CV2,CV3,W1,UBOR,VBOR,AUBOR,HBOR,DIRBOR,
02060      & TE1,TE2,TE3,TE4,TE5,T1,T2,T3,T4,T5,T6,T7,T8,
02061      & LIMPRO,MASK,GRAV,ROEAU,CF,DIFVIT,IORDRH,IORDRU,LT,AT,DT,
02062      & TETAH,TETAHC,TETAU,TETAD,
02063      & AGGLOC,AGGLOU,KDIR,INFOGR,KFROT,ICONVF,
02064      & PRIVE,ISOUSI,BILMAS,MASSES,MASS_RAIN,YASMH,OPTBAN,CORCON,
02065      & OPTSUP,MSK,MASKEL,MASKPT,RO,ROVAR,
02066      & MAT,RHS,UNK,TB,S,BD,PRECCU,SOLSYS,CFLMAX,OPDVIT,OPTSOU,
02067      & NFRLIQ,SLVPRO,EQUA,VERTIC,ADJO,ZFLATS,TETAZCOMP,
02068      & UDEL,VDEL,DM1,ZCONV,COUPLING,FLBOR,BM1S,BM2S,CV1S,
02069      & VOLU2D,V2DPAR,UNSV2D,NDGA1,NDGB1,NWEIRS,NPSING,HFROT,FLULIM,
02070      & YAFLULIM,RAIN,PLUIE,MAXADV,OPTADV_VI)
02071       USE BIEF_DEF
02072       IMPLICIT NONE
02073       INTEGER, INTENT(IN) :: LT,OPTSUP(4),KDIR,KFROT,ICONVF(4),NWEIRS
02074       INTEGER, INTENT(IN) :: IORDRH,IORDRU,ISOUSI,OPTBAN,OPTSOU,SOLSYS
02075       INTEGER, INTENT(IN) :: OPDVIT,NFRLIQ,HFROT,MAXADV,OPTADV_VI
02076       DOUBLE PRECISION, INTENT(IN)    :: TETAU,TETAD,TETAH,AGGLOC,AGGLOU
02077       DOUBLE PRECISION, INTENT(IN)    :: TETAHC,AT,DT,GRAV,ROEAU
02078       DOUBLE PRECISION, INTENT(IN)    :: TETAZCOMP
02079       DOUBLE PRECISION, INTENT(INOUT) :: CFLMAX,MASSES,MASS_RAIN
02080       LOGICAL, INTENT(IN) :: BILMAS,ATMOS,DIFVIT,INFOGR,CONVV(4),MSK
02081       LOGICAL, INTENT(IN) :: YASMH,ROVAR,PRECCU,VERTIC,ADJO,CORCON
02082       LOGICAL, INTENT(IN) :: YAFLULIM,RAIN
02083       TYPE(SLVCFG), INTENT(INOUT)    :: SLVPRO
02084       CHARACTER(LEN=20), INTENT(IN)  :: EQUA
02085       CHARACTER(LEN=*) , INTENT(IN)  :: COUPLING
02086       TYPE(BIEF_OBJ), INTENT(IN)     :: NPSING,NDGA1,NDGB1
02087       TYPE(BIEF_OBJ), INTENT(IN)     :: UCONV,VCONV,SMH,UN,VN,HN
02088       TYPE(BIEF_OBJ), INTENT(IN)     :: VOLU2D,V2DPAR,UNSV2D,PLUIE
02089       TYPE(BIEF_OBJ), INTENT(INOUT)  :: RO,FLBOR
02090       TYPE(BIEF_OBJ), INTENT(IN)     :: UTILD,VTILD,PATMOS,CF,FLULIM
02091       TYPE(BIEF_OBJ), INTENT(INOUT)  :: U,V,H,CV1,CV2,CV3,PRIVE,DH,DHN
02092       TYPE(BIEF_OBJ), INTENT(INOUT)  :: CV1S
02093       TYPE(BIEF_OBJ), INTENT(INOUT)  :: DU,DV,FU,FV,VISC,VISC_S,HTILD
02094       TYPE(BIEF_OBJ), INTENT(INOUT)  :: UBOR,VBOR,HBOR,AUBOR,LIMPRO
02095       TYPE(BIEF_OBJ), INTENT(IN)     :: MASKEL,MASKPT,ZF
02096       TYPE(BIEF_OBJ), INTENT(IN)     :: HPROP,H0
02097       TYPE(BIEF_OBJ), INTENT(INOUT)  :: TE1,TE2,TE3,TE4,TE5,ZFLATS
02098       TYPE(BIEF_OBJ), INTENT(INOUT)  :: T1,T2,T3,T4,T5,T6,T7,T8
02099       TYPE(BIEF_OBJ), INTENT(INOUT)  :: W1,UDEL,VDEL,DM1,ZCONV
02100       TYPE(BIEF_OBJ), INTENT(IN)     :: S
02101       TYPE(BIEF_OBJ), INTENT(INOUT)  :: AM1,AM2,AM3,BM1,BM2,CM1,CM2,TM1
02102       TYPE(BIEF_OBJ), INTENT(INOUT)  :: A23,A32,MBOR,BM1S,BM2S
02103       TYPE(BIEF_OBJ), INTENT(INOUT)  :: MASK,MAT,RHS,UNK,TB,BD,DIRBOR
02104       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH
02105         END SUBROUTINE
02106       END INTERFACE
02107 !
02108 !=======================================================================
02109 !
02110       INTERFACE
02111         SUBROUTINE PROPAG_ADJ
02112      &(UCONV,VCONV,CONVV,H0,PATMOS,ATMOS,
02113      & HPROP,UN,VN,HN,UTILD,VTILD,HTILD,DH,DU,DV,DHN,VISC,VISC_S,FU,FV,
02114      & SMH,MESH,ZF,AM1,AM2,AM3,BM1,BM2,CM1,CM2,TM1,A23,A32,MBOR,
02115      & CV1,CV2,CV3,W1,UBOR,VBOR,AUBOR,HBOR,DIRBOR,
02116      & TE1,TE2,TE3,TE4,TE5,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,
02117      & LIMPRO,MASK,GRAV,ROEAU,CF,DIFVIT,IORDRH,IORDRU,LT,AT,DT,
02118      & TETAH,TETAHC,TETAU,TETAD,
02119      & AGGLOC,AGGLOU,KDIR,INFOGR,KFROT,ICONVF,
02120      & PRIVE,ISOUSI,BILMAS,MASSES,YASMH,OPTBAN,CORCON,
02121      & OPTSUP,MSK,MASKEL,MASKPT,RO,ROVAR,
02122      & MAT,RHS,UNK,TB,S,BD,PRECCU,SOLSYS,CFLMAX,OPDVIT,OPTSOU,
02123      & NFRLIQ,SLVPRO,EQUA,VERTIC,
02124      & ADJO,UD,VD,HD,U,V,H,UU,VV,HH,UIT1,VIT1,HIT1,PP,QQ,RR,
02125      & TAM1,TAM2,TAM3,TBM1,TBM2,TCM1,
02126      & TCM2,MATADJ,UNKADJ,ALPHA1,ALPHA2,ALPHA3,ADJDIR,ESTIME,OPTCOST,
02127      & NIT,NVARRES,VARSOR,
02128      & NRES,NREF,ALIRE,TROUVE,MAXVAR,VARCL,VARCLA,
02129      & TEXTE,TEXREF,TEXRES,W,OUTINI,CHESTR,KARMAN,NDEF,
02130      & ITURB,LISRUG,LINDNER,SB,DP,SP,CHBORD,CFBOR,HFROT,UNSV2D)
02131       USE BIEF_DEF
02132       IMPLICIT NONE
02133       INTEGER, INTENT(IN) :: LT,OPTSUP(4),KDIR,KFROT,ICONVF(4)
02134       INTEGER, INTENT(IN) :: IORDRH,IORDRU,ISOUSI,OPTBAN,OPTSOU,SOLSYS
02135       INTEGER, INTENT(IN) :: OPDVIT,NFRLIQ,LISRUG,ITURB,OPTCOST,HFROT
02136       INTEGER, INTENT(IN)    :: NIT,NRES,NREF,MAXVAR
02137       INTEGER, INTENT(INOUT) :: NVARRES,TROUVE(*),ALIRE(*)
02138       LOGICAL, INTENT(IN)    :: BILMAS,ATMOS,DIFVIT,INFOGR,CONVV(4),MSK
02139       LOGICAL, INTENT(IN)    :: YASMH,ROVAR,PRECCU,VERTIC,ADJO,CORCON
02140       LOGICAL, INTENT(IN)    :: OUTINI,LINDNER
02141       DOUBLE PRECISION, INTENT(IN)    :: TETAU,TETAD,TETAH,AGGLOC,AGGLOU
02142       DOUBLE PRECISION, INTENT(IN)    :: TETAHC,AT,DT,GRAV,ROEAU,CFLMAX
02143       DOUBLE PRECISION, INTENT(IN)    :: KARMAN,NDEF,DP,SP
02144       DOUBLE PRECISION, INTENT(INOUT) :: MASSES,SB
02145       TYPE(SLVCFG), INTENT(INOUT)     :: SLVPRO
02146       CHARACTER(LEN=20), INTENT(IN)   :: EQUA
02147       TYPE(BIEF_OBJ), INTENT(IN)      :: UCONV,VCONV,SMH,UN,VN,HN,UNSV2D
02148       TYPE(BIEF_OBJ), INTENT(INOUT)   :: RO
02149       TYPE(BIEF_OBJ), INTENT(IN)      :: UTILD,VTILD,PATMOS,CF
02150       TYPE(BIEF_OBJ), INTENT(INOUT)   :: U,V,H,CV1,CV2,CV3,PRIVE,DH,DHN
02151       TYPE(BIEF_OBJ), INTENT(INOUT)   :: DU,DV,FU,FV,VISC,VISC_S,HTILD
02152       TYPE(BIEF_OBJ), INTENT(INOUT)   :: UBOR,VBOR,HBOR,AUBOR
02153       TYPE(BIEF_OBJ), INTENT(IN)      :: MASKEL,MASKPT,ZF
02154       TYPE(BIEF_OBJ), INTENT(IN)      :: HPROP,H0,LIMPRO
02155       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T1,T2,T3,T4,T5,T6,T7,T8,T9,T10
02156       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T11
02157       TYPE(BIEF_OBJ), INTENT(INOUT)   :: TE1,TE2,TE3,TE4,TE5
02158 !     STRUCTURES OF MATRICES
02159       TYPE(BIEF_OBJ), INTENT(INOUT)   :: TAM1,TAM2,TAM3,TBM1
02160       TYPE(BIEF_OBJ), INTENT(INOUT)   :: TBM2,TCM1,TCM2
02161       TYPE(BIEF_OBJ), INTENT(INOUT)   :: AM1,AM2,AM3,BM1,BM2,CM1,CM2,TM1
02162       TYPE(BIEF_OBJ), INTENT(INOUT)   :: A23,A32,MBOR
02163 !
02164       TYPE(BIEF_OBJ),  INTENT(INOUT)  :: MASK,MAT,RHS,UNK,TB,BD,DIRBOR
02165       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH
02166       TYPE(BIEF_OBJ),  INTENT(INOUT)  :: CHESTR
02167       TYPE (BIEF_OBJ), INTENT(INOUT)  :: HD,UD,VD,ALPHA1,ALPHA2,ALPHA3
02168       TYPE (BIEF_OBJ), INTENT(INOUT)  :: HH,UU,VV,UIT1,VIT1,HIT1
02169       TYPE (BIEF_OBJ), INTENT(INOUT)  :: PP,QQ,RR,CHBORD,CFBOR
02170       TYPE(BIEF_OBJ),  INTENT(INOUT)  :: W1
02171       TYPE(BIEF_OBJ), INTENT(IN)      :: S
02172       REAL,  INTENT(INOUT)            :: W(*)
02173       TYPE(BIEF_OBJ),  INTENT(INOUT)  :: VARSOR
02174       TYPE(BIEF_OBJ),  INTENT(INOUT)  :: MATADJ,UNKADJ,ADJDIR,VARCL
02175       CHARACTER(LEN=72), INTENT(IN)   :: ESTIME
02176       CHARACTER(LEN=32), INTENT(INOUT):: VARCLA(10),TEXTE(*)
02177       CHARACTER(LEN=32), INTENT(INOUT):: TEXREF(*),TEXRES(*)
02178         END SUBROUTINE
02179       END INTERFACE
02180 !
02181 !-----------------------------------------------------------------------
02182 !
02183       INTERFACE
02184         SUBROUTINE PROPIN_TELEMAC2D
02185      &(LIMPRO,LIMDIM,MASK,LIUBOR,LIVBOR,LIHBOR,NBOR,NPTFR,
02186      & KENT,KENTU,KSORT,KADH,KLOG,KNEU,KDIR,KDDL,
02187      & CLH,CLU,CLV,IELMU,U,V,GRAV,H,LT,NPOIN,NELBOR,NELMAX,MSK,MASKEL,
02188      & NFRLIQ,THOMFR,NUMLIQ,FRTYPE,XNEBOR,YNEBOR,IKLBOR,ENTET,
02189      & NELEBX,NELEB)
02190       USE BIEF_DEF
02191       IMPLICIT NONE
02192       INTEGER, INTENT(IN) :: NPOIN,NELMAX,NPTFR,KENTU,LT,NFRLIQ
02193       INTEGER, INTENT(IN) :: KENT,KSORT,KADH,KLOG,KNEU,KDIR,KDDL
02194       INTEGER, INTENT(IN) :: LIMDIM,IELMU,NELEBX,NELEB
02195       INTEGER, INTENT(IN) :: NELBOR(NELEBX),LIVBOR(NPTFR),LIHBOR(NPTFR)
02196       INTEGER, INTENT(IN) :: LIUBOR(NPTFR),FRTYPE(NFRLIQ)
02197       INTEGER, INTENT(IN) :: IKLBOR(NELEBX,*)
02198       INTEGER, INTENT(INOUT) :: LIMPRO(LIMDIM,6)
02199       INTEGER, INTENT(IN)    :: NBOR(NPTFR),NUMLIQ(NPTFR)
02200       INTEGER, INTENT(INOUT) :: CLH(NPTFR),CLU(NPTFR),CLV(NPTFR)
02201       LOGICAL, INTENT(IN)    :: MSK,THOMFR,ENTET
02202       DOUBLE PRECISION, INTENT(IN)   :: XNEBOR(NPTFR),YNEBOR(NPTFR)
02203       DOUBLE PRECISION, INTENT(IN)   :: U(NPOIN),V(NPOIN),H(NPOIN)
02204       DOUBLE PRECISION, INTENT(IN)   :: GRAV,MASKEL(NELMAX)
02205       TYPE(BIEF_OBJ), INTENT(INOUT)  :: MASK
02206         END SUBROUTINE
02207       END INTERFACE
02208 !
02209 !-----------------------------------------------------------------------
02210 !
02211       INTERFACE
02212         DOUBLE PRECISION FUNCTION Q(I)
02213       IMPLICIT NONE
02214       INTEGER         , INTENT(IN) :: I
02215         END FUNCTION
02216       END INTERFACE
02217 !
02218 !-----------------------------------------------------------------------
02219 !
02220       INTERFACE
02221         SUBROUTINE READ_FIC_CURVES
02222      &                           (NFIC,NFRLIQ,STA_DIS_CURVES,PTS_CURVES)
02223       IMPLICIT NONE
02224       INTEGER, INTENT(IN)    :: NFIC,NFRLIQ
02225       INTEGER, INTENT(IN)    :: STA_DIS_CURVES(NFRLIQ)
02226       INTEGER, INTENT(INOUT) :: PTS_CURVES(NFRLIQ)
02227         END SUBROUTINE
02228       END INTERFACE
02229 !
02230 !-----------------------------------------------------------------------
02231 !
02232       INTERFACE
02233         SUBROUTINE READ_FIC_FRLIQ(Q, WHAT , AT , NFIC , LISTIN , STAT )
02234       IMPLICIT NONE
02235       CHARACTER*9     , INTENT(IN)       :: WHAT
02236       DOUBLE PRECISION, INTENT(IN)       :: AT
02237       DOUBLE PRECISION, INTENT(INOUT)    :: Q
02238       INTEGER         , INTENT(IN)       :: NFIC
02239       LOGICAL         , INTENT(IN)       :: LISTIN
02240       LOGICAL         , INTENT(OUT)      :: STAT
02241         END SUBROUTINE
02242       END INTERFACE
02243 !
02244 !-----------------------------------------------------------------------
02245 !
02246       INTERFACE
02247         SUBROUTINE READ_FIC_SOURCES(Q,WHAT,AT,NFIC,LISTIN,STAT)
02248       IMPLICIT NONE
02249       CHARACTER*9     , INTENT(IN)       :: WHAT
02250       DOUBLE PRECISION, INTENT(IN)       :: AT
02251       DOUBLE PRECISION, INTENT(INOUT)    :: Q
02252       INTEGER         , INTENT(IN)       :: NFIC
02253       LOGICAL         , INTENT(IN)       :: LISTIN
02254       LOGICAL         , INTENT(OUT)      :: STAT
02255         END SUBROUTINE
02256       END INTERFACE
02257 !
02258 !-----------------------------------------------------------------------
02259 !
02260       INTERFACE
02261         SUBROUTINE RECEDING
02262      &(H,ZF,HREC,V2DPAR,VOLU2D,IKLE,NPOIN,NELEM,NELMAX,DELTAH,HITS,
02263      & MESH,W1,YAFLODEL,FLODEL,DT)
02264       USE BIEF_DEF
02265       IMPLICIT NONE
02266       INTEGER,          INTENT(IN)    :: NPOIN,NELEM,NELMAX
02267       INTEGER,          INTENT(IN)    :: IKLE(NELMAX,3)
02268       DOUBLE PRECISION, INTENT(IN)    :: HREC,DT
02269       DOUBLE PRECISION, INTENT(IN)    :: V2DPAR(NPOIN),ZF(NPOIN)
02270       DOUBLE PRECISION, INTENT(IN)    :: VOLU2D(NPOIN)
02271       DOUBLE PRECISION, INTENT(INOUT) :: H(NPOIN),W1(NELEM,3)
02272       LOGICAL,          INTENT(IN)    :: YAFLODEL
02273       TYPE(BIEF_OBJ),   INTENT(INOUT) :: DELTAH,HITS,FLODEL
02274       TYPE(BIEF_MESH),  INTENT(INOUT) :: MESH
02275         END SUBROUTINE
02276       END INTERFACE
02277 !
02278 !-----------------------------------------------------------------------
02279 !
02280       INTERFACE
02281         SUBROUTINE REINIT
02282      &(NS,NSEG,NPTFR,H,SMTR,HSTOK,HC,HCSTOK,FLUXT,FLUHBOR,DTT,NTRAC)
02283       USE BIEF_DEF
02284       IMPLICIT NONE
02285       INTEGER, INTENT(IN)             :: NS,NSEG,NPTFR,NTRAC
02286       DOUBLE PRECISION, INTENT(INOUT) :: DTT
02287       DOUBLE PRECISION, INTENT(INOUT) :: HSTOK(*),HCSTOK(2,*)
02288       DOUBLE PRECISION, INTENT(IN)    :: H(*),HC(2,*)
02289       TYPE(BIEF_OBJ), INTENT(INOUT)   :: SMTR,FLUXT,FLUHBOR
02290         END SUBROUTINE
02291       END INTERFACE
02292 !
02293 !-----------------------------------------------------------------------
02294 !
02295       INTERFACE
02296         SUBROUTINE RESCUE
02297      &(U,V,H,S,ZF,T,TRAC0,NTRAC,ITURB,NPOIN,AKEP,TROUVE)
02298       USE BIEF_DEF
02299       IMPLICIT NONE
02300       INTEGER, INTENT(IN)             :: TROUVE(36),ITURB,NPOIN,NTRAC
02301       LOGICAL, INTENT(INOUT)          :: AKEP
02302       DOUBLE PRECISION, INTENT(INOUT) :: U(NPOIN),V(NPOIN),H(NPOIN)
02303       DOUBLE PRECISION, INTENT(INOUT) :: S(NPOIN),ZF(NPOIN)
02304       DOUBLE PRECISION, INTENT(IN)    :: TRAC0(NTRAC)
02305       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T
02306         END SUBROUTINE
02307       END INTERFACE
02308 !
02309 !-----------------------------------------------------------------------
02310 !
02311       INTERFACE
02312         SUBROUTINE RESOLU
02313      & (W,FLUSCE,NUBO,VNOIN,WINF,AT,DT,LT,
02314      &  NELEM,NSEG,NPTFR,FLUX,AIRS,AIRE,
02315      &  X,Y,IKLE,ZF,CF,NPOIN,HN,H,U,V,QU,QV,G,LISTIN,
02316      &  XNEBOR,YNEBOR,LIMPRO,NBOR,KDIR,KNEU,KDDL,
02317      &  HBOR,UBOR,VBOR,FLUSORT,FLUENT,CFLWTD,DTVARI,NELMAX,KFROT,
02318      &  NREJET,ISCE,TSCE2,MAXSCE,MAXTRA,YASMH,SMH,MASSES,
02319      &  NTRAC,DIMT,T,HTN,TN,DLIMT,
02320      &  TBOR,MASSOU,FLUTENT,FLUTSOR,DTHAUT,DPX,DPY,DJX,DJY,CMI,JMI,
02321      &  SMTR,DXT,DYT,DJXT,DJYT,
02322      &  DIFVIT,ITURB,PROPNU,DIFT,DIFNU,
02323      &  DX,DY,OPTVF,FLUSORTN,FLUENTN,
02324      &  DSZ,AIRST,HSTOK,HCSTOK,FLUXT,FLUHBOR,FLBOR,
02325      &  LOGFR,LTT,DTN,FLUXTEMP,FLUHBTEMP,
02326      &  HC,TMAX,DTT,T1,T2,T3,T4,T5,
02327      &  GAMMA,FLUX_OLD,NVMAX,NEISEG,ELTSEG,IFABOR,
02328      &  MESH)
02329       USE BIEF_DEF
02330       IMPLICIT NONE
02331       INTEGER, INTENT(IN) :: NELEM,NPOIN,NSEG,NPTFR,LT,NREJET,DIMT
02332       INTEGER, INTENT(IN) :: MAXSCE,MAXTRA,NVMAX
02333       INTEGER, INTENT(IN) :: DLIMT,OPTVF,JMI(*)
02334       INTEGER, INTENT(IN) :: KDIR,KNEU,KDDL,ITURB,NELMAX,KFROT,NTRAC
02335       INTEGER, INTENT(IN) :: NUBO(2,*),LIMPRO(NPTFR,6),NBOR(NPTFR)
02336       INTEGER, INTENT(IN) :: IKLE(NELMAX,3),ISCE(NREJET)
02337       INTEGER, INTENT(INOUT) :: LTT,LOGFR(*),NEISEG(2,NSEG)
02338       INTEGER, INTENT(IN)    :: ELTSEG(NELEM,3)
02339       INTEGER,  INTENT(IN)   :: IFABOR(NELEM,*)
02340 !
02341       LOGICAL, INTENT(IN) :: LISTIN,DTVARI,YASMH,DIFVIT,DIFT
02342       DOUBLE PRECISION, INTENT(INOUT) :: T1(*),T2(*),T3(*),T4(*),T5(*)
02343       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(2*NPTFR),YNEBOR(2*NPTFR)
02344       DOUBLE PRECISION, INTENT(INOUT) :: DT
02345       DOUBLE PRECISION, INTENT(IN)    :: AT,VNOIN(3,*),GAMMA
02346       DOUBLE PRECISION, INTENT(IN)    :: TSCE2(MAXSCE,MAXTRA)
02347       DOUBLE PRECISION, INTENT(INOUT) :: W(3,NPOIN),FLUSORTN,FLUENTN
02348       DOUBLE PRECISION, INTENT(IN)    :: AIRE(NPOIN),DTHAUT(NPOIN)
02349       DOUBLE PRECISION, INTENT(IN)    :: HBOR(NPTFR),UBOR(NPTFR)
02350       DOUBLE PRECISION, INTENT(IN)    :: VBOR(NPTFR),HN(NPOIN)
02351       DOUBLE PRECISION, INTENT(IN)    :: SMH(NPOIN),ZF(NPOIN),CF(NPOIN)
02352       DOUBLE PRECISION, INTENT(INOUT) :: U(NPOIN),V(NPOIN)
02353       DOUBLE PRECISION, INTENT(INOUT) :: H(NPOIN),QU(NPOIN),QV(NPOIN)
02354       DOUBLE PRECISION, INTENT(IN)    :: DPX(3,NELMAX),DPY(3,NELMAX)
02355       DOUBLE PRECISION, INTENT(INOUT) :: WINF(3,*)
02356       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN),Y(NPOIN),AIRS(NPOIN)
02357       DOUBLE PRECISION, INTENT(INOUT) :: FLUSCE(3,NPOIN)
02358       DOUBLE PRECISION, INTENT(INOUT) :: FLUX(NPOIN,3),FLUX_OLD(NPOIN,3)
02359       DOUBLE PRECISION, INTENT(INOUT) :: FLUSORT,FLUENT,MASSES
02360       DOUBLE PRECISION, INTENT(INOUT) :: FLUTENT(*),FLUTSOR(*)
02361       DOUBLE PRECISION, INTENT(INOUT) :: MASSOU(*)
02362       DOUBLE PRECISION, INTENT(IN)    :: G,CFLWTD,AIRST(2,NSEG)
02363       DOUBLE PRECISION, INTENT(INOUT) :: HSTOK(*),HCSTOK(2,*),DTT
02364       DOUBLE PRECISION, INTENT(INOUT) :: CMI(NSEG,2)
02365       DOUBLE PRECISION, INTENT(IN)    :: PROPNU,DIFNU,TMAX
02366       DOUBLE PRECISION, INTENT(INOUT) :: DJX(3,NELMAX),DJY(3,NELMAX)
02367       DOUBLE PRECISION, INTENT(INOUT) :: DX(3,NPOIN),DY(3,NPOIN)
02368       DOUBLE PRECISION, INTENT(INOUT) :: DJXT(NELMAX),DJYT(NELMAX)
02369       DOUBLE PRECISION, INTENT(INOUT) :: DXT(NPOIN),DYT(NPOIN)
02370       DOUBLE PRECISION, INTENT(INOUT) :: DSZ(2,NSEG)
02371       DOUBLE PRECISION, INTENT(INOUT) :: HC(2,NSEG),DTN
02372 !
02373       TYPE(BIEF_OBJ) , INTENT(IN)     :: TBOR,TN
02374       TYPE(BIEF_OBJ) , INTENT(INOUT)  :: T,HTN,SMTR,FLUHBOR,FLUHBTEMP
02375       TYPE(BIEF_OBJ) , INTENT(INOUT)  :: FLUXTEMP,FLUXT,FLBOR
02376       TYPE(BIEF_MESH),INTENT(INOUT)      :: MESH
02377 !
02378         END SUBROUTINE
02379       END INTERFACE
02380 !
02381 !-----------------------------------------------------------------------
02382 !
02383       INTERFACE
02384         SUBROUTINE ROTNE0
02385      &(MESH,M1,A11,A12,A21,A22,SMU,SMV,UN,VN,H0,MSK,MASKEL,S,DT)
02386       USE BIEF_DEF
02387       IMPLICIT NONE
02388       LOGICAL, INTENT(IN) :: MSK
02389       DOUBLE PRECISION, INTENT(IN)   :: DT
02390       TYPE(BIEF_OBJ), INTENT(IN)     :: MASKEL,H0,S,UN,VN
02391       TYPE(BIEF_OBJ), INTENT(INOUT)  :: SMU,SMV
02392       TYPE(BIEF_OBJ), INTENT(INOUT)  :: A11,A12,A21,A22,M1
02393       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH
02394         END SUBROUTINE
02395       END INTERFACE
02396 !
02397 !-----------------------------------------------------------------------
02398 !
02399       INTERFACE
02400         SUBROUTINE SEG_NEIGHBORS
02401      & ( XX,YY,IKLE ,NPOIN,
02402      &   NVMAX,NELEM,NELMAX,NSEG, NEISEG)
02403 !
02404       USE BIEF_DEF
02405       IMPLICIT NONE
02406       INTEGER, INTENT(IN)             :: NSEG,NELMAX,NPOIN,NVMAX,NELEM
02407       INTEGER, INTENT(IN)             :: IKLE(NELMAX,3)
02408       INTEGER, INTENT(INOUT)          :: NEISEG(2,NSEG)
02409       DOUBLE PRECISION, INTENT(IN)    :: XX(NPOIN),YY(NPOIN)
02410         END SUBROUTINE
02411       END INTERFACE
02412 !
02413 !-----------------------------------------------------------------------
02414 !
02415       INTERFACE
02416         SUBROUTINE SIPHON
02417      &(RELAXS,NSIPH,ENTSIP,SORSIP,GRAV,
02418      & H,ZF,DSIP,SECSIP,ALTSIP,CSSIP,CESIP,DELSIP,ANGSIP,LSIP,
02419      & NTRAC,T,TSIP,USIP,VSIP,U,V,ENTET)
02420       USE BIEF_DEF
02421       IMPLICIT NONE
02422       INTEGER, INTENT(IN)             :: NSIPH,NTRAC
02423       INTEGER, INTENT(IN)             :: ENTSIP(NSIPH),SORSIP(NSIPH)
02424       LOGICAL, INTENT(IN)             :: ENTET
02425       DOUBLE PRECISION, INTENT(IN)    :: RELAXS,GRAV
02426       DOUBLE PRECISION, INTENT(INOUT) :: USIP(NSIPH,2),VSIP(NSIPH,2)
02427       DOUBLE PRECISION, INTENT(INOUT) :: DSIP(NSIPH)
02428       TYPE(BIEF_OBJ)  , INTENT(INOUT) :: TSIP
02429       DOUBLE PRECISION, INTENT(IN)    :: ANGSIP(NSIPH,2),LSIP(NSIPH)
02430       DOUBLE PRECISION, INTENT(IN)    :: CESIP(NSIPH,2),CSSIP(NSIPH,2)
02431       DOUBLE PRECISION, INTENT(IN)    :: DELSIP(NSIPH,2)
02432       DOUBLE PRECISION, INTENT(IN)    :: SECSIP(NSIPH),ALTSIP(NSIPH,2)
02433       DOUBLE PRECISION, INTENT(IN)    :: H(*),ZF(*),U(*),V(*)
02434       TYPE(BIEF_OBJ)  , INTENT(IN)    :: T
02435         END SUBROUTINE
02436       END INTERFACE
02437 !
02438 !-----------------------------------------------------------------------
02439 !
02440       INTERFACE
02441         SUBROUTINE SMOOTHING_FLUX
02442      &(XMUL,SF,F,SURFAC,IKLE1,IKLE2,IKLE3,NELEM,NELMAX,W)
02443       USE BIEF_DEF
02444       IMPLICIT NONE
02445       INTEGER, INTENT(IN) :: NELEM,NELMAX
02446       INTEGER, INTENT(IN) :: IKLE1(NELMAX),IKLE2(NELMAX),IKLE3(NELMAX)
02447       DOUBLE PRECISION, INTENT(INOUT) :: W(NELMAX,3)
02448       DOUBLE PRECISION, INTENT(IN)    :: SURFAC(NELMAX)
02449       DOUBLE PRECISION, INTENT(IN)    :: XMUL
02450       TYPE(BIEF_OBJ), INTENT(IN)      :: SF
02451       DOUBLE PRECISION, INTENT(IN)    :: F(*)
02452         END SUBROUTINE
02453       END INTERFACE
02454 !
02455 !-----------------------------------------------------------------------
02456 !
02457       INTERFACE
02458         DOUBLE PRECISION FUNCTION SL( I , N )
02459         IMPLICIT NONE
02460         INTEGER, INTENT(IN) :: I,N
02461         END FUNCTION
02462       END INTERFACE
02463 !
02464 !-----------------------------------------------------------------------
02465 !
02466       INTERFACE
02467         SUBROUTINE SMAGOR
02468      &(VISC,CF,U,V,MESH,T1,T2,T3,T4,MSK,MASKEL,PROPNU)
02469       USE BIEF_DEF
02470       IMPLICIT NONE
02471       LOGICAL, INTENT(IN) :: MSK
02472       DOUBLE PRECISION, INTENT(IN)   :: PROPNU
02473       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH
02474       TYPE(BIEF_OBJ), INTENT(INOUT)  :: VISC,T1,T2,T3,T4
02475       TYPE(BIEF_OBJ), INTENT(IN)     :: MASKEL,CF,U,V
02476         END SUBROUTINE
02477       END INTERFACE
02478 !
02479 !-----------------------------------------------------------------------
02480 !
02481       INTERFACE
02482         SUBROUTINE SMTRAC
02483      &(NPOIN,DIMT,AT,DT,SMTR,SMH,NREJET,ISCE,TSCE2,MAXSCE,MAXTRA,ITRAC)
02484       IMPLICIT NONE
02485       INTEGER, INTENT(IN) :: NPOIN,NREJET,ISCE(*),DIMT,ITRAC
02486       INTEGER, INTENT(IN) :: MAXSCE,MAXTRA
02487       DOUBLE PRECISION, INTENT(IN)    :: AT,DT,SMH(NPOIN)
02488       DOUBLE PRECISION, INTENT(IN)    :: TSCE2(MAXSCE,MAXTRA)
02489       DOUBLE PRECISION, INTENT(INOUT) :: SMTR(DIMT)
02490         END SUBROUTINE
02491       END INTERFACE
02492 !
02493 !-----------------------------------------------------------------------
02494 !
02495       INTERFACE
02496         SUBROUTINE SORFLO
02497      &(XFLOT,YFLOT,IKLFLO,DEBFLO,FINFLO,NFLOT,NITFLO,FLOPRD,
02498      & NRBI,TITCAS,BINRES,NOMRBI,NIT,MAXVAR,DATE,TIME,MESH,
02499      & I_ORIG,J_ORIG)
02500       USE BIEF_DEF
02501       IMPLICIT NONE
02502       INTEGER, INTENT(IN)             :: I_ORIG,J_ORIG,FLOPRD,NITFLO
02503       INTEGER, INTENT(IN)             :: NFLOT,NRBI,NIT,MAXVAR
02504       INTEGER, INTENT(IN)             :: DATE(3),TIME(3)
02505       INTEGER, INTENT(INOUT)          :: IKLFLO(3*NITFLO*NFLOT)
02506       INTEGER, INTENT(IN)             :: DEBFLO(NFLOT),FINFLO(NFLOT)
02507       DOUBLE PRECISION, INTENT(INOUT) :: XFLOT(NITFLO*NFLOT)
02508       DOUBLE PRECISION, INTENT(INOUT) :: YFLOT(NITFLO*NFLOT)
02509       CHARACTER(LEN=72), INTENT(IN)   :: TITCAS,NOMRBI
02510       CHARACTER(LEN=3), INTENT(IN)    :: BINRES
02511       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH
02512         END SUBROUTINE
02513       END INTERFACE
02514 !
02515 !-----------------------------------------------------------------------
02516 !
02517       INTERFACE
02518         SUBROUTINE SOURCE_WAQ
02519      & (NPOIN,TEXP,TIMP,YASMI,TSCEXP,HPROP,TN,TETAT,
02520      & AT,DT,NTRAC,WAQPROCESS)
02521       USE BIEF
02522       IMPLICIT NONE
02523       INTEGER          , INTENT(IN)    :: NPOIN,WAQPROCESS
02524       INTEGER          , INTENT(IN)    :: NTRAC
02525       LOGICAL          , INTENT(INOUT) :: YASMI(*)
02526       DOUBLE PRECISION , INTENT(IN)    :: AT,DT,TETAT
02527       TYPE(BIEF_OBJ)   , INTENT(IN)    :: TN,HPROP
02528       TYPE(BIEF_OBJ)   , INTENT(INOUT) :: TSCEXP,TEXP,TIMP
02529         END SUBROUTINE
02530       END INTERFACE
02531 !
02532 !-----------------------------------------------------------------------
02533 !
02534       INTERFACE
02535         DOUBLE PRECISION FUNCTION STA_DIS_CUR
02536      &(IFRLIQ,FLUX,PTS,QZ,NFRLIQ,ZN)
02537       IMPLICIT NONE
02538       INTEGER, INTENT(IN) :: IFRLIQ,NFRLIQ,PTS
02539       DOUBLE PRECISION, INTENT(IN) :: ZN,FLUX,QZ(2,NFRLIQ,PTS)
02540         END FUNCTION
02541       END INTERFACE
02542 !
02543 !-----------------------------------------------------------------------
02544 !
02545       INTERFACE
02546         SUBROUTINE STEADY
02547      &(H1,H2,NPH,U1,U2,NPU,V1,V2,NPV,NTRAC,T1,T2,NPT,CRIPER,ARRET)
02548       USE BIEF_DEF
02549       IMPLICIT NONE
02550       INTEGER, INTENT(IN)          :: NPH,NPU,NPV,NPT,NTRAC
02551       LOGICAL, INTENT(INOUT)       :: ARRET
02552       DOUBLE PRECISION, INTENT(IN) :: H1(NPH),H2(NPH),U1(NPU),U2(NPU)
02553       DOUBLE PRECISION, INTENT(IN) :: V1(NPV),V2(NPV)
02554       DOUBLE PRECISION, INTENT(IN) :: CRIPER(3)
02555       TYPE(BIEF_OBJ)  , INTENT(IN) :: T1,T2
02556         END SUBROUTINE
02557       END INTERFACE
02558 !
02559 !-----------------------------------------------------------------------
02560 !
02561       INTERFACE
02562         SUBROUTINE TELEMAC2D
02563      &(PASS,ATDEP,NITER,CODE,DTDEP,NEWTIME,DOPRINT)
02564         IMPLICIT NONE
02565         INTEGER,          INTENT(IN) :: PASS,NITER
02566         DOUBLE PRECISION, INTENT(IN) :: ATDEP
02567         CHARACTER(LEN=*), INTENT(IN) :: CODE
02568         DOUBLE PRECISION, INTENT(IN), OPTIONAL :: DTDEP
02569         LOGICAL,          INTENT(IN), OPTIONAL :: NEWTIME,DOPRINT
02570         END SUBROUTINE
02571       END INTERFACE
02572 !
02573 !-----------------------------------------------------------------------
02574 !
02575       INTERFACE
02576         SUBROUTINE TEL4DEL
02577      &(NPOIN,NPOIN2,NELEM,NSEG,IKLE,ELTSEG,GLOSEG,ORISEG,MAXSEG,
02578      & X,Y,NPTFR,LIHBOR,NBOR,NOLAY,AAT,DDT,LLT,NNIT,HNEW,HPROP,ZNEW,
02579      & U,V,SALI,TEMP,VISC,TITRE,NOMGEO,NOMLIM,NSTEPA,
02580      & NSOU,NOMSOU,NMAB,NOMMAB,NCOU,NOMCOU,NINI,NOMINI,NVEB,NOMVEB,
02581      & NMAF,NOMMAF,NCOB,NOMCOB,NSAL,NOMSAL,NTEM,NOMTEM,NVEL,NOMVEL,
02582      & NVIS,NOMVIS,INFOGR,NELEM2,SALI_DEL,TEMP_DEL,VELO_DEL,DIFF_DEL,
02583      & MARDAT,MARTIM,FLOW,V2DPAR,KNOLG)
02584       USE BIEF_DEF
02585       IMPLICIT NONE
02586       INTEGER, INTENT(IN)            :: NPOIN,NPOIN2,NELEM,NSEG,NPTFR
02587       INTEGER, INTENT(IN)            :: NOLAY,LLT,NNIT,NELEM2
02588       INTEGER, INTENT(IN)            :: MAXSEG,MARDAT(3),MARTIM(3)
02589       INTEGER, INTENT(INOUT)         :: NSTEPA
02590       INTEGER, INTENT(IN)            :: IKLE(NELEM2,3),LIHBOR(*)
02591       INTEGER, INTENT(IN)            :: ELTSEG(NELEM2,3)
02592       INTEGER, INTENT(IN)            :: ORISEG(NELEM2,3)
02593       INTEGER, INTENT(IN)            :: GLOSEG(MAXSEG,2)
02594       INTEGER, INTENT(IN)            :: NBOR(*),KNOLG(NPOIN2)
02595       INTEGER, INTENT(IN)            :: NSOU,NMAB,NCOU,NINI,NVEL,NVIS
02596       INTEGER, INTENT(IN)            :: NVEB,NMAF,NCOB,NSAL,NTEM
02597       DOUBLE PRECISION  , INTENT(IN) :: X(NPOIN2),Y(NPOIN2),ZNEW(NPOIN)
02598       DOUBLE PRECISION  , INTENT(IN) :: HPROP(NPOIN2),HNEW(NPOIN2)
02599       DOUBLE PRECISION  , INTENT(IN) :: AAT,DDT,V2DPAR(NPOIN2)
02600       DOUBLE PRECISION  , INTENT(IN) :: U(NPOIN),V(NPOIN)
02601       DOUBLE PRECISION  , INTENT(IN) :: SALI(NPOIN),TEMP(NPOIN)
02602       DOUBLE PRECISION  , INTENT(IN) :: VISC(NPOIN)
02603       DOUBLE PRECISION  , INTENT(INOUT) :: FLOW(*)
02604       CHARACTER(LEN=72) , INTENT(IN) :: TITRE
02605       CHARACTER(LEN=144), INTENT(IN) :: NOMSOU,NOMMAB,NOMCOU,NOMINI
02606       CHARACTER(LEN=144), INTENT(IN) :: NOMVEB,NOMMAF,NOMCOB,NOMSAL
02607       CHARACTER(LEN=144), INTENT(IN) :: NOMTEM,NOMGEO,NOMLIM,NOMVEL
02608       CHARACTER(LEN=144), INTENT(IN) :: NOMVIS
02609       LOGICAL           , INTENT(IN) :: INFOGR,SALI_DEL,TEMP_DEL
02610       LOGICAL           , INTENT(IN) :: VELO_DEL,DIFF_DEL
02611         END SUBROUTINE
02612       END INTERFACE
02613 !
02614 !-----------------------------------------------------------------------
02615 !
02616       INTERFACE
02617         SUBROUTINE TESTEUR
02618      &(NS,NSEG,NPTFR,NUBO,DT,NBOR,NORDRE,AIRS,AIRST,HSTOK,
02619      & HCSTOK,FLUXT,FLUXTEMP,FLUHBOR,FLUHBTEMP,LOGFR,TEST,NTRAC)
02620       USE BIEF
02621       IMPLICIT NONE
02622       INTEGER, INTENT(IN)             :: NS,NSEG,NPTFR,NORDRE,NTRAC
02623       INTEGER, INTENT(IN)             :: NUBO(2,NSEG),NBOR(NPTFR)
02624       INTEGER, INTENT(IN)             :: LOGFR(*)
02625       DOUBLE PRECISION, INTENT(IN)    :: AIRS(NS),AIRST(2,*)
02626       DOUBLE PRECISION, INTENT(IN)    :: DT
02627       DOUBLE PRECISION, INTENT(INOUT) :: TEST
02628       DOUBLE PRECISION, INTENT(IN)    :: HSTOK(*)
02629       DOUBLE PRECISION, INTENT(IN)    :: HCSTOK(2,*)
02630       TYPE(BIEF_OBJ)  , INTENT(IN)    :: FLUHBOR,FLUHBTEMP,FLUXT
02631       TYPE(BIEF_OBJ)  , INTENT(IN)    :: FLUXTEMP
02632         END SUBROUTINE
02633       END INTERFACE
02634 !
02635 !-----------------------------------------------------------------------
02636 !
02637       INTERFACE
02638         SUBROUTINE THOMPS
02639      &(HBOR,UBOR,VBOR,TBOR,U,V,H,T,ZF,X,Y,NBOR,FRTYPE,C,
02640      & UCONV,VCONV,T7,XCONV,YCONV,LIHBOR,LIUBOR,LIVBOR,
02641      & LITBOR,IT1,ITRAV2,W1R,W2R,W3R,
02642      & HBTIL,UBTIL,VBTIL,TBTIL,ZBTIL,SURDET,IKLE,IFABOR,NELEM,
02643      & MESH,XNEBOR,YNEBOR,NPOIN,NPTFR,DT,GRAV,
02644      & NTRAC,NFRLIQ,KSORT,KINC,KENT,KENTU,LV,MSK,MASKEL,
02645      & NELMAX,IELM,SHPP,NUMLIQ,SHP,
02646      & DX_T,DY_T,DZ_T,IT3,IT4,HFIELD,UFIELD,VFIELD,ZS,GZSX,GZSY,SHPBUF)
02647       USE BIEF_DEF
02648       IMPLICIT NONE
02649       INTEGER, INTENT(IN) :: NPTFR,NPOIN,NELEM,NELMAX,NFRLIQ,LV
02650       INTEGER, INTENT(IN) :: IELM,NTRAC
02651       INTEGER, INTENT(IN) :: KSORT,KINC,KENT,KENTU
02652       INTEGER, INTENT(IN) :: NBOR(NPTFR)
02653       INTEGER, INTENT(IN) :: IKLE(*),IFABOR(*)
02654       INTEGER, INTENT(IN) :: LIHBOR(NPTFR),LIUBOR(NPTFR),LIVBOR(NPTFR)
02655       INTEGER, INTENT(IN) :: FRTYPE(NFRLIQ),NUMLIQ(NPTFR)
02656       INTEGER, INTENT(INOUT),TARGET  :: IT1(2*NPTFR)
02657 !     ITRAV2 : OF DIMENSION NPOIN
02658       INTEGER, INTENT(INOUT) :: ITRAV2(*)
02659       LOGICAL, INTENT(IN) :: MSK
02660       DOUBLE PRECISION, INTENT(INOUT) :: HBOR(NPTFR)
02661       DOUBLE PRECISION, INTENT(INOUT) :: UBOR(NPTFR),VBOR(NPTFR)
02662       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN),Y(NPOIN)
02663       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(NPTFR),YNEBOR(NPTFR)
02664       DOUBLE PRECISION, INTENT(IN)    :: SURDET(*)
02665       DOUBLE PRECISION, INTENT(IN)    :: GRAV,DT
02666       DOUBLE PRECISION, INTENT(INOUT) :: W1R(NPTFR),W2R(NPTFR)
02667       DOUBLE PRECISION, INTENT(INOUT) :: W3R(NPTFR)
02668       DOUBLE PRECISION, INTENT(INOUT) :: SHPP(3,NPTFR),SHP(*)
02669       DOUBLE PRECISION, INTENT(INOUT) :: DX_T(NPTFR),DY_T(NPTFR)
02670       DOUBLE PRECISION, INTENT(INOUT) :: DZ_T(NPTFR)
02671       TYPE(BIEF_OBJ), INTENT(IN)      :: MASKEL
02672       TYPE(BIEF_OBJ), INTENT(INOUT)   :: HBTIL,UBTIL,VBTIL,ZBTIL,T7
02673       TYPE(BIEF_OBJ), INTENT(INOUT)   :: XCONV,YCONV
02674       TYPE(BIEF_OBJ), INTENT(INOUT)   :: UCONV,VCONV,C,U,V
02675       TYPE(BIEF_OBJ), INTENT(INOUT)   :: H,T,TBOR,TBTIL,IT3,IT4
02676       TYPE(BIEF_OBJ), INTENT(INOUT)   :: HFIELD,UFIELD,VFIELD,ZS
02677       TYPE(BIEF_OBJ), INTENT(INOUT)   :: GZSX,GZSY,SHPBUF
02678       TYPE(BIEF_OBJ), INTENT(IN)      :: ZF,LITBOR
02679       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH
02680         END SUBROUTINE
02681       END INTERFACE
02682 !
02683 !-----------------------------------------------------------------------
02684 !
02685       INTERFACE
02686         DOUBLE PRECISION FUNCTION TRSCE( TIME , I , ITRAC )
02687       IMPLICIT NONE
02688       DOUBLE PRECISION, INTENT(IN) :: TIME
02689       INTEGER         , INTENT(IN) :: I,ITRAC
02690         END FUNCTION
02691       END INTERFACE
02692 !
02693 !-----------------------------------------------------------------------
02694 !
02695       INTERFACE
02696         DOUBLE PRECISION FUNCTION TR( I , ITRAC , N , IERR )
02697       IMPLICIT NONE
02698       INTEGER, INTENT(IN)    :: I,N,ITRAC
02699       INTEGER, INTENT(INOUT) :: IERR
02700         END FUNCTION
02701       END INTERFACE
02702 !
02703 !-----------------------------------------------------------------------
02704 !
02705       INTERFACE
02706         SUBROUTINE UTIMP_TELEMAC2D
02707      &                         (LTL,ATL,GRADEBL,GRAPRDL,LISDEBL,LISPRDL)
02708       IMPLICIT NONE
02709       DOUBLE PRECISION, INTENT(IN) :: ATL
02710       INTEGER, INTENT(IN) :: LTL,GRADEBL,GRAPRDL,LISDEBL,LISPRDL
02711         END SUBROUTINE
02712       END INTERFACE
02713 !
02714 !-----------------------------------------------------------------------
02715 !
02716       INTERFACE
02717         SUBROUTINE VALRO(RO,S,ROEAU)
02718       USE BIEF_DEF
02719       IMPLICIT NONE
02720       TYPE(BIEF_OBJ), INTENT(IN)    :: S
02721       TYPE(BIEF_OBJ), INTENT(INOUT) :: RO
02722       DOUBLE PRECISION, INTENT(IN)  :: ROEAU
02723         END SUBROUTINE
02724       END INTERFACE
02725 !
02726 !-----------------------------------------------------------------------
02727 !
02728       INTERFACE
02729         SUBROUTINE VISTUR(VISC,AK,EP,NPOIN,CMU,PROPNU)
02730       USE BIEF_DEF
02731       IMPLICIT NONE
02732       INTEGER, INTENT(IN)           :: NPOIN
02733       DOUBLE PRECISION, INTENT(IN)  :: CMU,PROPNU
02734       TYPE(BIEF_OBJ), INTENT(IN)    :: AK,EP
02735       TYPE(BIEF_OBJ), INTENT(INOUT) :: VISC
02736         END SUBROUTINE
02737       END INTERFACE
02738 !
02739 !-----------------------------------------------------------------------
02740 !
02741       INTERFACE
02742         DOUBLE PRECISION FUNCTION VIT( I , N )
02743           IMPLICIT NONE
02744           INTEGER, INTENT(IN) :: I,N
02745         END FUNCTION
02746       END INTERFACE
02747 !
02748 !-----------------------------------------------------------------------
02749 !
02750       INTERFACE
02751         SUBROUTINE VOLFIN
02752      & (W1,AT,DT,LT,NELEM,NPTFR,NSEG,
02753      &  TB,ZF,CF,NPOIN,HN,H,U,V,QU,QV,G,LISTIN,
02754      &  MESH,LIMPRO,NBOR,KDIR,KNEU,KDDL,
02755      &  HBOR,UBOR,VBOR,MASSES,FLUENT,FLUSOR,CFLWTD,DTVARI,KFROT,
02756      &  NREJET,ISCE,TSCE2,MAXSCE,MAXTRA,YASMH,SMH,
02757      &  NTRAC,DIMT,T,HT,TN,
02758      &  TBOR,MASSOU,FLUTENT,FLUTSOR,DTHAUT,DPX,DPY,DJX,DJY,CMI,JMI,
02759      &  DJXT,DJYT,DIFVIT,ITURB,PROPNU,DIFT,DIFNU,
02760      &  DX,DY,OPTVF,
02761      &  HSTOK,HCSTOK,LOGFR,DSZ,FLUXT,FLUHBOR,FLBOR,DTN,FLUSORTN,
02762      &  FLUENTN,LTT,
02763      &  FLUXTEMP,FLUHBTEMP,HC,SMTR,AIRST,TMAX,DTT,GAMMA,FLUX_OLD,
02764      &  MXPTVS,NEISEG,V2DPAR)
02765       USE BIEF_DEF
02766       IMPLICIT NONE
02767       INTEGER, INTENT(IN)    :: NPTFR,KDIR,KNEU,KDDL,DIMT,KFROT,OPTVF
02768       INTEGER, INTENT(IN)    :: NELEM,NPOIN,LT,NREJET,ITURB
02769       INTEGER, INTENT(IN)    :: NTRAC,MAXSCE,MAXTRA,MXPTVS
02770       INTEGER, INTENT(INOUT) :: LTT
02771       INTEGER, INTENT(IN)    :: LIMPRO(NPTFR,6),NBOR(NPTFR)
02772       INTEGER, INTENT(IN)    :: ISCE(NREJET),NSEG
02773       INTEGER, INTENT(INOUT) :: JMI(*),LOGFR(NPOIN),NEISEG(2,*)
02774       LOGICAL, INTENT(IN)    :: DIFVIT,DIFT,LISTIN,DTVARI,YASMH
02775 
02776       DOUBLE PRECISION, INTENT(IN) :: PROPNU,DIFNU,GAMMA
02777       DOUBLE PRECISION, INTENT(INOUT) :: AT,DT,MASSES,DTT
02778       DOUBLE PRECISION, INTENT(INOUT) :: H(NPOIN),QU(NPOIN),QV(NPOIN)
02779       DOUBLE PRECISION, INTENT(INOUT) :: W1(*)
02780 
02781       DOUBLE PRECISION, INTENT(INOUT) :: DSZ(2,*),HC(2,*)
02782       DOUBLE PRECISION, INTENT(INOUT) :: U(NPOIN),V(NPOIN),HN(NPOIN)
02783       DOUBLE PRECISION, INTENT(IN)    :: SMH(NPOIN)
02784       DOUBLE PRECISION, INTENT(IN)    :: CF(NPOIN),ZF(NPOIN),G
02785       DOUBLE PRECISION, INTENT(INOUT) :: HSTOK(DIMT),HCSTOK(2,*)
02786       DOUBLE PRECISION, INTENT(IN)    :: HBOR(NPTFR),UBOR(NPTFR)
02787       DOUBLE PRECISION, INTENT(IN)    :: VBOR(NPTFR)
02788       DOUBLE PRECISION, INTENT(IN)    :: TSCE2(MAXSCE,MAXTRA)
02789       DOUBLE PRECISION, INTENT(INOUT) :: DX(3,*),DY(3,*)
02790       DOUBLE PRECISION, INTENT(IN)    :: AIRST(2,*)
02791       DOUBLE PRECISION, INTENT(INOUT) :: DPX(3,*),DPY(3,*)
02792       DOUBLE PRECISION, INTENT(INOUT) :: CMI(NSEG,2),DJX(3,*),DJY(3,*)
02793       DOUBLE PRECISION, INTENT(IN)    :: CFLWTD,DTHAUT(NPOIN),TMAX
02794       DOUBLE PRECISION, INTENT(INOUT) :: FLUSOR,FLUENT,DTN,MASSOU(*)
02795       DOUBLE PRECISION, INTENT(INOUT) :: FLUSORTN,FLUENTN
02796       DOUBLE PRECISION, INTENT(INOUT) :: DJXT(*),DJYT(*)
02797       DOUBLE PRECISION, INTENT(INOUT) :: FLUTENT(*),FLUTSOR(*)
02798       TYPE(BIEF_OBJ), INTENT(INOUT)   :: TB
02799       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH
02800       TYPE(BIEF_OBJ) , INTENT(IN)     :: TBOR,TN,V2DPAR
02801       TYPE(BIEF_OBJ) , INTENT(INOUT)  :: T,HT,SMTR,FLUHBOR,FLUHBTEMP
02802       TYPE(BIEF_OBJ) , INTENT(INOUT)  :: FLUXTEMP,FLUXT,FLBOR,FLUX_OLD
02803         END SUBROUTINE
02804       END INTERFACE
02805 !
02806 !-----------------------------------------------------------------------
02807 !
02808       INTERFACE
02809         DOUBLE PRECISION FUNCTION VUSCE( TIME , I )
02810       IMPLICIT NONE
02811       DOUBLE PRECISION, INTENT(IN) :: TIME
02812       INTEGER         , INTENT(IN) :: I
02813         END FUNCTION
02814       END INTERFACE
02815 !
02816 !-----------------------------------------------------------------------
02817 !
02818       INTERFACE
02819         SUBROUTINE WETDRY
02820      &(ETA1,Z1,H1,U1,V1,ETA2,Z2,H2,U2,V2,EPS)
02821       IMPLICIT NONE
02822       DOUBLE PRECISION, INTENT(IN)    :: EPS
02823       DOUBLE PRECISION, INTENT(INOUT)   :: ETA1,Z1,H1,U1,V1
02824       DOUBLE PRECISION, INTENT(INOUT)   :: ETA2,Z2,H2,U2,V2
02825         END SUBROUTINE
02826       END INTERFACE
02827 !
02828 !-----------------------------------------------------------------------
02829 !
02830       INTERFACE
02831         DOUBLE PRECISION FUNCTION VVSCE( TIME , I )
02832       IMPLICIT NONE
02833       DOUBLE PRECISION, INTENT(IN) :: TIME
02834       INTEGER         , INTENT(IN) :: I
02835         END FUNCTION
02836       END INTERFACE
02837 !
02838 !-----------------------------------------------------------------------
02839 !
02840       INTERFACE
02841         SUBROUTINE WALL_FRICTION
02842      &(UETUTA,AUBOR,CFBOR,DISBOR,UN,VN,LIMPRO,NBOR,NPTFR,
02843      & KARMAN,PROPNU,LISRUG,KNEU,KDIR,KENT,KENTU,KADH,KLOG,IELMU,IKLBOR,
02844      & NELEB,NELEBX)
02845       IMPLICIT NONE
02846       INTEGER, INTENT(IN) :: NPTFR,LISRUG,KNEU,KDIR,KENT,KADH,KLOG,KENTU
02847       INTEGER, INTENT(IN) :: IELMU,NELEB,NELEBX
02848       INTEGER, INTENT(IN) :: LIMPRO(NPTFR,6),NBOR(NPTFR)
02849       INTEGER, INTENT(IN) :: IKLBOR(NELEBX,2)
02850       DOUBLE PRECISION, INTENT(IN)    :: CFBOR(*),UN(*),VN(*),DISBOR(*)
02851       DOUBLE PRECISION, INTENT(INOUT) :: AUBOR(*),UETUTA(*)
02852       DOUBLE PRECISION, INTENT(IN)    :: KARMAN,PROPNU
02853         END SUBROUTINE
02854       END INTERFACE
02855 !
02856 !-----------------------------------------------------------------------
02857 !
02858       INTERFACE
02859         SUBROUTINE WRIHYD
02860      &(TITRE , ITSTRT , ITSTOP , ITSTEP , NPOIN2 , MBND   ,
02861      & NSEG  , NOLAY  , NOMGEO , NOMLIM ,
02862      & F     , NSTEPA , NOMSOU , NOSUIS , NOMCOU ,
02863      & NOMINI, NOMVEB , NORSED , NOMSAL , NOMTEM , NOMVEL , NOMVIS ,
02864      & NHYD,
02865      & SALI_DEL,TEMP_DEL,VELO_DEL,DIFF_DEL,MARDAT,MARTIM)
02866       IMPLICIT NONE
02867       INTEGER,          INTENT(IN) :: NHYD,ITSTRT,ITSTOP,ITSTEP,NPOIN2
02868       INTEGER,          INTENT(IN) :: NSEG,NOLAY,NSTEPA,MBND
02869       INTEGER,          INTENT(IN) :: MARDAT(3),MARTIM(3)
02870       CHARACTER(*),     INTENT(IN) :: TITRE,NOMGEO,NOMLIM
02871       CHARACTER(*),     INTENT(IN) :: NOMSOU,NOSUIS,NOMCOU,NOMSAL,NOMTEM
02872       CHARACTER(*),     INTENT(IN) :: NOMINI,NOMVEB,NORSED,NOMVEL,NOMVIS
02873       DOUBLE PRECISION, INTENT(IN) :: F(NPOIN2,NOLAY)
02874       LOGICAL,          INTENT(IN) :: SALI_DEL,TEMP_DEL
02875       LOGICAL,          INTENT(IN) :: VELO_DEL,DIFF_DEL
02876         END SUBROUTINE
02877       END INTERFACE
02878 !
02879 !-----------------------------------------------------------------------
02880 !
02881       INTERFACE
02882         SUBROUTINE ZEROPHI(X0,X,NIT,CA1)
02883       IMPLICIT NONE
02884       INTEGER, INTENT(INOUT)          :: NIT
02885       DOUBLE PRECISION, INTENT(IN)    :: X0,CA1
02886       DOUBLE PRECISION, INTENT(INOUT) :: X
02887         END SUBROUTINE
02888       END INTERFACE
02889 !
02890 !-----------------------------------------------------------------------
02891 !
02892       INTERFACE
02893         SUBROUTINE ZEROPSI(X0,X,NIT,CA1,A2)
02894       IMPLICIT NONE
02895       INTEGER, INTENT(INOUT)          :: NIT
02896       DOUBLE PRECISION, INTENT(IN)    :: X0,A2,CA1
02897       DOUBLE PRECISION, INTENT(INOUT) :: X
02898         END SUBROUTINE
02899       END INTERFACE
02900 !
02901 !-----------------------------------------------------------------------
02902 !
02903       INTERFACE
02904         SUBROUTINE ZOKA_SMALL(HI,HJ,ETAI,ETAJ,UI,UJ,VI,VJ,G,FLX)
02905       USE BIEF_DEF
02906       IMPLICIT NONE
02907       DOUBLE PRECISION, INTENT(IN)    :: G,HI,HJ,ETAI,ETAJ,UI,UJ
02908       DOUBLE PRECISION, INTENT(IN)    :: VI,VJ
02909       DOUBLE PRECISION, INTENT(INOUT) :: FLX(3)
02910         END SUBROUTINE
02911       END INTERFACE
02912 !
02913 !-----------------------------------------------------------------------
02914 !
02915       END MODULE INTERFACE_TELEMAC2D

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