interface_telemac3d.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac3d\interface_telemac3d.f
00002 !
00009       MODULE INTERFACE_TELEMAC3D
00010 !
00011 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00012 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00013 !
00014       USE BIEF_DEF
00015 !
00016 !-----------------------------------------------------------------------
00017 !
00018 !     DEFINITION OF INTERFACES
00019 !
00020 !-----------------------------------------------------------------------
00021 !
00022       INTERFACE
00023         SUBROUTINE ACTUZF(IVIDE,EPAI,ZF,NPOIN2,NPFMAX,NPF)
00024       IMPLICIT NONE
00025       INTEGER, INTENT(IN)             :: NPOIN2, NPFMAX
00026       DOUBLE PRECISION, INTENT(IN)    :: IVIDE(NPFMAX,NPOIN2)
00027       DOUBLE PRECISION, INTENT(IN)    :: EPAI(NPFMAX-1,NPOIN2)
00028       DOUBLE PRECISION, INTENT(INOUT) :: ZF(NPOIN2)
00029       INTEGER, INTENT(IN)             :: NPF(NPOIN2)
00030         END SUBROUTINE
00031       END INTERFACE
00032 !
00033 !-----------------------------------------------------------------------
00034 !
00035       INTERFACE
00036         SUBROUTINE AIRWIK1
00037      &(LIHBOR,UBORF,VBORF,LIUBOF,LIVBOF,UBORL,VBORL,LIUBOL,LIVBOL,
00038      & UBORS,VBORS,LIUBOS,LIVBOS,U,V,UD,VD,DELWAQ,
00039      & U2D,V2D,XNEBOR,YNEBOR,NBOR,
00040      & UMOY,VMOY,TRA01,TRA02,TRA03,Z,NPTFR,NPLAN,NPOIN2,
00041      & KENT,KADH,KLOG,KDEB,OPTBAN,KP1BOR)
00042       USE BIEF_DEF
00043       IMPLICIT NONE
00044       INTEGER, INTENT(IN) :: NPTFR, NPLAN, NPOIN2,OPTBAN
00045       INTEGER, INTENT(IN) :: KENT, KADH, KLOG, KDEB
00046       INTEGER, INTENT(IN) :: KP1BOR(NPTFR,2)
00047       INTEGER, INTENT(IN) :: LIUBOF(NPOIN2), LIUBOS(NPOIN2)
00048       INTEGER, INTENT(IN) :: LIUBOL(NPTFR,NPLAN)
00049       INTEGER, INTENT(IN) :: LIHBOR(NPTFR)
00050       INTEGER, INTENT(IN) :: LIVBOF(NPOIN2), LIVBOS(NPOIN2)
00051       INTEGER, INTENT(IN) :: LIVBOL(NPTFR,NPLAN)
00052       INTEGER, INTENT(IN) :: NBOR(NPTFR)
00053       DOUBLE PRECISION, INTENT(IN)    :: UBORF(NPOIN2),UBORS(NPOIN2)
00054       DOUBLE PRECISION, INTENT(IN)    :: UBORL(NPTFR,NPLAN)
00055       DOUBLE PRECISION, INTENT(IN)    :: VBORF(NPOIN2),VBORS(NPOIN2)
00056       DOUBLE PRECISION, INTENT(IN)    :: VBORL(NPTFR,NPLAN)
00057       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN2,NPLAN)
00058       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(NPTFR),YNEBOR(NPTFR)
00059       DOUBLE PRECISION, INTENT(INOUT) :: U(NPOIN2,NPLAN),V(NPOIN2,NPLAN)
00060       DOUBLE PRECISION, INTENT(INOUT) :: UD(NPOIN2,NPLAN)
00061       DOUBLE PRECISION, INTENT(INOUT) :: VD(NPOIN2,NPLAN)
00062       DOUBLE PRECISION, INTENT(INOUT) :: U2D(NPOIN2),V2D(NPOIN2)
00063       DOUBLE PRECISION, INTENT(INOUT) :: UMOY(NPOIN2),VMOY(NPOIN2)
00064       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPOIN2,NPLAN)
00065       DOUBLE PRECISION, INTENT(INOUT) :: TRA02(NPOIN2,NPLAN)
00066       DOUBLE PRECISION, INTENT(INOUT) :: TRA03(NPOIN2,NPLAN)
00067       LOGICAL, INTENT(IN)             :: DELWAQ
00068         END SUBROUTINE
00069       END INTERFACE
00070 !
00071 !-----------------------------------------------------------------------
00072 !
00073       INTERFACE
00074         SUBROUTINE AIRWIK2
00075      &(LIHBOR,UBORF,VBORF,WBORF,LIUBOF,LIVBOF,LIWBOF,UBORL,VBORL,WBORL,
00076      & LIUBOL,LIVBOL,LIWBOL,
00077      & UBORS,VBORS,WBORS,LIUBOS,LIVBOS,LIWBOS,U,V,W,XNEBOR,YNEBOR,NBOR,
00078      & NPTFR,NPLAN,NPOIN2,KENT,KADH,KLOG,KDEB,KP1BOR,VELPROLAT)
00079       USE BIEF_DEF
00080       IMPLICIT NONE
00081       INTEGER, INTENT(IN) :: NPTFR, NPLAN, NPOIN2
00082       INTEGER, INTENT(IN) :: KENT, KADH, KLOG, KDEB
00083       INTEGER, INTENT(IN) :: KP1BOR(NPTFR,2)
00084       INTEGER, INTENT(IN) :: LIUBOF(NPOIN2), LIUBOS(NPOIN2)
00085       INTEGER, INTENT(IN) :: LIUBOL(NPTFR,NPLAN),LIWBOF(NPOIN2)
00086       INTEGER, INTENT(IN) :: LIHBOR(NPTFR),LIWBOS(NPOIN2)
00087       INTEGER, INTENT(IN) :: LIVBOF(NPOIN2), LIVBOS(NPOIN2)
00088       INTEGER, INTENT(IN) :: LIVBOL(NPTFR,NPLAN),LIWBOL(NPTFR,NPLAN)
00089       INTEGER, INTENT(IN) :: NBOR(NPTFR)
00090       DOUBLE PRECISION, INTENT(IN)    :: UBORF(NPOIN2),UBORS(NPOIN2)
00091       DOUBLE PRECISION, INTENT(IN)    :: WBORF(NPOIN2),WBORS(NPOIN2)
00092       DOUBLE PRECISION, INTENT(IN)    :: UBORL(NPTFR,NPLAN)
00093       DOUBLE PRECISION, INTENT(IN)    :: WBORL(NPTFR,NPLAN)
00094       DOUBLE PRECISION, INTENT(IN)    :: VBORF(NPOIN2), VBORS(NPOIN2)
00095       DOUBLE PRECISION, INTENT(IN)    :: VBORL(NPTFR,NPLAN)
00096       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(NPTFR),YNEBOR(NPTFR)
00097       DOUBLE PRECISION, INTENT(INOUT) :: U(NPOIN2,NPLAN),V(NPOIN2,NPLAN)
00098       DOUBLE PRECISION, INTENT(INOUT) :: W(NPOIN2,NPLAN)
00099       LOGICAL, INTENT(IN)             :: VELPROLAT
00100         END SUBROUTINE
00101       END INTERFACE
00102 !
00103 !-----------------------------------------------------------------------
00104 !
00105       INTERFACE
00106         SUBROUTINE AMR_PLAN
00107      &(ZVALS,OBJSOL,REFTYPE,NPOIN2,NPLAN,NSEG2,GLOSEG,DIMGLO,
00108      & Z0,NEWZ,ZEXT,INTSOL,MONITOR,SSMONITOR,SMONITOR,NEXTR,SNNEIGH,
00109      & NNEIGH,MCOEFF,MESH2D,MESH3D)
00110       USE BIEF_DEF
00111       IMPLICIT NONE
00112       INTEGER,          INTENT(IN)    :: NPLAN,NPOIN2,NSEG2,DIMGLO
00113       DOUBLE PRECISION, INTENT(IN)    :: OBJSOL(NPOIN2,NPLAN)
00114       CHARACTER,        INTENT(IN)    :: REFTYPE
00115       INTEGER,          INTENT(IN)    :: GLOSEG(DIMGLO,2)
00116       DOUBLE PRECISION, INTENT(INOUT) :: ZVALS(NPOIN2,NPLAN)
00117       DOUBLE PRECISION, INTENT(INOUT) :: Z0(NPOIN2,NPLAN)
00118       DOUBLE PRECISION, INTENT(INOUT) :: NEWZ(NPOIN2,NPLAN)
00119       DOUBLE PRECISION, INTENT(INOUT) :: ZEXT(NPOIN2,NPLAN)
00120       DOUBLE PRECISION, INTENT(INOUT) :: INTSOL(NPOIN2,NPLAN)
00121       DOUBLE PRECISION, INTENT(INOUT) :: MONITOR(NPOIN2,NPLAN)
00122       DOUBLE PRECISION, INTENT(INOUT) :: SMONITOR(NPOIN2,NPLAN)
00123       INTEGER,          INTENT(INOUT) :: NEXTR(NPOIN2)
00124       DOUBLE PRECISION, INTENT(INOUT) :: NNEIGH(NPOIN2),MCOEFF(NPOIN2)
00125       TYPE(BIEF_OBJ),   INTENT(INOUT) :: SNNEIGH,SSMONITOR
00126       TYPE(BIEF_MESH),  INTENT(INOUT) :: MESH2D,MESH3D
00127         END SUBROUTINE
00128       END INTERFACE
00129 !
00130 !-----------------------------------------------------------------------
00131 !
00132       INTERFACE
00133         SUBROUTINE AIRWIK3
00134      & (LIHBOR,U,V,XNEBOR,YNEBOR,NBOR,NPTFR,NPLAN,NPOIN2,KLOG)
00135       IMPLICIT NONE
00136       INTEGER, INTENT(IN) :: NPTFR,NPLAN,NPOIN2,KLOG
00137       INTEGER, INTENT(IN) :: LIHBOR(NPTFR),NBOR(NPTFR)
00138       DOUBLE PRECISION, INTENT(IN)    :: XNEBOR(NPTFR),YNEBOR(NPTFR)
00139       DOUBLE PRECISION, INTENT(INOUT) :: U(NPOIN2,NPLAN),V(NPOIN2,NPLAN)
00140         END SUBROUTINE
00141       END INTERFACE
00142 !
00143 !-----------------------------------------------------------------------
00144 !
00145       INTERFACE
00146         SUBROUTINE BIL3D(LT,IKLBORL,NPTFR,NETAG,NELEM)
00147       USE DECLARATIONS_TELEMAC3D, ONLY:NELEBX
00148       IMPLICIT NONE
00149       INTEGER, INTENT(IN) :: LT,NPTFR,NETAG,NELEM
00150       INTEGER, INTENT(IN) :: IKLBORL(NELEBX,4)
00151         END SUBROUTINE
00152       END INTERFACE
00153 !
00154 !-----------------------------------------------------------------------
00155 !
00156       INTERFACE
00157         SUBROUTINE BISSEL(IVIDE,TRA01,NPFMAX,IMAX,NDEB)
00158           IMPLICIT NONE
00159           INTEGER, INTENT(IN)             :: NPFMAX,IMAX,NDEB
00160           DOUBLE PRECISION, INTENT(INOUT) :: IVIDE(NPFMAX)
00161           DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPFMAX,6)
00162         END SUBROUTINE
00163       END INTERFACE
00164 !-----------------------------------------------------------------------
00165 !
00166       INTERFACE
00167         SUBROUTINE TRID1D(X,AA,BB,CC,DD,GAM,IMAX)
00168           IMPLICIT NONE
00169           INTEGER, INTENT(IN) :: IMAX
00170            DOUBLE PRECISION, INTENT(INOUT) :: X(IMAX),DD(IMAX),GAM(IMAX)
00171            DOUBLE PRECISION, INTENT(INOUT) :: AA(IMAX),BB(IMAX),CC(IMAX)
00172         END SUBROUTINE
00173       END INTERFACE
00174 !
00175 !-----------------------------------------------------------------------
00176 !
00177       INTERFACE
00178         SUBROUTINE BORD3D(AAT,LT,IINFOGR,NPTFR2_DIM,NFRLIQ)
00179           IMPLICIT NONE
00180           DOUBLE PRECISION, INTENT(IN)    :: AAT
00181           INTEGER         , INTENT(IN)    :: LT
00182           LOGICAL         , INTENT(IN)    :: IINFOGR
00183           INTEGER         , INTENT(IN)    :: NPTFR2_DIM
00184           INTEGER         , INTENT(IN)    :: NFRLIQ
00185         END SUBROUTINE
00186       END INTERFACE
00187 !
00188 !-----------------------------------------------------------------------
00189 !
00190       INTERFACE
00191         SUBROUTINE BYPASS_CRUSHED_POINTS
00192      & (VOLU,SVOLU,VOLUN,SVOLUN,FLUX,TRA01,MESH2,MESH3,
00193      &  NPOIN3,SCHCF,NPOIN2,GLOSEG,DIMGLO,NSEG,NPLAN)
00194       USE BIEF_DEF
00195       IMPLICIT NONE
00196       INTEGER, INTENT(IN)             :: SCHCF,NPOIN3,NPOIN2
00197       INTEGER, INTENT(IN)             :: NSEG,NPLAN,DIMGLO
00198       INTEGER, INTENT(IN)             :: GLOSEG(DIMGLO,2)
00199       DOUBLE PRECISION, INTENT(IN)    :: VOLUN(NPOIN3),VOLU(NPOIN3)
00200       TYPE(BIEF_OBJ), INTENT(IN)      :: SVOLU,SVOLUN
00201       TYPE(BIEF_OBJ), INTENT(INOUT)   :: TRA01
00202       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH2,MESH3
00203       DOUBLE PRECISION, INTENT(INOUT) :: FLUX(*)
00204         END SUBROUTINE
00205       END INTERFACE
00206 !
00207 !-----------------------------------------------------------------------
00208 !
00209       INTERFACE
00210         SUBROUTINE CALCG(TRAV2,TRAV3,U,V,UETCAR,NPOIN2,NPLAN)
00211           IMPLICIT NONE
00212           INTEGER         , INTENT(IN)    :: NPOIN2,NPLAN
00213           DOUBLE PRECISION, INTENT(IN)    :: U(NPOIN2),V(NPOIN2)
00214           DOUBLE PRECISION, INTENT(IN)    :: UETCAR(NPOIN2)
00215           DOUBLE PRECISION, INTENT(IN)    :: TRAV2(NPOIN2*NPLAN)
00216           DOUBLE PRECISION, INTENT(INOUT) :: TRAV3(NPOIN2*NPLAN)
00217         END SUBROUTINE
00218       END INTERFACE
00219 !
00220 !-----------------------------------------------------------------------
00221 !
00222       INTERFACE
00223         SUBROUTINE CALCOT(ZZ,HH)
00224           USE DECLARATIONS_TELEMAC3D
00225           IMPLICIT NONE
00226           DOUBLE PRECISION, INTENT(IN)    :: HH(NPOIN2)
00227           DOUBLE PRECISION, INTENT(INOUT) :: ZZ(NPOIN2,NPLAN)
00228         END SUBROUTINE
00229       END INTERFACE
00230 !
00231 !-----------------------------------------------------------------------
00232 !
00233       INTERFACE
00234         SUBROUTINE CHECK
00235      &(IKLE2,NBOR,NELBOR,IKLBOR,NELEB,NELEBX,IKLE3,NELBO3,NULONE,
00236      & DIM1NUL,DIM2NUL,NBOR3,NELEM2,NPOIN2,NPTFR,NELEM3,NPTFR3,INFO)
00237       IMPLICIT NONE
00238       INTEGER, INTENT(IN) :: NELEM2,NPOIN2,NPTFR,NELEM3
00239       INTEGER, INTENT(IN) :: NPTFR3,NELEB,NELEBX,DIM1NUL,DIM2NUL
00240       INTEGER, INTENT(IN) :: NELBOR(NPTFR),NBOR(NPTFR)
00241       INTEGER, INTENT(IN) :: IKLE2(NELEM2,3)
00242       INTEGER, INTENT(IN) :: IKLBOR(NELEBX,4),IKLE3(NELEM3,6)
00243       INTEGER, INTENT(IN) :: NELBO3(NELEBX)
00244       INTEGER, INTENT(IN) :: NULONE(DIM1NUL,DIM2NUL)
00245       INTEGER, INTENT(IN) :: NBOR3(NPTFR3)
00246       LOGICAL, INTENT(IN) :: INFO
00247         END SUBROUTINE
00248       END INTERFACE
00249 !
00250 !-----------------------------------------------------------------------
00251 !
00252       INTERFACE
00253         SUBROUTINE CLSEDI
00254      &( ATABOF , BTABOF  , ATABOS , BTABOS  , TA     ,
00255      &  WC     , GRADZFX , GRADZFY, GRADZSX , GRADZSY,
00256      &  X      , Y       , Z      , HN      , DELTAR ,
00257      &  TOB    , DENSI   , TRA03  , EPAI    , CFDEP  ,
00258      &  CONC   , HDEP    , FLUER  , FLUDPT  , LITABF ,
00259      &  LITABS , KLOG    , NPOIN3 , NPOIN2  , NPLAN  ,
00260      &  NCOUCH , ITURBV  , DT     , RHO0    ,  RHOS  ,
00261      &  TOCD   , MPART   , TOCE   , UETCAR  , GRAV   ,
00262      &  SEDCO  , DMOY    , CREF   , ZREF    , CF     ,
00263      &  AC     , KSPRATIO, ICR    , ICQ     , RUGOF  ,
00264      &  SETDEP , HMIN    , WCS    , EPAICO  , EPAINCO,
00265      &  MIXTE  , SEDNCO  , FLUDPTC, FLUDPTNC, FLUERC ,
00266      &  FLUERNC, NTRAC   , ITRAC)
00267       USE BIEF
00268       IMPLICIT NONE
00269 !
00270       INTEGER, INTENT(IN) :: NPOIN2,NPOIN3,KLOG,ICQ, ITRAC, NTRAC
00271       INTEGER, INTENT(IN) :: NCOUCH,ITURBV,NPLAN,ICR
00272 !
00273       DOUBLE PRECISION, INTENT(INOUT) :: ATABOF(NPOIN2), BTABOF(NPOIN2)
00274       DOUBLE PRECISION, INTENT(INOUT) :: ATABOS(NPOIN2), BTABOS(NPOIN2)
00275 !
00276       DOUBLE PRECISION, INTENT(IN)  :: X(NPOIN3), Y(NPOIN3), Z(NPOIN3)
00277       DOUBLE PRECISION, INTENT(IN)  :: TA(NPOIN3),CFDEP
00278       DOUBLE PRECISION, INTENT(IN)  :: WC(NPOIN3), DELTAR(NPOIN3)
00279       DOUBLE PRECISION, INTENT(IN)  :: WCS(NPOIN3)
00280 !
00281       TYPE(BIEF_OBJ), INTENT(INOUT) :: TOB,CREF,ZREF,RUGOF
00282       TYPE(BIEF_OBJ), INTENT(IN)    :: DMOY,HN,CF
00283 !
00284       DOUBLE PRECISION, INTENT(INOUT) :: EPAI(NPOIN2,NCOUCH)
00285       DOUBLE PRECISION, INTENT(IN)    :: EPAICO(NPOIN2), EPAINCO(NPOIN2)
00286       DOUBLE PRECISION, INTENT(IN)    :: CONC(NPOIN2,NCOUCH)
00287 !
00288       DOUBLE PRECISION, INTENT(INOUT) :: DENSI(NPOIN2)
00289       DOUBLE PRECISION, INTENT(INOUT) :: TRA03(NPOIN2),UETCAR(NPOIN2)
00290       DOUBLE PRECISION, INTENT(INOUT) :: HDEP(NPOIN2),FLUER(NPOIN2)
00291       DOUBLE PRECISION, INTENT(INOUT) :: FLUERC(NPOIN2), FLUERNC(NPOIN2)
00292       DOUBLE PRECISION, INTENT(INOUT) :: FLUDPT(NPOIN2)
00293       DOUBLE PRECISION, INTENT(INOUT) :: FLUDPTC(NPOIN2)
00294       DOUBLE PRECISION, INTENT(INOUT) :: FLUDPTNC(NPOIN2)
00295 !
00296       DOUBLE PRECISION, INTENT(IN) :: GRADZFX(NPOIN2),GRADZFY(NPOIN2)
00297       DOUBLE PRECISION, INTENT(IN) :: GRADZSX(NPOIN2),GRADZSY(NPOIN2)
00298 !
00299       DOUBLE PRECISION, INTENT(IN) :: DT, RHO0, RHOS, HMIN
00300       DOUBLE PRECISION, INTENT(IN) :: TOCD, GRAV
00301       DOUBLE PRECISION, INTENT(IN) :: MPART, TOCE(NPOIN2,NCOUCH)
00302 !
00303       INTEGER, INTENT(INOUT)       :: LITABF(NPOIN2), LITABS(NPOIN2)
00304       LOGICAL, INTENT(IN)          :: SEDCO, MIXTE, SEDNCO
00305       INTEGER, INTENT(IN)          :: SETDEP
00306       DOUBLE PRECISION, INTENT(IN) :: AC, KSPRATIO
00307         END SUBROUTINE
00308       END INTERFACE
00309 !
00310 !-----------------------------------------------------------------------
00311 !
00312       INTERFACE
00313         SUBROUTINE COEF
00314      &  (IVIDE , EPAI , TRA01 ,
00315      &   NPFMAX, IMAX , NDEB  ,
00316      &   RHOS  , GRAV , DTC   , DSIG1    )
00317       IMPLICIT NONE
00318       INTEGER, INTENT(IN) ::  NPFMAX , IMAX,NDEB
00319       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPFMAX,6)
00320       DOUBLE PRECISION, INTENT(IN) :: EPAI(NPFMAX-1), IVIDE(NPFMAX)
00321       DOUBLE PRECISION, INTENT(IN) :: RHOS , GRAV ,DTC , DSIG1
00322         END SUBROUTINE
00323       END INTERFACE
00324 !
00325 !-----------------------------------------------------------------------
00326 !
00327       INTERFACE
00328         SUBROUTINE CONDIM
00329           IMPLICIT NONE
00330         END SUBROUTINE
00331       END INTERFACE
00332 !
00333 !-----------------------------------------------------------------------
00334 !
00335       INTERFACE
00336         SUBROUTINE CONDIS
00337      &(IVIDE   , EPAI  , TREST , CONC  , TEMP      , HDEP      ,
00338      & ZR      , ZF    , X     , Y     , NPOIN2    , NPOIN3    ,
00339      & NPF     , NCOUCH, TASSE , ITASS , RHOS      , XKV       ,
00340      & CFDEP   , ESOMT , TOCE  , SEDCO , CONC_LAYER, TOCE_LAYER,
00341      & ES_LAYER, SEDNCO, MIXTE , EPAICO, EPAINCO   , PVSCO     ,
00342      & PVSNCO  , PVSNCO0)
00343           USE BIEF_DEF
00344           IMPLICIT NONE
00345       INTEGER, INTENT(IN)             :: NPOIN2,NPOIN3,NCOUCH
00346       DOUBLE PRECISION, INTENT(OUT)   :: IVIDE(NPOIN2,NCOUCH+1), CFDEP
00347 !
00348       DOUBLE PRECISION, INTENT(INOUT) :: EPAI(NPOIN2,NCOUCH)
00349       DOUBLE PRECISION, INTENT(INOUT) :: EPAICO(NPOIN2), EPAINCO(NPOIN2)
00350       DOUBLE PRECISION, INTENT(INOUT) :: PVSCO(NPOIN2), PVSNCO(NPOIN2)
00351       DOUBLE PRECISION, INTENT(INOUT) :: CONC(NPOIN2,NCOUCH)
00352 !
00353       DOUBLE PRECISION, INTENT(OUT)   :: TEMP(NCOUCH,NPOIN2)
00354 !
00355       DOUBLE PRECISION, INTENT(OUT)   :: HDEP(NPOIN2)
00356       DOUBLE PRECISION, INTENT(OUT)   :: ZR(NPOIN2)
00357       DOUBLE PRECISION, INTENT(IN)    :: ZF(NPOIN2)
00358       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN2),Y(NPOIN2)
00359       DOUBLE PRECISION, INTENT(INOUT) :: TREST(NCOUCH)
00360       DOUBLE PRECISION, INTENT(INOUT) :: TOCE(NPOIN2,NCOUCH)
00361       DOUBLE PRECISION, INTENT(IN)    :: CONC_LAYER(NCOUCH)
00362       DOUBLE PRECISION, INTENT(IN)    :: ES_LAYER(NCOUCH)
00363       DOUBLE PRECISION, INTENT(IN)    :: TOCE_LAYER(NCOUCH)
00364       INTEGER, INTENT(OUT)            :: NPF(NPOIN2)
00365       TYPE(BIEF_OBJ), INTENT (INOUT)  :: ESOMT
00366       LOGICAL, INTENT(IN)             :: TASSE
00367       LOGICAL, INTENT(IN)             :: SEDCO, SEDNCO, MIXTE
00368       INTEGER, INTENT(IN)             :: ITASS
00369       DOUBLE PRECISION, INTENT(IN)    :: RHOS,XKV, PVSNCO0
00370         END SUBROUTINE
00371       END INTERFACE
00372 !
00373 !-----------------------------------------------------------------------
00374 !
00375       INTERFACE
00376         SUBROUTINE T3D_CORFON
00377      &(SZF, ST1, ST2, ZF, T1, T2, X, Y, PRIVE, NPOIN2,
00378      & LISFON, MSK, MASKEL, MATR2D, MESH2D, S)
00379       USE BIEF_DEF
00380       IMPLICIT NONE
00381       INTEGER, INTENT(IN) :: NPOIN2, LISFON
00382       LOGICAL, INTENT(IN) :: MSK
00383       TYPE (BIEF_OBJ), INTENT(INOUT) :: SZF, ST1, ST2
00384       DOUBLE PRECISION, DIMENSION(NPOIN2), INTENT(INOUT) :: ZF, T1, T2
00385       DOUBLE PRECISION, DIMENSION(NPOIN2), INTENT(IN) :: X,Y
00386       TYPE (BIEF_OBJ),  INTENT(INOUT) :: PRIVE
00387       TYPE (BIEF_OBJ),  INTENT(IN)    :: MASKEL
00388       TYPE (BIEF_OBJ),  INTENT(INOUT) :: MATR2D
00389       TYPE (BIEF_MESH), INTENT(INOUT) :: MESH2D
00390       TYPE (BIEF_OBJ),  INTENT(IN)    :: S
00391         END SUBROUTINE
00392       END INTERFACE
00393 !
00394 !-----------------------------------------------------------------------
00395 !
00396       INTERFACE
00397         SUBROUTINE CORRECTION_DEPTH_3D(W2D,W3D,GLOSEG,DIMGLO)
00398         USE DECLARATIONS_TELEMAC3D
00399       IMPLICIT NONE
00400       INTEGER, INTENT(IN)             :: DIMGLO
00401       INTEGER, INTENT(IN)             :: GLOSEG(DIMGLO,2)
00402       DOUBLE PRECISION, INTENT(INOUT) :: W2D(NELEM2,3),W3D(NELEM3,6)
00403         END SUBROUTINE
00404       END INTERFACE
00405 !
00406 !-----------------------------------------------------------------------
00407 !
00408       INTERFACE
00409         SUBROUTINE COUPE
00410      & (F,FINT,SCURV,NPOIN,IKLE3,IFABOR,X,Y,Z,SURFAC,NELEM2,NPOIN3,
00411      &  NETAGE,X1,Y1,Z1,X2,Y2,Z2)
00412       IMPLICIT NONE
00413       INTEGER, INTENT(IN) ::  NPOIN, NELEM2, NPOIN3, NETAGE
00414       INTEGER, INTENT(IN) ::  IKLE3(NELEM2,NETAGE,6)
00415       INTEGER, INTENT(IN) ::  IFABOR(NELEM2,3)
00416       DOUBLE PRECISION, INTENT(IN)    :: F(NPOIN3)
00417       DOUBLE PRECISION, INTENT(INOUT) :: FINT(NPOIN)
00418       DOUBLE PRECISION, INTENT(INOUT) :: SCURV(NPOIN)
00419       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN3),Y(NPOIN3),Z(NPOIN3)
00420       DOUBLE PRECISION, INTENT(IN)    :: SURFAC(NELEM2)
00421       DOUBLE PRECISION, INTENT(IN)    :: X1,Y1,Z1,X2,Y2,Z2
00422         END SUBROUTINE
00423       END INTERFACE
00424 !
00425 !-----------------------------------------------------------------------
00426 !
00427       INTERFACE
00428         SUBROUTINE CSTKEP
00429       IMPLICIT NONE
00430         END SUBROUTINE
00431       END INTERFACE
00432 !
00433 !-----------------------------------------------------------------------
00434 !
00435       INTERFACE
00436         SUBROUTINE CVDF3D
00437      & (FD,FC,FN,VISCF,SIGMAF,S0F,YAS0F,S1F,YAS1F,
00438      &  FBORL, FBORF, FBORS, AFBORL, AFBORF, AFBORS,
00439      &  BFBORL, BFBORF, BFBORS, LIFBOL, LIFBOF, LIFBOS,
00440      &  FLUXF, FLUEXTF, FLUEXTPAR,FMIN, CLIMIN, FMAX, CLIMAX,
00441      &  SCHCF, SCHDF, SLVDIF, TRBAF, INFOR, NEWDIF, CALFLU,
00442      &  T2_01,T2_02,T2_03,
00443      &  T3_01,T3_02,T3_03,T3_04, MESH3D , IKLE3 , MASKEL , MTRA1,
00444      &  W1,NPTFR3,MMURD,MURD_TF,VOLU,VOLUPAR,VOLUN,VOLUNPAR,
00445      &  NBOR3,NPOIN3,NPOIN2,DT,MSK,NELEM2,NELEM3,
00446      &  NPLAN,LV,IELM3,MSUPG,IELM2H,IELM2V,MDIFF,MTRA2,
00447      &  INCHYD,MASKBR,MASKPT,SEM3D,YASEM3D,SVIDE,IT1,IT2,
00448      &  TRAV3,MESH2D,MATR2H,H,OPTBAN,OPTDIF,TETADI,
00449      &  YAWCC,WCC,AGGLOD,NSCE,SOURCES,FSCE,NUMLIQ,DIRFLU,NFRLIQ,
00450      &  VOLUT,ZT,ZPROP,RAIN,PLUIE,PARAPLUIE,TRAIN,
00451      &  FLODEL,FLOPAR,SIGMAG,IPBOT,MAXADV,FLUDPT,FLUDP, FLUER,
00452      &  VOLU2D, V2DPAR, SETDEP)
00453       USE BIEF_DEF
00454       IMPLICIT NONE
00455       TYPE(BIEF_OBJ), INTENT(INOUT)   :: FD,FC,FN
00456       TYPE(BIEF_OBJ), INTENT(INOUT)   :: S1F,VISCF
00457       TYPE(BIEF_OBJ), TARGET, INTENT(INOUT)   :: S0F
00458       TYPE(BIEF_OBJ), INTENT(INOUT)   :: LIFBOL,LIFBOF,LIFBOS
00459       TYPE(BIEF_OBJ), INTENT(INOUT)   :: FBORL,FBORF,FBORS
00460       TYPE(BIEF_OBJ), INTENT(IN)      :: AFBORL,AFBORF,AFBORS
00461       TYPE(BIEF_OBJ), INTENT(IN)      :: BFBORL,BFBORF,BFBORS,PARAPLUIE
00462       TYPE(BIEF_OBJ), INTENT(IN)      :: FLUEXTF,PLUIE,FLODEL,FLOPAR
00463       TYPE(BIEF_OBJ), INTENT(IN)      :: FLUEXTPAR
00464       DOUBLE PRECISION, INTENT(IN)    :: SIGMAF,FMIN,FMAX,DT,TRAIN
00465       DOUBLE PRECISION, INTENT(IN)    :: AGGLOD
00466       DOUBLE PRECISION, INTENT(INOUT) :: FLUXF,TETADI
00467       INTEGER, INTENT(IN)             :: SCHCF,SCHDF,TRBAF,NPTFR3,NFRLIQ
00468       INTEGER, INTENT(IN)             :: NUMLIQ(*),DIRFLU(0:NFRLIQ)
00469       LOGICAL, INTENT(IN)             :: CLIMIN,CLIMAX,YAS0F,YAS1F
00470       LOGICAL, INTENT(IN)             :: INFOR,NEWDIF,CALFLU,MSK
00471       LOGICAL, INTENT(IN)             :: SIGMAG
00472       TYPE(SLVCFG)                    :: SLVDIF
00473       TYPE(BIEF_OBJ), INTENT(IN)      :: MASKEL,IKLE3
00474       TYPE(BIEF_OBJ), INTENT(IN)      :: NBOR3,WCC,SOURCES,ZPROP
00475       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T3_01,T3_02,T3_03,T3_04,W1
00476       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T2_01,T2_02,T2_03,ZT
00477       TYPE(BIEF_OBJ), TARGET, INTENT(INOUT) :: VOLUT
00478 
00479       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH3D
00480       INTEGER, INTENT(IN)             :: NPOIN3,NPOIN2,MAXADV
00481       INTEGER, INTENT(IN)             :: NPLAN,NELEM2,NELEM3,LV
00482       INTEGER, INTENT(IN)             :: OPTBAN,OPTDIF
00483       INTEGER, INTENT(IN)             :: IPBOT(NPOIN2)
00484       TYPE(BIEF_OBJ), INTENT(INOUT)   :: MMURD,MURD_TF,MTRA1
00485       TYPE(BIEF_OBJ), INTENT(IN)      :: VOLUN,VOLUNPAR,VOLUPAR
00486       TYPE(BIEF_OBJ), TARGET, INTENT(IN) :: VOLU
00487       LOGICAL, INTENT(IN)             :: INCHYD,YASEM3D,RAIN
00488       LOGICAL, INTENT(INOUT)          :: YAWCC
00489       TYPE(BIEF_OBJ), INTENT(IN)      :: MASKPT,MASKBR,H,SVIDE
00490       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH2D
00491       INTEGER, INTENT(IN)             :: IELM3,IELM2H,IELM2V,NSCE
00492       TYPE(BIEF_OBJ), INTENT(INOUT)   :: SEM3D,IT1,IT2,TRAV3,MTRA2
00493       TYPE(BIEF_OBJ), INTENT(INOUT)   :: MSUPG,MDIFF,MATR2H
00494       DOUBLE PRECISION, INTENT(IN)    :: FSCE(NSCE)
00495       TYPE(BIEF_OBJ), INTENT(IN)      :: FLUDPT,VOLU2D,V2DPAR
00496       TYPE(BIEF_OBJ), INTENT(INOUT)   :: FLUDP,FLUER
00497       INTEGER, INTENT(IN)             :: SETDEP
00498         END SUBROUTINE
00499       END INTERFACE
00500 !
00501 !-----------------------------------------------------------------------
00502 !
00503       INTERFACE
00504         SUBROUTINE DEBIMP3D
00505      &(Q,UBOR,VBOR,WBOR,U,V,H,NUMLIQ,IFRLIQ,
00506      & T3_01,T3_02,T3_03,
00507      & NPTFR,NETAGE,MASK,MESH,FORMUL,NPOIN2,
00508      & IELM2V,SIGMAG,SVIDE,MASKBR,ZPROP)
00509       USE BIEF_DEF
00510       IMPLICIT NONE
00511       INTEGER, INTENT(IN) :: NPTFR,NETAGE,NPOIN2,IFRLIQ
00512       INTEGER, INTENT(IN) :: NUMLIQ(NPTFR)
00513       DOUBLE PRECISION, INTENT(INOUT) :: UBOR(*),VBOR(*),WBOR(*)
00514       DOUBLE PRECISION, INTENT(IN) :: MASK(*)
00515       DOUBLE PRECISION, INTENT(IN) :: Q
00516       CHARACTER(LEN=16) FORMUL
00517       INTEGER, INTENT(IN) :: IELM2V
00518       LOGICAL, INTENT(IN) :: SIGMAG
00519       TYPE(BIEF_MESH) :: MESH
00520       TYPE(BIEF_OBJ), INTENT(INOUT) :: MASKBR
00521       TYPE(BIEF_OBJ) , INTENT(INOUT):: H,U,V
00522       TYPE(BIEF_OBJ) , INTENT(INOUT):: T3_01,T3_02,T3_03
00523       TYPE(BIEF_OBJ) , INTENT(INOUT) :: ZPROP
00524       TYPE(BIEF_OBJ) , INTENT(INOUT) :: SVIDE
00525         END SUBROUTINE
00526       END INTERFACE
00527 !
00528 !-----------------------------------------------------------------------
00529 !
00530       INTERFACE
00531         SUBROUTINE DEBIMP_3D
00532      &(Q,UBOR,VBOR,WBOR,U,V,NUMLIQ,NUMLIQ_ELM,IFRLIQ,T3_02,
00533      & NPTFR,NETAGE,MASK,MESH,FORMUL,IELM2V,SVIDE,MASKBR,NELEB)
00534       USE BIEF_DEF
00535       IMPLICIT NONE
00536       INTEGER, INTENT(IN) :: NPTFR,NETAGE,IFRLIQ,NELEB
00537       INTEGER, INTENT(IN) :: NUMLIQ(NPTFR),NUMLIQ_ELM(NELEB)
00538       DOUBLE PRECISION, INTENT(INOUT) :: UBOR(*),VBOR(*),WBOR(*)
00539       DOUBLE PRECISION, INTENT(IN) :: Q
00540       CHARACTER(LEN=16) FORMUL
00541       INTEGER, INTENT(IN)            :: IELM2V
00542       TYPE(BIEF_MESH)                :: MESH
00543       TYPE(BIEF_OBJ), INTENT(IN)     :: MASK
00544       TYPE(BIEF_OBJ), INTENT(INOUT)  :: MASKBR
00545       TYPE(BIEF_OBJ) , INTENT(INOUT) :: U,V
00546       TYPE(BIEF_OBJ) , INTENT(INOUT) :: T3_02
00547       TYPE(BIEF_OBJ) , INTENT(INOUT) :: SVIDE
00548         END SUBROUTINE
00549       END INTERFACE
00550 !
00551 !-----------------------------------------------------------------------
00552 !
00553       INTERFACE
00554         SUBROUTINE DESSED
00555      & (NPF,IVIDE,EPAI,HDEP,CONC,TEMP,ZR,NPOIN2,NPFMAX,NCOUCH,
00556      &  NIT,GRAPRD,LT,DTC,TASSE,GIBSON,NRSED,TITCAS,BIRSED,GRADEB)
00557       IMPLICIT NONE
00558       INTEGER, INTENT(IN)          :: NPOIN2, NPFMAX, NRSED
00559       INTEGER, INTENT(IN)          :: LT, NIT , NCOUCH
00560       INTEGER, INTENT(IN)          :: GRAPRD, GRADEB
00561       INTEGER, INTENT(IN)          :: NPF(NPOIN2)
00562       DOUBLE PRECISION, INTENT(IN) :: EPAI((NPFMAX-1)*NPOIN2)
00563       DOUBLE PRECISION, INTENT(IN) :: IVIDE(NPFMAX*NPOIN2)
00564       DOUBLE PRECISION, INTENT(IN) :: HDEP(NPOIN2), ZR(NPOIN2)
00565       DOUBLE PRECISION, INTENT(IN) :: CONC(NCOUCH), TEMP(NCOUCH*NPOIN2)
00566       DOUBLE PRECISION, INTENT(IN) :: DTC
00567       LOGICAL, INTENT(IN)          :: TASSE,GIBSON
00568       CHARACTER(LEN=72), INTENT(IN):: TITCAS
00569       CHARACTER(LEN=3), INTENT(IN) :: BIRSED
00570         END SUBROUTINE
00571       END INTERFACE
00572 !
00573 !-----------------------------------------------------------------------
00574 !
00575       INTERFACE
00576         SUBROUTINE DIAG_MURD
00577      &(DIAG,XM,NELEM,NELMAX,NPOIN3,IKLE,IELM3,DIM1X)
00578       IMPLICIT NONE
00579       INTEGER, INTENT(IN) :: NELEM,NELMAX,NPOIN3,IELM3,DIM1X
00580       INTEGER, INTENT(IN) :: IKLE(NELMAX,*)
00581       DOUBLE PRECISION, INTENT(INOUT) :: DIAG(NPOIN3)
00582       DOUBLE PRECISION, INTENT(IN)    :: XM(DIM1X,NELMAX)
00583         END SUBROUTINE
00584       END INTERFACE
00585 !
00586 !-----------------------------------------------------------------------
00587 !
00588       INTERFACE
00589         SUBROUTINE DIFF3D
00590      & (FD,FC,FN,VISCF,SIGMAF,S0F,YAS0F,S1F,YAS1F,
00591      &  FBORL,FBORF,FBORS,AFBORL,AFBORF,AFBORS,
00592      &  BFBORL,BFBORF,BFBORS,LIFBOF,LIFBOL,LIFBOS,
00593      &  FMIN,CLIMIN,FMAX,CLIMAX,
00594      &  SCHCF,SCHDF,SLVDIF,TRBAF,INFO,
00595      &  NEWDIF,DT,T2_01,T2_02,T2_03,T3_01,T3_02,T3_03,T3_04,
00596      &  NPOIN2,NPOIN3,INCHYD,SEM3D,YASEM3D,IT1,NPTFR3,NBOR3,MASKPT,
00597      &  TRAV3,MESH2D,MESH3D,MTRA1,MTRA2,IELM3,MSUPG,IELM2H,IELM2V,
00598      &  MDIFF,MATR2H,MASKBR,SVIDE,MSK,MASKEL,H,
00599      &  NPLAN,OPTBAN,OPTDIF,TETADI,YAWCC,WCC,AGGLOD,VOLU,
00600      &  YASCE,NSCE,FSCE,SOURCES,TETASUPG,VELOCITY,RAIN,PLUIE,TRAIN,
00601      &  SIGMAG,IPBOT,SETDEP)
00602       USE BIEF_DEF
00603       IMPLICIT NONE
00604       INTEGER, INTENT(IN)             :: SCHCF,SCHDF,TRBAF,OPTDIF,NSCE
00605       INTEGER, INTENT(IN)             :: NPOIN2,SETDEP
00606       TYPE(BIEF_OBJ), INTENT(INOUT)   :: FD,FC,FN,S0F,S1F,VISCF
00607       TYPE(BIEF_OBJ), INTENT(IN)      :: LIFBOL,LIFBOF,LIFBOS
00608       TYPE(BIEF_OBJ), INTENT(IN)      :: FBORL,FBORF,FBORS
00609       TYPE(BIEF_OBJ), INTENT(IN)      :: AFBORL,AFBORF,AFBORS
00610       TYPE(BIEF_OBJ), INTENT(IN)      :: BFBORL,BFBORF,BFBORS,H,WCC
00611       DOUBLE PRECISION, INTENT(IN)    :: SIGMAF,FMIN,FMAX,DT,AGGLOD
00612       DOUBLE PRECISION, INTENT(IN)    :: FSCE(NSCE),TETASUPG,TRAIN
00613       DOUBLE PRECISION, INTENT(IN)    :: PLUIE(NPOIN2)
00614       DOUBLE PRECISION, INTENT(INOUT) :: TETADI
00615       LOGICAL, INTENT(IN)             :: CLIMIN,CLIMAX,YASCE,VELOCITY
00616       LOGICAL, INTENT(IN)             :: INFO,NEWDIF,YASEM3D
00617       LOGICAL, INTENT(IN)             :: YAS0F,YAS1F,SIGMAG
00618       TYPE(SLVCFG)                    :: SLVDIF
00619       LOGICAL, INTENT(IN)             :: INCHYD,MSK,YAWCC,RAIN
00620       TYPE(BIEF_OBJ), INTENT(IN)      :: MASKPT,MASKBR,MASKEL,VOLU
00621       TYPE(BIEF_OBJ), INTENT(IN)      :: NBOR3,SVIDE,SOURCES
00622       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T3_01,T3_02,T3_03,T3_04
00623       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T2_01,T2_02,T2_03
00624       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH3D,MESH2D
00625       INTEGER, INTENT(IN)             :: NPOIN3,IELM3,IELM2H,IELM2V
00626       INTEGER, INTENT(IN)             :: NPTFR3,NPLAN,OPTBAN
00627       INTEGER, INTENT(IN)             :: IPBOT(NPOIN2)
00628       TYPE(BIEF_OBJ), INTENT(INOUT)   :: SEM3D,IT1,TRAV3,MTRA1,MTRA2
00629       TYPE(BIEF_OBJ), INTENT(INOUT)   :: MSUPG,MDIFF
00630       TYPE(BIEF_OBJ), INTENT(INOUT)   :: MATR2H
00631         END SUBROUTINE
00632       END INTERFACE
00633 !
00634 !-----------------------------------------------------------------------
00635       INTERFACE
00636         SUBROUTINE DIFFV
00637      & (FD,FC,FN,VISCF,SIGMAF,S0F,YAS0F,S1F,YAS1F,
00638      &  FBORL,FBORF,FBORS,AFBORL,AFBORF,AFBORS,
00639      &  BFBORL,BFBORF,BFBORS,LIFBOF,LIFBOL,LIFBOS,
00640      &  FMIN,CLIMIN,FMAX,CLIMAX,
00641      &  SCHCF,SCHDF,SLVDIF,TRBAF,INFO,
00642      &  NEWDIF,DT,T2_01,T2_02,T2_03,T3_01,T3_02,T3_03,T3_04,
00643      &  NPOIN2,NPOIN3,INCHYD,SEM3D,YASEM3D,IT1,NPTFR3,NBOR3,MASKPT,
00644      &  TRAV3,MESH2D,MESH3D,MTRA1,MTRA2,IELM3,MSUPG,IELM2H,IELM2V,
00645      &  MDIFF,MATR2H,MASKBR,SVIDE,MSK,MASKEL,H,
00646      &  NPLAN,OPTBAN,OPTDIF,TETADI,YAWCC,WCC,AGGLOD,VOLU,
00647      &  YASCE,NSCE,FSCE,SOURCES,TETASUPG,VELOCITY,RAIN,PLUIE,TRAIN,
00648      &  SIGMAG,IPBOT)
00649       USE BIEF_DEF
00650       IMPLICIT NONE
00651       INTEGER, INTENT(IN)             :: SCHCF,SCHDF,TRBAF,OPTDIF,NSCE
00652       INTEGER, INTENT(IN)             :: NPOIN2
00653       TYPE(BIEF_OBJ), INTENT(INOUT)   :: FD,FC,FN,S0F,S1F,VISCF
00654       TYPE(BIEF_OBJ), INTENT(IN)      :: LIFBOL,LIFBOF,LIFBOS
00655       TYPE(BIEF_OBJ), INTENT(IN)      :: FBORL,FBORF,FBORS
00656       TYPE(BIEF_OBJ), INTENT(IN)      :: AFBORL,AFBORF,AFBORS
00657       TYPE(BIEF_OBJ), INTENT(IN)      :: BFBORL,BFBORF,BFBORS,H,WCC
00658       DOUBLE PRECISION, INTENT(IN)    :: SIGMAF,FMIN,FMAX,DT,AGGLOD
00659       DOUBLE PRECISION, INTENT(IN)    :: FSCE(NSCE),TETASUPG,TRAIN
00660       DOUBLE PRECISION, INTENT(IN)    :: PLUIE(NPOIN2)
00661       DOUBLE PRECISION, INTENT(INOUT) :: TETADI
00662       LOGICAL, INTENT(IN)             :: CLIMIN,CLIMAX,YASCE,VELOCITY
00663       LOGICAL, INTENT(IN)             :: INFO,NEWDIF,YASEM3D
00664       LOGICAL, INTENT(IN)             :: YAS0F,YAS1F,SIGMAG
00665       TYPE(SLVCFG)                    :: SLVDIF
00666       LOGICAL, INTENT(IN)             :: INCHYD,MSK,YAWCC,RAIN
00667       TYPE(BIEF_OBJ), INTENT(IN)      :: MASKPT,MASKBR,MASKEL,VOLU
00668       TYPE(BIEF_OBJ), INTENT(IN)      :: NBOR3,SVIDE,SOURCES
00669       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T3_01,T3_02,T3_03,T3_04
00670       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T2_01,T2_02,T2_03
00671       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH3D,MESH2D
00672       INTEGER, INTENT(IN)             :: NPOIN3,IELM3,IELM2H,IELM2V
00673       INTEGER, INTENT(IN)             :: NPTFR3,NPLAN,OPTBAN
00674       INTEGER, INTENT(IN)             :: IPBOT(NPOIN2)
00675       TYPE(BIEF_OBJ), INTENT(INOUT)   :: SEM3D,IT1,TRAV3,MTRA1,MTRA2
00676       TYPE(BIEF_OBJ), INTENT(INOUT)   :: MSUPG,MDIFF
00677       TYPE(BIEF_OBJ), INTENT(INOUT)   :: MATR2H
00678         END SUBROUTINE
00679       END INTERFACE
00680 !
00681 !-----------------------------------------------------------------------
00682 !
00683       INTERFACE
00684         SUBROUTINE DRIALG(FRV,FRT,RI,NPOIN3)
00685           IMPLICIT NONE
00686           INTEGER         , INTENT(IN)    :: NPOIN3
00687           DOUBLE PRECISION, INTENT(INOUT) :: FRV(NPOIN3), FRT(NPOIN3)
00688           DOUBLE PRECISION, INTENT(INOUT) :: RI(NPOIN3)
00689         END SUBROUTINE
00690       END INTERFACE
00691 !
00692 !-----------------------------------------------------------------------
00693 !
00694       INTERFACE
00695         SUBROUTINE DRICV(FRI,FRT,RI,NPOIN3)
00696           IMPLICIT NONE
00697           INTEGER, INTENT(IN)             :: NPOIN3
00698           DOUBLE PRECISION, INTENT(INOUT) :: FRI(NPOIN3),FRT(NPOIN3)
00699           DOUBLE PRECISION, INTENT(IN)    :: RI(NPOIN3)
00700         END SUBROUTINE
00701       END INTERFACE
00702 !
00703 !-----------------------------------------------------------------------
00704 !
00705       INTERFACE
00706         SUBROUTINE DRIUTI(FRI,RI,ITYP,ITRAC,NPOIN3)
00707           IMPLICIT NONE
00708           INTEGER, INTENT(IN) :: ITYP, ITRAC, NPOIN3
00709           DOUBLE PRECISION, INTENT(INOUT) :: FRI(NPOIN3)
00710           DOUBLE PRECISION, INTENT(INOUT) :: RI(NPOIN3)
00711         END SUBROUTINE
00712       END INTERFACE
00713 !
00714 !-----------------------------------------------------------------------
00715 !
00716       INTERFACE
00717         SUBROUTINE DRSURR
00718      & (DELTAR, TA, BETAC,T0AC,RHO,RHO0,RHOS,DENLAW,SEDI,NTRAC,
00719      &  IND_T,IND_S,MIXTE)
00720       USE BIEF_DEF
00721       IMPLICIT NONE
00722       INTEGER, INTENT(IN)           :: NTRAC, DENLAW,IND_T,IND_S
00723       DOUBLE PRECISION, INTENT(IN)  :: RHO0,RHOS
00724       DOUBLE PRECISION, INTENT(IN)  :: BETAC(NTRAC), T0AC(NTRAC)
00725       TYPE(BIEF_OBJ), INTENT(INOUT) :: DELTAR
00726       TYPE(BIEF_OBJ), INTENT(IN)    :: TA
00727       TYPE(BIEF_OBJ), INTENT(INOUT) :: RHO
00728       LOGICAL, INTENT(IN)           :: SEDI,MIXTE
00729         END SUBROUTINE
00730       END INTERFACE
00731 !
00732 !-----------------------------------------------------------------------
00733 !
00734       INTERFACE
00735         SUBROUTINE ERODC
00736      &( CONC  , EPAI   , FLUER  , TOB    , DENSI  ,
00737      &  MPART , DT     , NPOIN2 , NCOUCH ,TOCE, HN, HMIN,
00738      &  MIXTE, EPAICO)
00739       IMPLICIT NONE
00740       INTEGER, INTENT(IN) :: NPOIN2, NCOUCH
00741       DOUBLE PRECISION, INTENT(IN)    :: CONC(NPOIN2,NCOUCH), HN(NPOIN2)
00742       DOUBLE PRECISION, INTENT(IN)    :: TOCE(NPOIN2,NCOUCH)
00743       DOUBLE PRECISION, INTENT(INOUT) :: EPAI(NPOIN2,NCOUCH)
00744       DOUBLE PRECISION, INTENT(IN)    :: EPAICO(NPOIN2)
00745       DOUBLE PRECISION, INTENT(INOUT) :: FLUER(NPOIN2)
00746       DOUBLE PRECISION, INTENT(IN)    :: TOB(NPOIN2),DENSI(NPOIN2)
00747       LOGICAL, INTENT(IN)             :: MIXTE
00748       DOUBLE PRECISION, INTENT(IN)    :: MPART, DT, HMIN
00749         END SUBROUTINE
00750       END INTERFACE
00751 !
00752 !-----------------------------------------------------------------------
00753 !
00754       INTERFACE
00755         SUBROUTINE ERODNC
00756      &(CFDEP  , WCS    , HDEP     , FLUER  , TOB   , DT    ,
00757      & NPOIN2 , NPOIN3 , KSPRATIO , AC     , RHOS  , RHO0  , HN ,
00758      & GRAV   , DMOY   , CREF     , ZREF   , CF    , ICQ   , RUGOF,
00759      & Z      , UETCAR , SETDEP   , EPAINCO, MIXTE)
00760       USE BIEF_DEF
00761       IMPLICIT NONE
00762       INTEGER, INTENT(IN)             :: NPOIN2,NPOIN3,ICQ,SETDEP
00763       DOUBLE PRECISION, INTENT(INOUT) :: HDEP(NPOIN2),FLUER(NPOIN2)
00764       DOUBLE PRECISION, INTENT(IN)    :: EPAINCO(NPOIN2)
00765       DOUBLE PRECISION, INTENT(IN)    :: DT,CFDEP,GRAV,RHOS,RHO0
00766       DOUBLE PRECISION, INTENT(IN)    :: KSPRATIO,AC
00767       TYPE(BIEF_OBJ)  , INTENT(IN)    :: DMOY,TOB,CF,HN
00768       TYPE(BIEF_OBJ)  , INTENT(INOUT) :: CREF,ZREF,RUGOF
00769       DOUBLE PRECISION, INTENT(IN)    :: WCS(NPOIN3)
00770       LOGICAL, INTENT(IN)             :: MIXTE
00771       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN3), UETCAR(NPOIN2)
00772         END SUBROUTINE
00773       END INTERFACE
00774 !
00775 !-----------------------------------------------------------------------
00776 !
00777       INTERFACE
00778         SUBROUTINE EXTMSK(MASKBR,MASK,NETAGE,NELEB)
00779       USE BIEF_DEF
00780       IMPLICIT NONE
00781       INTEGER, INTENT(IN)           :: NETAGE,NELEB
00782       DOUBLE PRECISION, INTENT(IN)  :: MASK(*)
00783       TYPE(BIEF_OBJ), INTENT(INOUT) :: MASKBR
00784         END SUBROUTINE
00785       END INTERFACE
00786 !
00787 !-----------------------------------------------------------------------
00788 !
00789       INTERFACE
00790         SUBROUTINE FINDKSCE(NPOIN2,NPLAN,Z,NSCE,ISCE,ZSCE,KSCE,INFO)
00791           IMPLICIT NONE
00792           INTEGER, INTENT(IN)    :: NPOIN2,NPLAN,NSCE
00793           INTEGER, INTENT(IN)    :: ISCE(NSCE)
00794           INTEGER, INTENT(INOUT) :: KSCE(NSCE)
00795           DOUBLE PRECISION, INTENT(IN) :: Z(NPOIN2,NPLAN)
00796           DOUBLE PRECISION, INTENT(IN) :: ZSCE(NSCE)
00797           LOGICAL, INTENT(IN) :: INFO
00798         END SUBROUTINE
00799       END INTERFACE
00800 !
00801 !-----------------------------------------------------------------------
00802 !
00803       INTERFACE
00804         SUBROUTINE FLOT3D
00805      &(XFLOT,YFLOT,ZFLOT,NFLOT,NFLOT_MAX,X,Y,Z,IKLE,NELEM,NELMAX,NPOIN,
00806      & NPLAN,TAGFLO,SHPFLO,SHZFLO,ELTFLO,ETAFLO,MESH3D,LT,NIT,AT)
00807       USE BIEF_DEF
00808       IMPLICIT NONE
00809       INTEGER, INTENT(IN)             :: NPOIN,NIT,NFLOT_MAX,LT,NPLAN
00810       INTEGER, INTENT(IN)             :: NELEM,NELMAX
00811       INTEGER, INTENT(IN)             :: IKLE(NELMAX,*)
00812       INTEGER, INTENT(INOUT)          :: NFLOT
00813       INTEGER, INTENT(INOUT)          :: TAGFLO(NFLOT_MAX)
00814       INTEGER, INTENT(INOUT)          :: ELTFLO(NFLOT_MAX)
00815       INTEGER, INTENT(INOUT)          :: ETAFLO(NFLOT_MAX)
00816       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN),Y(NPOIN),Z(NPOIN),AT
00817       DOUBLE PRECISION, INTENT(INOUT) :: XFLOT(NFLOT_MAX)
00818       DOUBLE PRECISION, INTENT(INOUT) :: YFLOT(NFLOT_MAX)
00819       DOUBLE PRECISION, INTENT(INOUT) :: ZFLOT(NFLOT_MAX)
00820       DOUBLE PRECISION, INTENT(INOUT) :: SHPFLO(3,NFLOT_MAX)
00821       DOUBLE PRECISION, INTENT(INOUT) :: SHZFLO(NFLOT_MAX)
00822       TYPE(BIEF_MESH) , INTENT(INOUT) :: MESH3D
00823         END SUBROUTINE
00824       END INTERFACE
00825 !
00826 !-----------------------------------------------------------------------
00827 !
00828       INTERFACE
00829         SUBROUTINE FLUSED
00830      &(ATABOF , BTABOF , ATABOS , BTABOS  ,
00831      & LITABF , LITABS , TA     , WC      ,
00832      & X      , Y      , Z      , HN      ,
00833      & GRADZFX, GRADZFY, GRADZSX, GRADZSY ,
00834      & TOB    , FLUDPT , FLUER  , TOCD    ,
00835      & NPOIN3 , NPOIN2 , NPLAN  , KLOG    ,
00836      & HMIN   , SEDCO  , SETDEP , SEDNCO  ,
00837      & WCS    , MIXTE  , FLUDPTC, FLUDPTNC)
00838       IMPLICIT NONE
00839       INTEGER, INTENT(IN) :: NPOIN3,NPOIN2,NPLAN,KLOG,SETDEP
00840       LOGICAL, INTENT(IN) :: SEDCO, SEDNCO, MIXTE
00841       INTEGER, INTENT(IN) :: LITABF(NPOIN2)
00842       DOUBLE PRECISION, INTENT(INOUT) :: ATABOF(NPOIN2), BTABOF(NPOIN2)
00843       INTEGER, INTENT(INOUT) :: LITABS(NPOIN2)
00844       DOUBLE PRECISION, INTENT(INOUT) :: ATABOS(NPOIN2), BTABOS(NPOIN2)
00845       DOUBLE PRECISION, INTENT(IN) :: X(NPOIN3), Y(NPOIN3), Z(NPOIN3)
00846       DOUBLE PRECISION, INTENT(IN) :: TA(NPOIN3)
00847       DOUBLE PRECISION, INTENT(IN) :: WC(NPOIN3)
00848       DOUBLE PRECISION, INTENT(IN) :: GRADZFX(NPOIN2), GRADZFY(NPOIN2)
00849       DOUBLE PRECISION, INTENT(IN) :: GRADZSX(NPOIN2), GRADZSY(NPOIN2)
00850       DOUBLE PRECISION, INTENT(IN) :: HN(NPOIN2)
00851       DOUBLE PRECISION, INTENT(INOUT) :: TOB(NPOIN2)
00852       DOUBLE PRECISION, INTENT(INOUT) :: FLUDPT(NPOIN2), FLUER(NPOIN2)
00853       DOUBLE PRECISION, INTENT(INOUT) :: FLUDPTC(NPOIN2)
00854       DOUBLE PRECISION, INTENT(INOUT) :: FLUDPTNC(NPOIN2)
00855       DOUBLE PRECISION, INTENT(IN) :: TOCD
00856       DOUBLE PRECISION, INTENT(IN) :: WCS(NPOIN3)
00857       DOUBLE PRECISION, INTENT(IN) :: HMIN
00858         END SUBROUTINE
00859       END INTERFACE
00860 !
00861 !-----------------------------------------------------------------------
00862 !
00863       INTERFACE
00864         SUBROUTINE FLUPRI(VEC,XMUL,U,V,W,X,Y,Z,IKLE,
00865      &                    NELEM,NELMAX,NELEM2D,NPOIN2,NPOIN3,T1,T2,T3)
00866       IMPLICIT NONE
00867       INTEGER, INTENT(IN) :: NELEM,NELMAX,NELEM2D,NPOIN2,NPOIN3
00868       DOUBLE PRECISION, INTENT(INOUT) :: VEC(NPOIN3)
00869       INTEGER, INTENT(IN) :: IKLE(NELMAX,6)
00870       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN3),Y(NPOIN3),Z(NPOIN3)
00871       DOUBLE PRECISION, INTENT(IN)    :: XMUL
00872       DOUBLE PRECISION, INTENT(INOUT) :: T1(NELEM2D)
00873       DOUBLE PRECISION, INTENT(INOUT) :: T2(NELEM2D)
00874       DOUBLE PRECISION, INTENT(INOUT) :: T3(NELEM2D)
00875       DOUBLE PRECISION, INTENT(IN) :: U(*),V(*),W(*)
00876 !
00877         END SUBROUTINE
00878       END INTERFACE
00879 !
00880 !-----------------------------------------------------------------------
00881 !
00882       INTERFACE
00883         SUBROUTINE FLUVER_2
00884      &(FLUVER2,UP,VP,WP,GRADZF,VOLU2D,DSSUDT,NPLAN,NPOIN2)
00885       USE BIEF_DEF
00886       IMPLICIT NONE
00887       INTEGER, INTENT(IN)           :: NPLAN,NPOIN2
00888       TYPE(BIEF_OBJ), INTENT(INOUT) :: FLUVER2
00889       TYPE(BIEF_OBJ), INTENT(IN)    :: UP,VP,WP,GRADZF,VOLU2D,DSSUDT
00890         END SUBROUTINE
00891       END INTERFACE
00892 !
00893 !-----------------------------------------------------------------------
00894 !
00895       INTERFACE
00896         SUBROUTINE FLUX3D
00897      &(FLUINT,FLUEXT,FLUEXTPAR,UCONV,VCONV,TRA01,TRA02,TRA03,
00898      & W1,NETAGE,NPLAN,NELEM3,IELM3,IELM2H,IELM2V,SVIDE,MESH3,
00899      & MSK,MASKEL,MASK_3D,LIHBOR,KENT,NPTFR,DT,VOLU,VOLUN,
00900      & MESH2,GRAPRD,SIGMAG,TRAV2,NPOIN2,NPOIN3,DM1,GRAZCO,
00901      & FLBOR,PLUIE,RAIN,FLODEL,OPT_HNEG,FLULIM,YACVVF,LT,BYPASS,
00902      & N_ADV,WEL)
00903       USE BIEF_DEF
00904       IMPLICIT NONE
00905       INTEGER, INTENT(IN) :: NETAGE,NPLAN,NELEM3,NPOIN2,NPOIN3,LT
00906       INTEGER, INTENT(IN) :: IELM3,IELM2H,IELM2V,OPT_HNEG
00907       INTEGER, INTENT(IN) :: KENT,NPTFR,GRAPRD
00908       INTEGER, INTENT(IN) :: LIHBOR(NPTFR),N_ADV(0:15)
00909       TYPE(BIEF_OBJ), INTENT(INOUT) :: FLUINT,FLUEXT,FLUEXTPAR
00910       TYPE(BIEF_OBJ), INTENT(IN)    :: VOLU,VOLUN,DM1,GRAZCO
00911       TYPE(BIEF_OBJ), INTENT(IN)    :: UCONV,VCONV,PLUIE,MASK_3D
00912       TYPE(BIEF_OBJ), INTENT(INOUT) :: MASKEL,WEL,FLULIM
00913       TYPE(BIEF_OBJ), INTENT(INOUT), TARGET :: FLODEL
00914       TYPE(BIEF_OBJ), INTENT(INOUT) :: FLBOR
00915       TYPE(BIEF_OBJ), INTENT(INOUT) :: SVIDE,TRA01,TRA02,TRA03,W1,TRAV2
00916       TYPE(BIEF_MESH), INTENT(INOUT):: MESH3, MESH2
00917       DOUBLE PRECISION, INTENT(IN)    :: DT
00918       LOGICAL, INTENT(IN)             :: MSK,SIGMAG,RAIN,YACVVF,BYPASS
00919         END SUBROUTINE
00920       END INTERFACE
00921 !
00922 !-----------------------------------------------------------------------
00923 !
00924       INTERFACE
00925         SUBROUTINE FONVAS
00926      &(IVIDE   , EPAI   , CONC   , TREST , TEMP   , HDEP   ,
00927      & FLUDP   , FLUDPT , FLUER  , ZF    , TA     , WC     ,
00928      & TRA01   , TRA02  , TRA03  , NPOIN2, NPOIN3 , NPFMAX ,
00929      & NCOUCH  , NPF    , LT     , DT    , DTC    , GRAV   ,
00930      & RHOS    , CFMAX  , TASSE  , ITASS , ZF_S   , ESOMT  ,
00931      & VOLU2D  , MASDEP , SETDEP , ZR    , TS     , FLUDPTC,
00932      & FLUDPTNC, FLUERC , FLUERNC, MIXTE , FLUDPC , FLUDPNC,
00933      & PVSCO   , PVSNCO , CFDEP  , EPAICO, EPAINCO)
00934       USE BIEF_DEF
00935       IMPLICIT NONE
00936       INTEGER, INTENT(IN) ::  LT,NPOIN2,NPOIN3
00937       INTEGER, INTENT(IN) ::  NCOUCH,NPFMAX
00938       DOUBLE PRECISION, INTENT(INOUT) :: IVIDE(NPOIN2,NCOUCH+1)
00939       DOUBLE PRECISION, INTENT(INOUT) :: TREST(NCOUCH)
00940       DOUBLE PRECISION, INTENT(INOUT) :: TEMP(NCOUCH,NPOIN2)
00941       DOUBLE PRECISION, INTENT(INOUT) :: HDEP(NPOIN2)
00942       DOUBLE PRECISION, INTENT(INOUT) :: EPAI(NPOIN2,NCOUCH)
00943       DOUBLE PRECISION, INTENT(INOUT) :: EPAICO(NPOIN2), EPAINCO(NPOIN2)
00944       DOUBLE PRECISION, INTENT(IN)    :: CONC(NPOIN2,NCOUCH),ZR(NPOIN2)
00945       DOUBLE PRECISION, INTENT(INOUT) :: ZF(NPOIN2)
00946       DOUBLE PRECISION, INTENT(IN)    :: TA(NPOIN3),WC(NPOIN3)
00947       DOUBLE PRECISION, INTENT(IN)    :: TS(NPOIN3)
00948       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPFMAX,6)
00949       DOUBLE PRECISION, INTENT(INOUT) :: TRA02(NPFMAX),TRA03(NPFMAX)
00950       DOUBLE PRECISION, INTENT(IN)    :: FLUDPT(NPOIN2),FLUER(NPOIN2)
00951       DOUBLE PRECISION, INTENT(IN)    :: FLUDPTC(NPOIN2),FLUERC(NPOIN2)
00952       DOUBLE PRECISION, INTENT(IN)    :: FLUDPTNC(NPOIN2)
00953       DOUBLE PRECISION, INTENT(IN)    :: FLUERNC(NPOIN2)
00954       DOUBLE PRECISION, INTENT(INOUT) :: FLUDP(NPOIN2),ZF_S(NPOIN2)
00955       DOUBLE PRECISION, INTENT(INOUT) :: FLUDPC(NPOIN2), FLUDPNC(NPOIN2)
00956       DOUBLE PRECISION, INTENT(INOUT) :: PVSCO(NPOIN2), PVSNCO(NPOIN2)
00957       DOUBLE PRECISION, INTENT(INOUT) :: ESOMT(NPOIN2)
00958       DOUBLE PRECISION, INTENT(IN)    :: DT,RHOS,GRAV,DTC, CFDEP
00959       DOUBLE PRECISION, INTENT(INOUT) :: CFMAX,MASDEP
00960       INTEGER, INTENT(INOUT) ::  NPF(NPOIN2)
00961       LOGICAL, INTENT(IN) :: TASSE, MIXTE
00962       INTEGER, INTENT(IN) :: SETDEP
00963       INTEGER, INTENT(IN) :: ITASS
00964       TYPE(BIEF_OBJ), INTENT(IN) :: VOLU2D
00965         END SUBROUTINE
00966       END INTERFACE
00967 !
00968 !-----------------------------------------------------------------------
00969 !
00970       INTERFACE
00971         SUBROUTINE FSGRAD
00972      &(GRADZS,ZFLATS,Z,ZF,IELM2H,MESH2D,MSK,MASKEL,UNSV2D,T2_01,
00973      & NPOIN2,OPTBAN,S)
00974       USE BIEF_DEF
00975       IMPLICIT NONE
00976       INTEGER, INTENT(IN)                  :: IELM2H,NPOIN2,OPTBAN
00977       DOUBLE PRECISION, TARGET, INTENT(IN) :: Z(NPOIN2)
00978       LOGICAL, INTENT(IN)                  :: MSK
00979       TYPE(BIEF_OBJ), INTENT(INOUT)        :: GRADZS,ZFLATS,T2_01
00980       TYPE(BIEF_OBJ), INTENT(IN)           :: ZF,UNSV2D,S,MASKEL
00981       TYPE(BIEF_MESH), INTENT(INOUT)       :: MESH2D
00982 !
00983         END SUBROUTINE
00984       END INTERFACE
00985 !
00986 !-----------------------------------------------------------------------
00987 !
00988       INTERFACE
00989         SUBROUTINE GESTDP( IVIDE  , EPAI   , HDEP    ,
00990      &                     NPOIN2 , NPFMAX , NPF     ,
00991      &                     EPAI0  , CFDEP  , RHOS    )
00992           IMPLICIT NONE
00993           INTEGER, INTENT(IN) :: NPOIN2 , NPFMAX
00994           DOUBLE PRECISION, INTENT(INOUT) :: IVIDE(NPFMAX,NPOIN2)
00995           DOUBLE PRECISION, INTENT(INOUT) :: EPAI(NPFMAX-1,NPOIN2)
00996           DOUBLE PRECISION, INTENT(INOUT) :: HDEP(NPOIN2)
00997           DOUBLE PRECISION, INTENT(INOUT) :: EPAI0
00998           DOUBLE PRECISION, INTENT(IN)    :: CFDEP , RHOS
00999           INTEGER, INTENT(INOUT) :: NPF(NPOIN2)
01000         END SUBROUTINE
01001       END INTERFACE
01002 !
01003 !-----------------------------------------------------------------------
01004 !
01005       INTERFACE
01006         SUBROUTINE GRAD2D
01007      &(DFDX,DFDY,FU,NPLAN,S,UNSV2D,FU2,FU3,FU4,IELM2,MESH2D,MSK,MASKEL)
01008       USE BIEF_DEF
01009       IMPLICIT NONE
01010       TYPE(BIEF_OBJ), INTENT(INOUT) :: DFDX, DFDY
01011       TYPE(BIEF_OBJ), INTENT(IN)    :: FU
01012       TYPE(BIEF_OBJ), INTENT(INOUT) :: UNSV2D,S
01013       TYPE(BIEF_OBJ), INTENT(IN)    :: MASKEL
01014       TYPE(BIEF_MESH), INTENT(INOUT):: MESH2D
01015       INTEGER, INTENT(IN)           :: NPLAN, IELM2
01016       LOGICAL, INTENT(IN)           :: MSK
01017 !     FU2,3,4 MUST BE 2D WORK FIELD - NO CHECKING
01018       TYPE(BIEF_OBJ), INTENT(INOUT) :: FU2,FU3,FU4
01019         END SUBROUTINE
01020       END INTERFACE
01021 !
01022 !-----------------------------------------------------------------------
01023 !
01024       INTERFACE
01025         SUBROUTINE IFAB3D
01026      &(IFABOR,LIUBOF,LIUBOL,LIUBOS,KP1BOR,NELBOR,NULONE,
01027      & IKLE2,NELEM2,NPOIN2,NPTFR,NPLAN,NETAGE,KLOG,TRANSF)
01028       IMPLICIT NONE
01029       INTEGER, INTENT(IN)          :: NELEM2,NPOIN2,NETAGE,NPLAN,TRANSF
01030       INTEGER, INTENT(IN)          :: NPTFR
01031       INTEGER, INTENT(INOUT)       :: IFABOR(NELEM2,5,NETAGE)
01032       INTEGER, INTENT(IN)          :: LIUBOF(NPOIN2),LIUBOS(NPOIN2)
01033       INTEGER, INTENT(IN)          :: LIUBOL(NPTFR,NPLAN)
01034       INTEGER, INTENT(IN)          :: IKLE2(NELEM2,3)
01035       INTEGER, INTENT(IN)          :: NULONE(NPTFR,NETAGE,4)
01036       INTEGER, INTENT(IN)          :: KP1BOR(NPTFR), NELBOR(NPTFR)
01037       INTEGER, INTENT(IN)          :: KLOG
01038         END SUBROUTINE
01039       END INTERFACE
01040 !
01041 !-----------------------------------------------------------------------
01042 !
01043       INTERFACE
01044         SUBROUTINE IFAB3DT
01045      &(IFABOR,IFABOR2D,LIUBOF,LIUBOL,LIUBOS,KP1BOR,NELBOR,NULONE,
01046      & IKLE2,IKLE,NELEM2,NELMAX,
01047      & NPOIN2,NPTFR,NPLAN,NETAGE,KLOG,TRANSF)
01048       IMPLICIT NONE
01049       INTEGER, INTENT(IN)          :: NELEM2,NPOIN2,NETAGE,NPLAN,TRANSF
01050       INTEGER, INTENT(IN)          :: NPTFR,KLOG,NELMAX
01051       INTEGER, INTENT(INOUT)       :: IFABOR(NELMAX,4)
01052       INTEGER, INTENT(IN)          :: IFABOR2D(NELEM2,3)
01053       INTEGER, INTENT(IN)          :: LIUBOF(NPOIN2),LIUBOS(NPOIN2)
01054       INTEGER, INTENT(IN)          :: LIUBOL(NPTFR,NPLAN)
01055       INTEGER, INTENT(IN)          :: IKLE2(NELEM2,3),IKLE(NELMAX,4)
01056       INTEGER, INTENT(IN)          :: NULONE(NPTFR,2)
01057       INTEGER, INTENT(IN)          :: KP1BOR(NPTFR), NELBOR(NPTFR)
01058         END SUBROUTINE
01059       END INTERFACE
01060 !
01061 !-----------------------------------------------------------------------
01062 !
01063       INTERFACE
01064         SUBROUTINE IMPSED
01065      &(IVIDE , EPAI  , CONC  , TEMP  , HDEP  , PDEPOT,
01066      & FLUER , ZR    , ZF    , TA    , WC    , X     ,
01067      & Y     , NPOIN2, NPOIN3, NPFMAX, NCOUCH, NPF   ,
01068      & LT    , RHOS  , CFMAX , CFDEP , EPAI0 ,
01069      & TASSE , GIBSON, PRIVE , LISPRD)
01070           USE BIEF_DEF
01071           IMPLICIT NONE
01072           INTEGER, INTENT(IN) :: NPOIN2,NPOIN3,NPFMAX,NCOUCH,LT,LISPRD
01073           DOUBLE PRECISION, INTENT(IN)  :: EPAI(NCOUCH,NPOIN2)
01074           DOUBLE PRECISION, INTENT(IN)  :: IVIDE(NPFMAX,NPOIN2)
01075           DOUBLE PRECISION, INTENT(IN)  :: HDEP(NPOIN2),PDEPOT(NPOIN2)
01076           DOUBLE PRECISION, INTENT(IN)  :: FLUER(NPOIN2)
01077           DOUBLE PRECISION, INTENT(IN)  :: CONC(NCOUCH)
01078           DOUBLE PRECISION, INTENT(IN)  :: TEMP(NCOUCH,NPOIN2)
01079           DOUBLE PRECISION, INTENT(IN)  :: ZR(NPOIN2), ZF(NPOIN2)
01080           DOUBLE PRECISION, INTENT(IN)  :: TA(NPOIN3)
01081           DOUBLE PRECISION, INTENT(IN)  :: WC(NPOIN3)
01082           DOUBLE PRECISION, INTENT(IN)  :: X(NPOIN3), Y(NPOIN3)
01083           TYPE(BIEF_OBJ), INTENT(INOUT) :: PRIVE
01084           DOUBLE PRECISION, INTENT(IN)  :: RHOS,CFMAX,CFDEP,EPAI0
01085           INTEGER, INTENT(IN) :: NPF(NPOIN2)
01086           LOGICAL, INTENT(IN) :: TASSE , GIBSON
01087         END SUBROUTINE
01088       END INTERFACE
01089 !
01090 !-----------------------------------------------------------------------
01091 !
01092       INTERFACE
01093         SUBROUTINE KEPCL3
01094      & (KBORF,EBORF,LIKBOF,LIEBOF,LIUBOF,
01095      &  KBORL,EBORL,LIKBOL,LIEBOL,LIUBOL,RUGOL,
01096      &  KBORS,EBORS,LIKBOS,LIEBOS,LIUBOS,
01097      &  DISBOR,AK,U,V,H,Z,NBOR,NPOIN2,NPLAN,NPTFR,
01098      &  DNUVIH,DNUVIV,KARMAN,CMU,LISRUF,LISRUL,
01099      &  VIRT,KMIN,KMAX,EMIN,EMAX,KENT,KENTU,KSORT,KADH,KLOG,
01100      &  UETCAR,UETCAL,FICT)
01101       IMPLICIT NONE
01102       INTEGER, INTENT(IN) :: NPTFR, NPLAN, NPOIN2,KENTU
01103       INTEGER, INTENT(IN) :: LISRUF,LISRUL,KENT,KSORT,KADH,KLOG
01104       INTEGER, INTENT(INOUT) :: LIKBOF(NPOIN2), LIKBOS(NPOIN2)
01105       INTEGER, INTENT(INOUT) :: LIKBOL(NPTFR,NPLAN)
01106       INTEGER, INTENT(INOUT) :: LIEBOF(NPOIN2), LIEBOS(NPOIN2)
01107       INTEGER, INTENT(INOUT) :: LIEBOL(NPTFR,NPLAN)
01108       INTEGER, INTENT(INOUT) :: LIUBOF(NPOIN2), LIUBOS(NPOIN2)
01109       INTEGER, INTENT(INOUT) :: LIUBOL(NPTFR,NPLAN)
01110       INTEGER, INTENT(IN) :: NBOR(NPTFR)
01111       DOUBLE PRECISION, INTENT(IN) :: U(NPOIN2,NPLAN),V(NPOIN2,NPLAN)
01112       DOUBLE PRECISION, INTENT(IN) :: Z(NPOIN2,NPLAN),AK(NPOIN2,NPLAN)
01113       DOUBLE PRECISION, INTENT(IN) :: H(NPOIN2) , UETCAR(NPOIN2)
01114       DOUBLE PRECISION, INTENT(INOUT) :: KBORF(NPOIN2), KBORS(NPOIN2)
01115       DOUBLE PRECISION, INTENT(INOUT) :: KBORL(NPTFR,NPLAN)
01116       DOUBLE PRECISION, INTENT(INOUT) :: EBORF(NPOIN2), EBORS(NPOIN2)
01117       DOUBLE PRECISION, INTENT(INOUT) :: EBORL(NPTFR,NPLAN)
01118       DOUBLE PRECISION, INTENT(IN)    :: UETCAL(NPTFR,NPLAN)
01119       DOUBLE PRECISION, INTENT(IN)    :: DISBOR(NPTFR)
01120       DOUBLE PRECISION, INTENT(IN)    :: RUGOL(NPTFR,NPLAN)
01121       DOUBLE PRECISION, INTENT(IN) :: VIRT, DNUVIH, DNUVIV, KARMAN
01122       DOUBLE PRECISION, INTENT(IN) :: CMU
01123       DOUBLE PRECISION, INTENT(IN) :: KMIN, KMAX, EMIN, EMAX, FICT
01124         END SUBROUTINE
01125       END INTERFACE
01126 !
01127 !-----------------------------------------------------------------------
01128 !
01129       INTERFACE
01130         SUBROUTINE KEPICL
01131      & (LIKBOF,LIEBOF,LIUBOF,LIKBOL,LIEBOL,LIUBOL,LIKBOS,LIEBOS,LIUBOS,
01132      &  NPTFR,NPLAN,NPOIN2,KENT,KSORT,KADH,KLOG)
01133           IMPLICIT NONE
01134           INTEGER, INTENT(IN)    :: NPTFR, NPLAN, NPOIN2
01135           INTEGER, INTENT(IN)    :: KENT, KSORT, KADH, KLOG
01136           INTEGER, INTENT(IN)    :: LIUBOF(NPOIN2), LIUBOS(NPOIN2)
01137           INTEGER, INTENT(IN)    :: LIUBOL(NPTFR,NPLAN)
01138           INTEGER, INTENT(INOUT) :: LIKBOF(NPOIN2), LIKBOS(NPOIN2)
01139           INTEGER, INTENT(INOUT) :: LIKBOL(NPTFR,NPLAN)
01140           INTEGER, INTENT(INOUT) :: LIEBOF(NPOIN2), LIEBOS(NPOIN2)
01141           INTEGER, INTENT(INOUT) :: LIEBOL(NPTFR,NPLAN)
01142         END SUBROUTINE
01143       END INTERFACE
01144 !
01145 !-----------------------------------------------------------------------
01146 !
01147       INTERFACE
01148         SUBROUTINE KEPINI
01149      &(AK,EP,U,V,Z,ZF,NPOIN2,NPLAN,DNUVIH,DNUVIV,KARMAN,CMU,KMIN,EMIN)
01150       IMPLICIT NONE
01151       INTEGER, INTENT(IN)            :: NPOIN2,NPLAN
01152       DOUBLE PRECISION, INTENT(INOUT):: AK(NPOIN2,NPLAN)
01153       DOUBLE PRECISION, INTENT(INOUT):: EP(NPOIN2,NPLAN)
01154       DOUBLE PRECISION, INTENT(IN)   :: U(NPOIN2,NPLAN), V(NPOIN2,NPLAN)
01155       DOUBLE PRECISION, INTENT(IN)   :: Z(NPOIN2,NPLAN)
01156       DOUBLE PRECISION, INTENT(IN)   :: ZF(NPOIN2)
01157       DOUBLE PRECISION, INTENT(IN)   :: KARMAN, DNUVIH, DNUVIV
01158       DOUBLE PRECISION, INTENT(IN)   :: CMU
01159       DOUBLE PRECISION, INTENT(IN)   :: KMIN, EMIN
01160         END SUBROUTINE
01161       END INTERFACE
01162 !
01163 !-----------------------------------------------------------------------
01164 !
01165       INTERFACE
01166         SUBROUTINE KOMCL3
01167      & (KBORF,EBORF,LIKBOF,LIEBOF,LIUBOF,
01168      &  KBORL,EBORL,LIKBOL,LIEBOL,LIUBOL,RUGOL,
01169      &  KBORS,EBORS,LIKBOS,LIEBOS,LIUBOS,
01170      &  DISBOR,AK,EP,U,V,W,H,Z,NBOR,NPOIN2,NPLAN,NPTFR,
01171      &  DNUVIH,DNUVIV,KARMAN, ALPHA,BETA,BETAS,OMSTAR,SCHMIT,LISRUF,
01172      &  LISRUL,VIRT,GRAV,KMIN,KMAX,EMIN,EMAX,KENTU,KENT,KSORT,KADH,KLOG,
01173      &  UETCAR,UETCAL)
01174       IMPLICIT NONE
01175       INTEGER, INTENT(IN) :: NPTFR, NPLAN, NPOIN2
01176       INTEGER, INTENT(IN) :: LISRUF, LISRUL,KENTU,KENT,KSORT,KADH,KLOG
01177       INTEGER, INTENT(INOUT) :: LIKBOF(NPOIN2), LIKBOS(NPOIN2)
01178       INTEGER, INTENT(INOUT) :: LIKBOL(NPTFR,NPLAN)
01179       INTEGER, INTENT(INOUT) :: LIEBOF(NPOIN2), LIEBOS(NPOIN2)
01180       INTEGER, INTENT(INOUT) :: LIEBOL(NPTFR,NPLAN)
01181       INTEGER, INTENT(INOUT) :: LIUBOF(NPOIN2), LIUBOS(NPOIN2)
01182       INTEGER, INTENT(INOUT) :: LIUBOL(NPTFR,NPLAN)
01183       INTEGER, INTENT(IN) :: NBOR(NPTFR)
01184       DOUBLE PRECISION, INTENT(IN) :: U(NPOIN2,NPLAN), V(NPOIN2,NPLAN)
01185       DOUBLE PRECISION, INTENT(IN) :: W(NPOIN2,NPLAN)
01186       DOUBLE PRECISION, INTENT(IN) :: Z(NPOIN2,NPLAN)
01187       DOUBLE PRECISION, INTENT(IN) :: AK(NPOIN2,NPLAN),EP(NPOIN2,NPLAN)
01188       DOUBLE PRECISION, INTENT(IN) :: H(NPOIN2),UETCAR(NPOIN2)
01189       DOUBLE PRECISION, INTENT(INOUT) :: KBORF(NPOIN2), KBORS(NPOIN2)
01190       DOUBLE PRECISION, INTENT(INOUT) :: KBORL(NPTFR,NPLAN)
01191       DOUBLE PRECISION, INTENT(INOUT) :: EBORF(NPOIN2), EBORS(NPOIN2)
01192       DOUBLE PRECISION, INTENT(INOUT) :: EBORL(NPTFR,NPLAN)
01193       DOUBLE PRECISION, INTENT(IN)    :: UETCAL(NPTFR,NPLAN)
01194       DOUBLE PRECISION, INTENT(IN)    :: DISBOR(NPTFR)
01195       DOUBLE PRECISION, INTENT(IN)    :: RUGOL(NPTFR,NPLAN)
01196       DOUBLE PRECISION, INTENT(IN) :: VIRT, DNUVIH, DNUVIV, KARMAN
01197       DOUBLE PRECISION, INTENT(IN) :: ALPHA,BETA,BETAS,OMSTAR
01198       DOUBLE PRECISION, INTENT(IN) :: SCHMIT,GRAV
01199       DOUBLE PRECISION, INTENT(IN) :: KMIN, KMAX, EMIN, EMAX
01200         END SUBROUTINE
01201       END INTERFACE
01202 !
01203 !-----------------------------------------------------------------------
01204 !
01205       INTERFACE
01206         SUBROUTINE LECDON_TELEMAC3D(MOTCAR,FILE_DESC,PATH,NCAR)
01207           IMPLICIT NONE
01208           CHARACTER(LEN=144), INTENT(INOUT) :: MOTCAR(300)
01209           CHARACTER(LEN=144), INTENT(INOUT) :: FILE_DESC(4,300)
01210           CHARACTER(LEN=250), INTENT(IN) :: PATH
01211           INTEGER, INTENT(IN) :: NCAR
01212         END SUBROUTINE
01213       END INTERFACE
01214 !
01215 !-----------------------------------------------------------------------
01216 !
01217       INTERFACE
01218         SUBROUTINE LICHEK(LIMPRP,NPTFR,IKLBOR,NELEB2,NELEBX2)
01219       IMPLICIT NONE
01220       INTEGER LNG,LU
01221       COMMON/INFO/LNG,LU
01222       INTEGER, INTENT(IN)    :: NPTFR,NELEB2,NELEBX2
01223       INTEGER, INTENT(INOUT) :: IKLBOR(NELEBX2,2),LIMPRP(NELEBX2,6)
01224         END SUBROUTINE
01225       END INTERFACE
01226 !
01227 !-----------------------------------------------------------------------
01228 !
01229       INTERFACE
01230         SUBROUTINE LONGMB
01231      &(LM,Z,HN,NPOIN3,NPOIN2,NPLAN,U,V,X,Y,P1,P2,P3,NTRAC,TA,KARMAN,ZF)
01232       IMPLICIT NONE
01233       INTEGER, INTENT(IN)             :: NPOIN3, NPOIN2, NPLAN, NTRAC
01234       DOUBLE PRECISION, INTENT(INOUT) :: LM(NPOIN3) ! POINTER
01235       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN3), HN(NPOIN2),KARMAN
01236       DOUBLE PRECISION, INTENT(IN)    :: U(NPOIN3), V(NPOIN3)
01237       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN3), Y(NPOIN3)
01238       DOUBLE PRECISION, INTENT(INOUT) :: P1(NPOIN3), P2(NPOIN3)
01239       DOUBLE PRECISION, INTENT(INOUT) :: P3(NPOIN3)
01240       DOUBLE PRECISION, INTENT(IN)    :: TA(NPOIN3),ZF(NPOIN2)
01241         END SUBROUTINE
01242       END INTERFACE
01243 !
01244 !-----------------------------------------------------------------------
01245 !
01246       INTERFACE
01247         SUBROUTINE LONGML
01248      & (LM2,Z,HN,NPOIN3,NPOIN2,NPLAN,MIXING,KARMAN,ZF)
01249       IMPLICIT NONE
01250       INTEGER, INTENT(IN)             :: NPOIN3,NPOIN2,NPLAN,MIXING
01251       DOUBLE PRECISION, INTENT(INOUT) :: LM2(NPOIN3)
01252       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN3),HN(NPOIN2),KARMAN
01253       DOUBLE PRECISION, INTENT(IN)    :: ZF(NPOIN2)
01254         END SUBROUTINE
01255       END INTERFACE
01256 !
01257 !-----------------------------------------------------------------------
01258 !
01259       INTERFACE
01260         SUBROUTINE MAKE_ZCONV
01261      &(ZCONV,GRAZCO,ZFLATS,DH,HN,ZF,TETAZCOMP,TETAH,NELEM2,OPTBAN,
01262      & IKLE2,MESH2D)
01263       USE BIEF_DEF
01264       IMPLICIT NONE
01265       INTEGER, INTENT(IN)            :: NELEM2,OPTBAN
01266       INTEGER, INTENT(IN)            :: IKLE2(NELEM2,3)
01267       DOUBLE PRECISION, INTENT(IN)   :: TETAH,TETAZCOMP
01268       TYPE(BIEF_OBJ), INTENT(INOUT)  :: ZCONV,GRAZCO
01269       TYPE(BIEF_OBJ), INTENT(IN)     :: DH,ZFLATS,HN,ZF
01270       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH2D
01271         END SUBROUTINE
01272       END INTERFACE
01273 !
01274 !-----------------------------------------------------------------------
01275 !
01276       INTERFACE
01277         SUBROUTINE MASK3D
01278      &(IFABOR3D,MASKEL,MASKPT,MASKBR,
01279      & X,Y,ZF,ZFE,H,HMIN,AT,LT,ITRA01,NELBO3,
01280      & NELMA2,NELEM2,NPOIN2,NPTFR,NPLAN,NETAGE,IELM3,MESH2D)
01281       USE BIEF_DEF
01282       IMPLICIT NONE
01283       INTEGER, INTENT(IN)             :: NELEM2, NPOIN2, NETAGE, NPLAN
01284       INTEGER, INTENT(IN)             :: NELMA2, NPTFR
01285       INTEGER, INTENT(INOUT)          :: IFABOR3D(NELEM2,5,NETAGE)
01286       DOUBLE PRECISION, INTENT(INOUT) :: MASKEL(NELEM2,NETAGE)
01287       DOUBLE PRECISION, INTENT(INOUT) :: MASKBR(NPTFR,NETAGE)
01288       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN2), Y(NPOIN2)
01289       DOUBLE PRECISION, INTENT(IN)    :: ZF(NPOIN2), H(NPOIN2)
01290       DOUBLE PRECISION, INTENT(IN)    :: ZFE(NELEM2)
01291       INTEGER, INTENT(IN)             :: NELBO3(NPTFR,NETAGE)
01292       INTEGER, INTENT(INOUT)          :: ITRA01(NELEM2)
01293       INTEGER, INTENT(IN)             :: LT, IELM3
01294       DOUBLE PRECISION, INTENT(IN)    :: HMIN, AT
01295       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH2D
01296       TYPE(BIEF_OBJ) , INTENT(INOUT)  :: MASKPT
01297         END SUBROUTINE
01298       END INTERFACE
01299 !
01300 !-----------------------------------------------------------------------
01301 !
01302       INTERFACE
01303         SUBROUTINE MASS3D(INFO,LT)
01304           IMPLICIT NONE
01305           LOGICAL, INTENT(IN) :: INFO
01306           INTEGER, INTENT(IN) :: LT
01307         END SUBROUTINE
01308       END INTERFACE
01309 !
01310 !-----------------------------------------------------------------------
01311 !
01312       INTERFACE
01313         SUBROUTINE MASSED
01314      &(MASBED,EPAI,CONC,HDEP,TRA02,NPOIN2,
01315      & NPFMAX,NCOUCH,NPF,TASSE,GIBSON,RHOS,VOLU2D,
01316      & CFDEP,EPAICO,EPAINCO,MIXTE)
01317       USE BIEF_DEF
01318       IMPLICIT NONE
01319       INTEGER, INTENT(IN)             :: NPFMAX,NPOIN2,NCOUCH
01320       DOUBLE PRECISION, INTENT(IN)    :: CFDEP
01321       INTEGER, INTENT(IN)             :: NPF(NPOIN2)
01322       DOUBLE PRECISION, INTENT(INOUT) :: MASBED
01323       DOUBLE PRECISION, INTENT(IN)    :: EPAI(NPOIN2,NCOUCH)
01324       DOUBLE PRECISION, INTENT(IN)    :: EPAICO(NPOIN2), EPAINCO(NPOIN2)
01325       DOUBLE PRECISION, INTENT(IN)    :: VOLU2D(NPOIN2)
01326       DOUBLE PRECISION, INTENT(IN)    :: HDEP(NPOIN2)
01327       DOUBLE PRECISION, INTENT(IN)    :: CONC(NPOIN2,NCOUCH)
01328       DOUBLE PRECISION, INTENT(INOUT) :: TRA02(NPOIN2)
01329       DOUBLE PRECISION, INTENT(IN)    :: RHOS
01330       LOGICAL, INTENT(IN)             :: TASSE, GIBSON, MIXTE
01331         END SUBROUTINE
01332       END INTERFACE
01333 !
01334 !-----------------------------------------------------------------------
01335 !
01336       INTERFACE
01337         SUBROUTINE MESH_PROP
01338      &(HPROP ,HN,H,PROLIN,HAULIN,TETA,NSOUSI,ZPROP,
01339      & IPBOT,NPOIN2,NPLAN,OPTBAN,SIGMAG,OPT_HNEG,
01340      & MDIFF,MESH3D,VOLU3D,VOLU3DPAR,UNSV3D,MSK,MASKEL,IELM3)
01341       USE BIEF_DEF
01342       IMPLICIT NONE
01343       INTEGER, INTENT(IN)            :: NSOUSI,NPOIN2,NPLAN,OPT_HNEG
01344       INTEGER, INTENT(IN)            :: OPTBAN,IELM3
01345       LOGICAL, INTENT(IN)            :: PROLIN,SIGMAG,MSK
01346       DOUBLE PRECISION, INTENT(IN)   :: TETA,HAULIN
01347       TYPE(BIEF_OBJ),   INTENT(IN)   :: HN,H,MASKEL
01348       TYPE(BIEF_OBJ),   INTENT(INOUT):: IPBOT
01349       TYPE(BIEF_OBJ),  INTENT(INOUT) :: HPROP,ZPROP,MDIFF,UNSV3D,VOLU3D
01350       TYPE(BIEF_OBJ),  INTENT(INOUT) :: VOLU3DPAR
01351       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH3D
01352         END SUBROUTINE
01353       END INTERFACE
01354 !
01355 !-----------------------------------------------------------------------
01356 !
01357       INTERFACE
01358         SUBROUTINE MITCL2
01359      & (H,LIHBOR,NBOR,HBOR,AT,NPOIN2,NPTFR,KENT,KSORT,KADH,KLOG,KDEB)
01360       IMPLICIT NONE
01361       INTEGER, INTENT(IN) :: KENT,KSORT,KADH,KDEB,KLOG,NPTFR,NPOIN2
01362       INTEGER, INTENT(IN) :: LIHBOR(NPTFR),NBOR(NPTFR)
01363       DOUBLE PRECISION, INTENT(INOUT) :: H(NPOIN2)
01364       DOUBLE PRECISION, INTENT(IN)    :: HBOR(NPTFR),AT
01365         END SUBROUTINE
01366       END INTERFACE
01367 !
01368 !-----------------------------------------------------------------------
01369 !
01370       INTERFACE
01371         SUBROUTINE MITTIT(IETAPE,AT,LT)
01372           IMPLICIT NONE
01373           INTEGER, INTENT(IN) :: IETAPE,LT
01374           DOUBLE PRECISION, INTENT(IN) :: AT
01375         END SUBROUTINE
01376       END INTERFACE
01377 !
01378 !-----------------------------------------------------------------------
01379 !
01380       INTERFACE
01381         SUBROUTINE MUDSTRESS3D
01382      &(NGEO,FFORMAT,LAYTOCE,NCOUCH,MESH,LISTIN)
01383       USE BIEF
01384       TYPE(BIEF_MESH), INTENT(IN)   :: MESH
01385       TYPE(BIEF_OBJ),  INTENT(INOUT):: LAYTOCE
01386       INTEGER, INTENT(IN)           :: NGEO
01387       INTEGER, INTENT(IN)           :: NCOUCH
01388       LOGICAL, INTENT(IN)           :: LISTIN
01389       CHARACTER(LEN=8), INTENT(IN)  :: FFORMAT
01390         END SUBROUTINE
01391       END INTERFACE
01392 !
01393 !-----------------------------------------------------------------------
01394 !
01395       INTERFACE
01396         SUBROUTINE MURD3D
01397      &(FC,FN,VOLU,VOLUN,VOLU2,SVOLU2,DB,XB,DIM1XB,
01398      & TRA01,TRA02,TRA03,STRA01,STRA02,STRA03,IKLE3,MESH3,
01399      & NELEM3,NPOIN3,DT,SCHCF,LV,MSK,MASKEL,INFOR,CALFLU,FLUX,FLUEXT,
01400      & S0F,NSCE,SOURCES,FSCE,RAIN,PLUIE,TRAIN,NPOIN2,MINFC,MAXFC,MASKPT,
01401      & OPTBAN,FLODEL,FLOPAR,GLOSEG,DIMGLO,NSEG,NPLAN,IELM3)
01402       USE BIEF_DEF
01403       IMPLICIT NONE
01404       INTEGER, INTENT(IN)             :: SCHCF,NELEM3,NPOIN3,LV,NPOIN2
01405       INTEGER, INTENT(IN)             :: IELM3,DIM1XB
01406       INTEGER, INTENT(IN)             :: IKLE3(NELEM3,*),NSCE,OPTBAN
01407       INTEGER, INTENT(IN)             :: NSEG,NPLAN,DIMGLO
01408       INTEGER, INTENT(IN)             :: GLOSEG(DIMGLO,2)
01409       DOUBLE PRECISION, INTENT(INOUT) :: FC(NPOIN3)
01410       DOUBLE PRECISION, INTENT(IN)    :: FN(NPOIN3),PLUIE(NPOIN2)
01411       DOUBLE PRECISION, INTENT(IN)    :: MASKEL(NELEM3), FLUEXT(NPOIN3)
01412       DOUBLE PRECISION, INTENT(IN)    :: VOLUN(NPOIN3), VOLU(NPOIN3)
01413       DOUBLE PRECISION, INTENT(INOUT) :: VOLU2(NPOIN3)
01414       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPOIN3)
01415       DOUBLE PRECISION, INTENT(INOUT) :: TRA02(NPOIN3), TRA03(NPOIN3)
01416       DOUBLE PRECISION, INTENT(INOUT) :: FLUX
01417       DOUBLE PRECISION, INTENT(IN)    :: FSCE(NSCE),MASKPT(NPOIN3)
01418       DOUBLE PRECISION, INTENT(IN)    :: DT,TRAIN
01419       TYPE(BIEF_OBJ), INTENT(INOUT)   :: SVOLU2,MINFC,MAXFC
01420       TYPE(BIEF_OBJ), INTENT(IN)      :: SOURCES,S0F
01421       TYPE(BIEF_OBJ), INTENT(INOUT)   :: STRA01,STRA02,STRA03
01422       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH3
01423       DOUBLE PRECISION, INTENT(INOUT) :: DB(NPOIN3),XB(DIM1XB,NELEM3)
01424 !     DIMENSION OF FLODEL AND FLOPAR=NSEG2D*NPLAN+NPOIN2*NETAGE
01425       DOUBLE PRECISION, INTENT(IN)    :: FLODEL(*),FLOPAR(*)
01426       LOGICAL, INTENT(IN)             :: MSK,INFOR,CALFLU,RAIN
01427         END SUBROUTINE
01428       END INTERFACE
01429 !
01430 !-----------------------------------------------------------------------
01431 !
01432       INTERFACE
01433         SUBROUTINE MURD3D_POS
01434      &(FC,FN,VOLU,SVOLU,VOLUN,SVOLUN,VOLU2,SVOLU2,RMASS,
01435      & TRA01,TRA02,TRA03,STRA01,STRA02,STRA03,MESH2,MESH3,
01436      & NELEM3,NPOIN3,DT,SCHCF,MSK,MASKEL,INFOR,CALFLU,FLUX,FLUEXT,
01437      & S0F,NSCE,SOURCES,FSCE,RAIN,PLUIE,TRAIN,NPOIN2,
01438      & OPTBAN,FLODEL,FLOPAR,GLOSEG,DIMGLO,NSEG,NPLAN,
01439      & T5,FLUX_REMOVED,SAVED_VOLU2,SAVED_F,OPTION,IELM3,NITMAX)
01440       USE BIEF_DEF
01441       IMPLICIT NONE
01442       INTEGER, INTENT(IN)             :: SCHCF,NELEM3,NPOIN3,NPOIN2
01443       INTEGER, INTENT(IN)             :: NSCE,OPTBAN,NSEG,NPLAN,DIMGLO
01444       INTEGER, INTENT(IN)             :: GLOSEG(DIMGLO,2),OPTION,IELM3
01445       INTEGER, INTENT(IN)             :: NITMAX
01446       DOUBLE PRECISION, INTENT(INOUT) :: FC(NPOIN3)
01447       DOUBLE PRECISION, INTENT(IN)    :: FN(NPOIN3),PLUIE(NPOIN2)
01448       DOUBLE PRECISION, INTENT(IN)    :: MASKEL(NELEM3)
01449       DOUBLE PRECISION, INTENT(IN), TARGET    :: FLUEXT(NPOIN3)
01450       DOUBLE PRECISION, INTENT(IN)    :: VOLUN(NPOIN3), VOLU(NPOIN3)
01451       DOUBLE PRECISION, INTENT(INOUT) :: VOLU2(NPOIN3)
01452       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPOIN3),FLUX
01453       DOUBLE PRECISION, INTENT(INOUT) :: TRA02(NPOIN3)
01454       DOUBLE PRECISION, INTENT(INOUT), TARGET :: TRA03(NPOIN3)
01455       DOUBLE PRECISION, INTENT(IN)    :: DT,TRAIN,FSCE(NSCE)
01456       TYPE(BIEF_OBJ), INTENT(INOUT)   :: SVOLU2
01457       TYPE(BIEF_OBJ), INTENT(INOUT)   :: FLUX_REMOVED
01458       TYPE(BIEF_OBJ), INTENT(INOUT)   :: SAVED_VOLU2,SAVED_F,T5
01459       TYPE(BIEF_OBJ), INTENT(IN)      :: SOURCES,S0F,SVOLU,SVOLUN
01460       TYPE(BIEF_OBJ), INTENT(INOUT)   :: STRA01,STRA02,STRA03
01461       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH2,MESH3
01462       DOUBLE PRECISION, INTENT(IN)    :: FLODEL(*),FLOPAR(*)
01463       DOUBLE PRECISION, INTENT(INOUT) :: RMASS(*)
01464       LOGICAL, INTENT(IN)             :: MSK,INFOR,CALFLU,RAIN
01465         END SUBROUTINE
01466       END INTERFACE
01467 !
01468 !-----------------------------------------------------------------------
01469 !
01470       INTERFACE
01471         SUBROUTINE NOMVAR_2D_IN_3D
01472      &(TEXTE,TEXTPR,MNEMO,NTRAC,NAMETRAC)
01473           IMPLICIT NONE
01474           CHARACTER(LEN=32), INTENT(INOUT) :: TEXTE(*),TEXTPR(*)
01475           CHARACTER(LEN=8) , INTENT(INOUT) :: MNEMO(*)
01476           CHARACTER(LEN=32), INTENT(IN)    :: NAMETRAC(32)
01477           INTEGER, INTENT(IN) :: NTRAC
01478         END SUBROUTINE
01479       END INTERFACE
01480 !
01481 !-----------------------------------------------------------------------
01482 !
01483       INTERFACE
01484         SUBROUTINE NOMVAR_TELEMAC3D(TEXT3,TEXTP3,MNEMO,NTRAC,NAMETRAC,
01485      &                              ADR_TRAC)
01486           IMPLICIT NONE
01487           INTEGER, INTENT(IN) :: NTRAC,ADR_TRAC
01488           CHARACTER(LEN=32), INTENT(INOUT) :: TEXT3(100),TEXTP3(100)
01489           CHARACTER(LEN=32), INTENT(IN)    :: NAMETRAC(32)
01490           CHARACTER(LEN=8), INTENT(INOUT)  :: MNEMO(100)
01491         END SUBROUTINE
01492       END INTERFACE
01493 !
01494 !-----------------------------------------------------------------------
01495 !
01496       INTERFACE
01497         SUBROUTINE NUMLIQ_3D
01498      &(NUMLIQ,NUMLIQ_ELM,NPLAN,NPTFR2,IKLBOR,NELEB,NELEBX)
01499       USE BIEF_DEF
01500       IMPLICIT NONE
01501       INTEGER, INTENT(IN)           :: NPTFR2,NPLAN,NELEB,NELEBX
01502       INTEGER, INTENT(IN)           :: IKLBOR(NELEBX,2)
01503       INTEGER, INTENT(INOUT)        :: NUMLIQ(NPTFR2*NPLAN)
01504       TYPE(BIEF_OBJ), INTENT(INOUT) :: NUMLIQ_ELM
01505         END SUBROUTINE
01506       END INTERFACE
01507 !
01508 !-----------------------------------------------------------------------
01509 !
01510       INTERFACE
01511         SUBROUTINE NUWAVE_P0
01512      &(NUWAVE,DM1,Z,DZ,IKLE,NPOIN2,NPLAN,NELEM,NELMAX,NELEM2,XMUL,IELM3,
01513      & X,Y,SURFAC)
01514       IMPLICIT NONE
01515       INTEGER,          INTENT(IN)    :: NPOIN2,NPLAN,NELEM,NELMAX
01516       INTEGER,          INTENT(IN)    :: NELEM2,IELM3
01517       INTEGER,          INTENT(IN)    :: IKLE(NELMAX,*)
01518       DOUBLE PRECISION, INTENT(INOUT) :: NUWAVE(NELEM2),DZ(NPOIN2*NPLAN)
01519       DOUBLE PRECISION, INTENT(IN)    :: DM1(NPOIN2*NPLAN),XMUL
01520       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN2*NPLAN),X(*),Y(*)
01521       DOUBLE PRECISION, INTENT(IN)    :: SURFAC(NELEM2)
01522         END SUBROUTINE
01523       END INTERFACE
01524 !
01525 !-----------------------------------------------------------------------
01526 !
01527       INTERFACE
01528         SUBROUTINE PHSTAT
01529      &   (PH, DELTAR, Z, TRA01, TRA02, RHO0, GRAV,
01530      &    NPOIN3, NPOIN2, NPLAN, PRIVE )
01531       USE BIEF_DEF
01532       IMPLICIT NONE
01533       INTEGER, INTENT(IN)             :: NPOIN3, NPOIN2, NPLAN
01534       DOUBLE PRECISION, INTENT(INOUT) :: PH(NPOIN3)
01535       DOUBLE PRECISION, INTENT(IN)    :: DELTAR(NPOIN3), Z(NPOIN3)
01536       DOUBLE PRECISION,INTENT(INOUT)  :: TRA01(NPOIN3), TRA02(NPOIN3)
01537       TYPE (BIEF_OBJ), INTENT(INOUT)  :: PRIVE
01538       DOUBLE PRECISION, INTENT(IN)    :: RHO0, GRAV
01539         END SUBROUTINE
01540       END INTERFACE
01541 !
01542 !-----------------------------------------------------------------------
01543 !
01544       INTERFACE
01545         SUBROUTINE PLANE_BOTTOM(IPBOT,Z,NPOIN2,NPLAN,SIGMAG,OPTBAN)
01546       IMPLICIT NONE
01547       INTEGER, INTENT(IN)          :: NPOIN2,NPLAN,OPTBAN
01548       INTEGER, INTENT(INOUT)       :: IPBOT(NPOIN2)
01549       DOUBLE PRECISION, INTENT(IN) :: Z(NPOIN2,NPLAN)
01550       LOGICAL, INTENT(IN)          :: SIGMAG
01551         END SUBROUTINE
01552       END INTERFACE
01553 !
01554 !-----------------------------------------------------------------------
01555 !
01556       INTERFACE
01557         SUBROUTINE PREADV(W,WS,ZPROP,ISOUSI,LT,VOLU,VOLUN)
01558       USE BIEF_DEF
01559       IMPLICIT NONE
01560       TYPE(BIEF_OBJ), INTENT(INOUT) :: W,WS,ZPROP
01561       TYPE(BIEF_OBJ), INTENT(IN)    :: VOLU,VOLUN
01562       INTEGER, INTENT(IN) :: ISOUSI,LT
01563         END SUBROUTINE
01564       END INTERFACE
01565 !
01566 !-----------------------------------------------------------------------
01567 !
01568       INTERFACE
01569         SUBROUTINE PREDIV(PD,UP,VP,WP,INFO,BC,OPT,DIRSUR,DIRBOT,DIRLAT)
01570           USE BIEF_DEF
01571           IMPLICIT NONE
01572           INTEGER, INTENT(IN)             :: OPT
01573           TYPE(BIEF_OBJ), INTENT(INOUT)   :: PD
01574           TYPE(BIEF_OBJ), INTENT(IN)      :: UP,VP,WP
01575           LOGICAL, INTENT(IN)             :: INFO,BC
01576           LOGICAL, INTENT(IN)             :: DIRSUR,DIRBOT,DIRLAT
01577         END SUBROUTINE
01578       END INTERFACE
01579 !
01580 !-----------------------------------------------------------------------
01581 !
01582       INTERFACE
01583         SUBROUTINE PREPARE_ADVECTION(FN,S0F,FBORL,LIFBOL,FLUXF,
01584      &  SCHCF,CALFLU,MESH3D,MASKEL,NPTFR3,VOLUNPAR,FLUEXT,FLUEXTPAR,
01585      &  NBOR3,DT,MSK,IELM3,NUMLIQ,DIRFLU,NFRLIQ)
01586       USE BIEF_DEF
01587       IMPLICIT NONE
01588       TYPE(BIEF_OBJ), INTENT(INOUT)   :: FN,S0F,LIFBOL,FBORL
01589       TYPE(BIEF_OBJ), INTENT(IN)      :: FLUEXT,FLUEXTPAR
01590       DOUBLE PRECISION, INTENT(IN)    :: DT
01591       DOUBLE PRECISION, INTENT(INOUT) :: FLUXF
01592       INTEGER, INTENT(IN)             :: SCHCF,NPTFR3,NFRLIQ,IELM3
01593       INTEGER, INTENT(IN)             :: NUMLIQ(*),DIRFLU(0:NFRLIQ)
01594       LOGICAL, INTENT(IN)             :: CALFLU,MSK
01595       TYPE(BIEF_OBJ), INTENT(IN)      :: MASKEL,NBOR3,VOLUNPAR
01596       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH3D
01597         END SUBROUTINE
01598       END INTERFACE
01599 !
01600 !-----------------------------------------------------------------------
01601 !
01602       INTERFACE
01603         SUBROUTINE PRERES_TELEMAC3D(LT)
01604           IMPLICIT NONE
01605           INTEGER, INTENT(IN) :: LT
01606         END SUBROUTINE
01607       END INTERFACE
01608 !
01609 !-----------------------------------------------------------------------
01610 !
01611       INTERFACE
01612         DOUBLE PRECISION FUNCTION Q3( I , AT , INFOGR )
01613           IMPLICIT NONE
01614           INTEGER          , INTENT(IN) :: I
01615           DOUBLE PRECISION , INTENT(IN) :: AT
01616           LOGICAL          , INTENT(IN) :: INFOGR
01617         END FUNCTION
01618       END INTERFACE
01619 !
01620 !-----------------------------------------------------------------------
01621 !
01622       INTERFACE
01623         SUBROUTINE RHS_PRESSURE
01624      &(DIVU,UP,VP,WP,IELM3,DM1,ZCONV,SVIDE,MESH3D,MSK,MASKEL,FLUEXT,
01625      & NSCE,RAIN,PLUIE,SOURCES,GRADZF,VOLU2D,DSSUDT,NPOIN2,NPOIN3,NPLAN)
01626       USE BIEF_DEF
01627       IMPLICIT NONE
01628       INTEGER,         INTENT(IN)    :: IELM3,NSCE,NPOIN2,NPOIN3,NPLAN
01629       LOGICAL,         INTENT(IN)    :: MSK,RAIN
01630       TYPE(BIEF_OBJ),  INTENT(INOUT) :: DIVU
01631       TYPE(BIEF_OBJ),  INTENT(IN)    :: UP,VP,WP,PLUIE,SOURCES,GRADZF
01632       TYPE(BIEF_OBJ),  INTENT(IN)    :: DM1,ZCONV,SVIDE,MASKEL,FLUEXT
01633       TYPE(BIEF_OBJ),  INTENT(IN)    :: VOLU2D,DSSUDT
01634       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH3D
01635         END SUBROUTINE
01636       END INTERFACE
01637 !
01638 !-----------------------------------------------------------------------
01639 !
01640       INTERFACE
01641         SUBROUTINE SCOPE
01642      & (U,V,W,HN,ZF,X,Y,Z,TRA01,TRA02,TRA03,SURFAC,IKLE3,IFABOR,NELEM3,
01643      &  NELEM2,NPOIN2,NPOIN3,NETAGE,NPLAN,LT,AT,DT,NIT,NSCO,PRIVE)
01644       USE BIEF_DEF
01645       IMPLICIT NONE
01646       INTEGER, INTENT(IN) :: NSCO,NPOIN2,NELEM2,NPOIN3,NETAGE
01647       INTEGER, INTENT(IN) :: NIT,LT,NELEM3,NPLAN
01648       INTEGER, INTENT(IN) :: IKLE3(NELEM3,6), IFABOR(NELEM2,3)
01649       DOUBLE PRECISION, INTENT(IN)    :: U(NPOIN3),V(NPOIN3),W(NPOIN3)
01650       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN3),Y(NPOIN3),Z(NPOIN3)
01651       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPOIN3), TRA02(NPOIN3)
01652       DOUBLE PRECISION, INTENT(INOUT) :: TRA03(NPOIN3)
01653       DOUBLE PRECISION, INTENT(IN)    :: HN(NPOIN2),ZF(NPOIN2)
01654       DOUBLE PRECISION, INTENT(IN)    :: SURFAC(NELEM2)
01655       TYPE(BIEF_OBJ), INTENT(INOUT)   :: PRIVE
01656       DOUBLE PRECISION, INTENT(IN) :: DT,AT
01657         END SUBROUTINE
01658       END INTERFACE
01659 !
01660 !-----------------------------------------------------------------------
01661 !
01662       INTERFACE
01663         SUBROUTINE SED3D
01664      &(MASBED, MASBED0, MASDEP,WC,TA,EPAI,HDEP,CONC,FLUER,FLUDP,TRA02,
01665      & NELEM2,NPOIN2,NPOIN3,NPFMAX,NCOUCH,
01666      & NPF,AT,TASSE,GIBSON,RHOS,VOLU2D,
01667      & CFDEP,EPAICO,EPAINCO,MIXTE)
01668       USE BIEF_DEF
01669       IMPLICIT NONE
01670       INTEGER, INTENT(IN) :: NPFMAX,NCOUCH,NELEM2,NPOIN2,NPOIN3
01671       INTEGER, INTENT(IN) :: NPF(NPOIN2)
01672       DOUBLE PRECISION, INTENT(INOUT) :: MASBED,MASDEP
01673       DOUBLE PRECISION, INTENT(IN) :: WC(NPOIN3)
01674       DOUBLE PRECISION, INTENT(IN) :: TA(NPOIN3),VOLU2D(NPOIN2)
01675       DOUBLE PRECISION, INTENT(IN) :: EPAI(NPOIN2,NCOUCH)
01676       DOUBLE PRECISION, INTENT(IN) :: EPAICO(NPOIN2), EPAINCO(NPOIN2)
01677       DOUBLE PRECISION, INTENT(IN) :: HDEP(NPOIN2),FLUER(NPOIN2)
01678       DOUBLE PRECISION, INTENT(IN) :: FLUDP(NPOIN2),CONC(NPOIN2,NCOUCH)
01679       DOUBLE PRECISION, INTENT(INOUT) :: TRA02(NPOIN2)
01680       DOUBLE PRECISION, INTENT(IN)    :: AT,RHOS,CFDEP
01681       DOUBLE PRECISION, INTENT(IN)    :: MASBED0
01682       LOGICAL, INTENT(IN)             :: TASSE,GIBSON,MIXTE
01683         END SUBROUTINE
01684       END INTERFACE
01685 !
01686 !-----------------------------------------------------------------------
01687 !
01688       INTERFACE
01689         SUBROUTINE SET_DIF
01690      &(FC,VOLU2D,Z,NPOIN2,NPOIN3,DT,FLUX,NPLAN,
01691      & WCC,FLUDPT,FLUDP,FLUER,IPBOT,VISCTA)
01692 !
01693       USE BIEF_DEF
01694       IMPLICIT NONE
01695 !
01696       INTEGER, INTENT(IN)             :: NPOIN3,NPOIN2,NPLAN
01697       INTEGER, INTENT(IN)             :: IPBOT(NPOIN2)
01698 !
01699       DOUBLE PRECISION, INTENT(INOUT) :: FC(NPOIN3)
01700 !
01701       DOUBLE PRECISION, INTENT(INOUT) :: FLUX
01702       DOUBLE PRECISION, INTENT(IN)    :: DT,Z(NPOIN3)
01703 !
01704       TYPE(BIEF_OBJ), INTENT(IN)      :: WCC,FLUDPT,VOLU2D
01705       TYPE(BIEF_OBJ), INTENT(INOUT)   :: FLUDP, FLUER
01706       TYPE(BIEF_OBJ), INTENT(IN)      :: VISCTA
01707 !
01708         END SUBROUTINE
01709       END INTERFACE
01710 !-----------------------------------------------------------------------
01711 !-----------------------------------------------------------------------
01712 !
01713       INTERFACE
01714         SUBROUTINE SET_FALL
01715      &(FC,FN,WCC,MESH2D,MESH3D,DT,VOLU,IPBOT,NPOIN2,NPOIN3,NPLAN,T1)
01716       USE BIEF_DEF
01717       IMPLICIT NONE
01718       INTEGER         , INTENT(IN)    :: NPOIN2,NPOIN3,NPLAN
01719       INTEGER         , INTENT(IN)    :: IPBOT(NPOIN2)
01720       DOUBLE PRECISION, INTENT(IN)    :: DT
01721       TYPE(BIEF_OBJ)  , INTENT(IN)    :: FN,WCC,VOLU
01722       TYPE(BIEF_OBJ)  , INTENT(INOUT) :: FC,T1
01723       TYPE(BIEF_MESH) , INTENT(INOUT) :: MESH3D,MESH2D
01724         END SUBROUTINE
01725       END INTERFACE
01726 !
01727 !-----------------------------------------------------------------------
01728 !
01729       INTERFACE
01730         SUBROUTINE SFLO3D
01731      &(XFLOT,YFLOT,ZFLOT,IKLFLO,TRAFLO,DEBFLO,FINFLO,NFLOT,NITFLO,
01732      & FLOPRD,NREBI,LISTIN,TITCAS,BINRES,NOMRBI,NIT,
01733      & I_ORIG,J_ORIG)
01734       IMPLICIT NONE
01735       INTEGER, INTENT(IN) :: NFLOT,NIT,NITFLO,NREBI,FLOPRD
01736       INTEGER, INTENT(IN) :: I_ORIG,J_ORIG
01737       INTEGER, INTENT(INOUT) :: IKLFLO(3*NITFLO*NFLOT)
01738       INTEGER, INTENT(INOUT) :: TRAFLO(3*NITFLO*NFLOT)
01739       INTEGER, INTENT(INOUT) :: DEBFLO(NFLOT), FINFLO(NFLOT)
01740       DOUBLE PRECISION, INTENT(INOUT) :: XFLOT(NITFLO*NFLOT)
01741       DOUBLE PRECISION, INTENT(INOUT) :: YFLOT(NITFLO*NFLOT)
01742       DOUBLE PRECISION, INTENT(INOUT) :: ZFLOT(NITFLO*NFLOT)
01743       CHARACTER(LEN=72), INTENT(IN) :: TITCAS, NOMRBI
01744       CHARACTER(LEN=3),  INTENT(IN) :: BINRES
01745       LOGICAL, INTENT(IN) :: LISTIN
01746         END SUBROUTINE
01747       END INTERFACE
01748 !
01749 !-----------------------------------------------------------------------
01750 !
01751       INTERFACE
01752         DOUBLE PRECISION FUNCTION SL3( I , AT , N , INFOGR )
01753           IMPLICIT NONE
01754           INTEGER          , INTENT(IN) :: I,N
01755           DOUBLE PRECISION , INTENT(IN) :: AT
01756           LOGICAL          , INTENT(IN) :: INFOGR
01757         END FUNCTION
01758       END INTERFACE
01759 !
01760 !-----------------------------------------------------------------------
01761 !
01762       INTERFACE
01763         SUBROUTINE SMAGO3D
01764      &(U,V,W,TRAV1,TRAV2,TRAV3,TRAV4,TRAV5,TRAV6,
01765      & SVIDE,MESH3,IELM3,MSK,MASKEL)
01766       USE BIEF_DEF
01767       IMPLICIT NONE
01768       INTEGER, INTENT(IN)            :: IELM3
01769       LOGICAL, INTENT(IN)            :: MSK
01770       TYPE (BIEF_OBJ), INTENT(IN)    :: U, V, W
01771       TYPE (BIEF_OBJ), INTENT(INOUT) :: TRAV1, TRAV2, TRAV3, TRAV4,TRAV6
01772       TYPE (BIEF_OBJ), INTENT(INOUT) :: TRAV5
01773       TYPE (BIEF_OBJ), INTENT(IN)    :: MASKEL
01774       TYPE (BIEF_OBJ), INTENT(INOUT) :: SVIDE
01775       TYPE (BIEF_MESH)               :: MESH3
01776         END SUBROUTINE
01777       END INTERFACE
01778 !
01779 !-----------------------------------------------------------------------
01780 !
01781       INTERFACE
01782         SUBROUTINE SMAGO(U,V,T1,T2,T3,T4,NUSMAG,MESH3,IELM3,MSK,MASKEL)
01783           USE BIEF_DEF
01784           IMPLICIT NONE
01785           INTEGER, INTENT(IN)            :: IELM3
01786           LOGICAL, INTENT(IN)            :: MSK
01787           TYPE (BIEF_OBJ), INTENT(IN)    :: U, V
01788           TYPE (BIEF_OBJ), INTENT(INOUT) :: T1,T2,T3,T4
01789           TYPE (BIEF_OBJ), INTENT(INOUT) :: NUSMAG
01790           TYPE (BIEF_OBJ), INTENT(IN)    :: MASKEL
01791           TYPE (BIEF_MESH), INTENT(INOUT):: MESH3
01792         END SUBROUTINE
01793       END INTERFACE
01794 !
01795 !-----------------------------------------------------------------------
01796 !
01797       INTERFACE
01798         SUBROUTINE SOUKEP
01799      &(CV1,CV2,S1K,S1E,U,V,W,DELTAR,RI,
01800      & DUDX,DUDY,DUDZ,DVDX,DVDY,DVDZ,DWDX,DWDY,DWDZ,DTADZ,
01801      & AK,EP,C1,C2,CMU,GRAV,TR,NPOIN3,MSK,MASKEL,MESH3D,IELM3,S,DT,
01802      & VENT,WIND,H,EBORS,NPOIN2,KMIN,EMIN,PRANDTL)
01803       USE BIEF_DEF
01804       IMPLICIT NONE
01805       INTEGER, INTENT(IN) :: NPOIN3,IELM3,NPOIN2
01806       DOUBLE PRECISION, INTENT(INOUT) :: CV1(NPOIN3),CV2(NPOIN3)
01807       DOUBLE PRECISION, INTENT(INOUT) :: S1K(NPOIN3),S1E(NPOIN3)
01808       DOUBLE PRECISION, INTENT(INOUT) :: AK(NPOIN3),EP(NPOIN3)
01809       DOUBLE PRECISION, INTENT(INOUT) :: RI(NPOIN3)
01810       TYPE (BIEF_OBJ), INTENT(INOUT)  :: DUDX,DUDY,DUDZ,DVDX,DVDY,EBORS
01811       TYPE (BIEF_OBJ), INTENT(INOUT)  :: DVDZ,DWDX,DWDY,DWDZ,DTADZ,TR
01812       TYPE (BIEF_OBJ), INTENT(IN)     :: MASKEL,U,V,W,DELTAR,S,WIND,H
01813       DOUBLE PRECISION, INTENT(IN)    :: C1,C2,CMU,GRAV,DT,KMIN,EMIN
01814       DOUBLE PRECISION, INTENT(IN)    :: PRANDTL
01815       LOGICAL, INTENT(IN)             :: MSK,VENT
01816       TYPE (BIEF_MESH), INTENT(INOUT) :: MESH3D
01817         END SUBROUTINE
01818       END INTERFACE
01819 !
01820 !-----------------------------------------------------------------------
01821 !
01822       INTERFACE
01823         SUBROUTINE SOUKOM(CV1,CV2,S1K,S1E,U,V,W,DELTAR,
01824      & DUDX,DUDY,DUDZ,DVDX,DVDY,DVDZ,DWDX,DWDY,DWDZ,DTADZ,
01825      & DKDX,DKDY,DKDZ,DODX,DODY,DODZ,ROTAT,
01826      & AK,EP,ALPHA,BETA,BETAS,GRAV,TR,NPOIN3,MSK,MASKEL,MESH3D,IELM3,S,
01827      & PRANDTL)
01828       USE BIEF_DEF
01829       IMPLICIT NONE
01830       INTEGER, INTENT(IN)             :: NPOIN3,IELM3
01831       TYPE(BIEF_OBJ), INTENT(INOUT)   :: CV1,CV2,S1K,S1E
01832       TYPE(BIEF_OBJ), INTENT(IN)      :: AK,EP
01833       TYPE(BIEF_OBJ), INTENT(INOUT)   :: ROTAT
01834       TYPE(BIEF_OBJ), INTENT(INOUT)   :: DUDX,DUDY,DUDZ
01835       TYPE(BIEF_OBJ), INTENT(INOUT)   :: DVDX,DVDY,DVDZ
01836       TYPE(BIEF_OBJ), INTENT(INOUT)   :: DWDX,DWDY,DWDZ
01837       TYPE(BIEF_OBJ), INTENT(INOUT)   :: DKDX,DKDY,DKDZ
01838       TYPE(BIEF_OBJ), INTENT(INOUT)   :: DODX,DODY,DODZ
01839       TYPE(BIEF_OBJ), INTENT(INOUT)   :: DTADZ,TR
01840       TYPE(BIEF_OBJ), INTENT(IN)      :: MASKEL,U,V,W,DELTAR,S
01841       DOUBLE PRECISION, INTENT(IN)    :: GRAV,ALPHA,BETA,BETAS
01842       DOUBLE PRECISION, INTENT(IN)    :: PRANDTL
01843       LOGICAL, INTENT(IN)             :: MSK
01844       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH3D
01845         END SUBROUTINE
01846       END INTERFACE
01847 !
01848 !-----------------------------------------------------------------------
01849 !
01850       INTERFACE
01851         SUBROUTINE SOULSBYFLOC3D
01852      &(WCHU, FC, MESH3, NPOIN2, NPOIN3, NPLAN, HN, HMIN, UETCAR)
01853       USE BIEF_DEF
01854       IMPLICIT NONE
01855       TYPE(BIEF_OBJ), INTENT(INOUT) :: WCHU
01856       TYPE(BIEF_MESH), INTENT(INOUT):: MESH3
01857       TYPE(BIEF_OBJ), INTENT(IN)    :: HN
01858       INTEGER, INTENT(IN)           :: NPOIN2,NPOIN3,NPLAN
01859       DOUBLE PRECISION, INTENT(IN)  :: UETCAR(NPOIN2),FC(NPOIN3)
01860       DOUBLE PRECISION, INTENT(IN)  :: HMIN
01861         END SUBROUTINE
01862       END INTERFACE
01863 !
01864 !-----------------------------------------------------------------------
01865 !
01866       INTERFACE
01867         SUBROUTINE SOURCE
01868      & (S0U,S0V,S0W,S1U,S1V,S1W,
01869      &  UN3,VN3,WSN3,WN3,
01870      &  VOLU,VOLUN,T3,NPOIN3,NTRAC,LT,AT,DT,PRIVE,NONHYD,
01871      &  NPOIN2,NSCE,ISCE,KSCE,QSCE,USCE,VSCE,MAXSCE)
01872       USE BIEF_DEF
01873       IMPLICIT NONE
01874       INTEGER, INTENT(IN)           :: NPOIN3, NTRAC, LT, MAXSCE
01875       TYPE(BIEF_OBJ), INTENT(IN)    :: UN3, VN3, WSN3, WN3
01876       TYPE(BIEF_OBJ), INTENT(INOUT) :: S0U,S0V,S1U,S1V,S0W,S1W
01877       TYPE(BIEF_OBJ), INTENT(INOUT) :: T3
01878       TYPE(BIEF_OBJ), INTENT(IN)    :: VOLU, VOLUN,PRIVE
01879       DOUBLE PRECISION, INTENT(IN)  :: AT,DT
01880       LOGICAL, INTENT(IN)           :: NONHYD
01881       INTEGER, INTENT(IN)           :: NPOIN2
01882       INTEGER, INTENT(IN)           :: NSCE
01883       INTEGER, INTENT(IN)           :: ISCE(NSCE)
01884       INTEGER, INTENT(IN)           :: KSCE(NSCE)
01885       DOUBLE PRECISION, INTENT(IN)  :: QSCE(NSCE)
01886       DOUBLE PRECISION, INTENT(IN)  :: USCE(NSCE)
01887       DOUBLE PRECISION, INTENT(IN)  :: VSCE(NSCE)
01888         END SUBROUTINE
01889       END INTERFACE
01890 !
01891 !-----------------------------------------------------------------------
01892 !###>TBE - new SUISED method reads from 2D file
01893 !      INTERFACE
01894 !        SUBROUTINE SUISED
01895 !     &(IVIDE,EPAI,HDEP,CONC,TEMP,FLUER,PDEPOT,ZR,ZF,NPF,
01896 !     & NPOIN2,NPOIN3,NPFMAX,NCOUCH,TASSE,GIBSON,NSUIS,BISUIS)
01897 !      IMPLICIT NONE
01898 !      INTEGER, INTENT(IN)             :: NPOIN2, NPOIN3, NPFMAX, NCOUCH
01899 !      DOUBLE PRECISION, INTENT(INOUT) :: IVIDE(NPFMAX*NPOIN2)
01900 !      DOUBLE PRECISION, INTENT(INOUT) :: EPAI((NPFMAX-1)*NPOIN2)
01901 !      DOUBLE PRECISION, INTENT(INOUT) :: CONC(NCOUCH)
01902 !      DOUBLE PRECISION, INTENT(INOUT) :: TEMP(NCOUCH*NPOIN2)
01903 !      DOUBLE PRECISION, INTENT(INOUT) :: ZR(NPOIN2), ZF(NPOIN2)
01904 !      DOUBLE PRECISION, INTENT(INOUT) :: HDEP(NPOIN2)
01905 !      DOUBLE PRECISION, INTENT(INOUT) :: FLUER(NPOIN2), PDEPOT(NPOIN2)
01906 !      INTEGER, INTENT(INOUT)          :: NPF(NPOIN2)
01907 !      INTEGER, INTENT(IN)             :: NSUIS
01908 !      CHARACTER(LEN=3), INTENT(IN)    :: BISUIS
01909 !      LOGICAL, INTENT(IN)             :: TASSE, GIBSON
01910 !        END SUBROUTINE
01911 !      END INTERFACE
01912 !
01913       INTERFACE
01914         SUBROUTINE SUISED
01915      &(EPAI,HDEP,CONC,ZR,ZF,T2,NPOIN2,NCOUCH,ITASS,NSUIS,FFORMAT,PRIVE)
01916       USE BIEF_DEF
01917       IMPLICIT NONE
01918       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T2, PRIVE
01919       INTEGER, INTENT(IN)             :: NPOIN2,NCOUCH
01920       INTEGER, INTENT(IN)             :: ITASS, NSUIS
01921       DOUBLE PRECISION, INTENT(INOUT) :: EPAI(NPOIN2,NCOUCH)
01922       DOUBLE PRECISION, INTENT(INOUT) :: CONC(NPOIN2,NCOUCH)
01923       DOUBLE PRECISION, INTENT(OUT)   :: ZR(NPOIN2)
01924       DOUBLE PRECISION, INTENT(IN)    :: ZF(NPOIN2)
01925       DOUBLE PRECISION, INTENT(INOUT) :: HDEP(NPOIN2)
01926       CHARACTER(LEN=8), INTENT(IN)  :: FFORMAT
01927         END SUBROUTINE
01928       END INTERFACE
01929 !
01930 !-----------------------------------------------------------------------
01931 !
01932       INTERFACE
01933         SUBROUTINE SUMVER(FINT,F,NPOIN2,NPLAN,NPTFR)
01934           IMPLICIT NONE
01935           INTEGER, INTENT(IN) :: NPOIN2,NPLAN,NPTFR
01936           DOUBLE PRECISION, INTENT(INOUT) :: FINT(NPTFR)
01937           DOUBLE PRECISION, INTENT(IN)    :: F(NPTFR,NPLAN)
01938         END SUBROUTINE
01939       END INTERFACE
01940 !
01941 !-----------------------------------------------------------------------
01942 !
01943       INTERFACE
01944         SUBROUTINE TASSEC
01945      &( CONC   , EPAI , TREST , TEMP , DTC , NPOIN2 , NCOUCH )
01946       IMPLICIT NONE
01947       INTEGER, INTENT(IN)             :: NPOIN2, NCOUCH
01948       DOUBLE PRECISION, INTENT(INOUT) :: EPAI(NCOUCH,NPOIN2)
01949       DOUBLE PRECISION, INTENT(INOUT) :: TEMP(NCOUCH,NPOIN2)
01950       DOUBLE PRECISION, INTENT(IN)    :: CONC(NCOUCH), TREST(NCOUCH)
01951       DOUBLE PRECISION, INTENT(IN)    :: DTC
01952         END SUBROUTINE
01953       END INTERFACE
01954 !
01955 !-----------------------------------------------------------------------
01956 !
01957       INTERFACE
01958         SUBROUTINE TASSEM
01959      & ( IVIDE , EPAI , NPOIN2, NPFMAX, NPF  ,
01960      &   GRAV  , RHOS  , DTC  , CFMAX , TRA01 , SIGMA , CHARGE)
01961           IMPLICIT NONE
01962           INTEGER, INTENT(IN)             :: NPOIN2,NPFMAX
01963           INTEGER, INTENT(IN)             :: NPF(NPOIN2)
01964           DOUBLE PRECISION, INTENT(IN)    :: EPAI(NPFMAX-1,NPOIN2)
01965           DOUBLE PRECISION, INTENT(INOUT) :: IVIDE(NPFMAX,NPOIN2)
01966           DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPFMAX,6)
01967           DOUBLE PRECISION, INTENT(INOUT) :: SIGMA(NPFMAX)
01968           DOUBLE PRECISION, INTENT(INOUT) :: CHARGE(NPFMAX)
01969           DOUBLE PRECISION, INTENT(IN)    :: RHOS,GRAV,DTC,CFMAX
01970         END SUBROUTINE
01971       END INTERFACE
01972 !
01973 !-----------------------------------------------------------------------
01974 !
01975       INTERFACE
01976         SUBROUTINE TBORD
01977      & (AUBORL,LIUBOL,
01978      &  RUGOL,DISBOR,NELBOR,NULONE,IKLE,NELEM2,
01979      &  U,V,W,NBOR,NPOIN2,NPLAN,NPTFR,
01980      &  DNUVIH,DNUVIV,KARMAN,LISRUL,KFROTL,
01981      &  KENT,KENTU,KSORT,KADH,KLOG,UETCAL,NONHYD,UTANG,MESH2D)
01982       USE BIEF_DEF
01983       IMPLICIT NONE
01984       INTEGER, INTENT(IN) :: NPTFR,NPLAN,NPOIN2,KENTU,NELEM2
01985       INTEGER, INTENT(IN) :: LISRUL,KENT,KSORT,KADH,KLOG,KFROTL
01986       INTEGER, INTENT(INOUT) :: LIUBOL(NPTFR,NPLAN)
01987       INTEGER, INTENT(IN) :: NBOR(NPTFR),NELBOR(NPTFR),NULONE(NPTFR)
01988       INTEGER, INTENT(IN) :: IKLE(NELEM2,3)
01989       DOUBLE PRECISION, INTENT(IN) :: U(NPOIN2,NPLAN),V(NPOIN2,NPLAN)
01990       DOUBLE PRECISION, INTENT(IN) :: W(NPOIN2,NPLAN)
01991       DOUBLE PRECISION, INTENT(INOUT) :: UETCAL(NPTFR,NPLAN)
01992       DOUBLE PRECISION, INTENT(INOUT) :: AUBORL(NPTFR,NPLAN)
01993       DOUBLE PRECISION, INTENT(INOUT) :: UTANG(NPTFR)
01994       DOUBLE PRECISION, INTENT(IN) :: DISBOR(NPTFR)
01995       DOUBLE PRECISION, INTENT(IN) :: RUGOL(NPTFR,NPLAN)
01996       DOUBLE PRECISION, INTENT(IN) :: DNUVIH, DNUVIV, KARMAN
01997       LOGICAL, INTENT(IN) :: NONHYD
01998       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH2D
01999         END SUBROUTINE
02000       END INTERFACE
02001 !
02002 !-----------------------------------------------------------------------
02003 !
02004       INTERFACE
02005         SUBROUTINE TFOND
02006      &(AUBOR,CF,U2D,V2D,U3D,V3D,W3D,KARMAN,LISRUG,PROPNU,Z,NPOIN,KFROT,
02007      & RUGOF,UETCAR,NONHYD,OPTBAN,HN,GRAV,IPBOT,NPLAN)
02008       IMPLICIT NONE
02009       INTEGER, INTENT(IN) :: LISRUG,NPOIN,KFROT,OPTBAN,NPLAN
02010       INTEGER, INTENT(IN) :: IPBOT(NPOIN)
02011       DOUBLE PRECISION, INTENT(IN)    :: KARMAN,PROPNU,GRAV
02012       DOUBLE PRECISION, INTENT(INOUT) :: AUBOR(NPOIN),UETCAR(NPOIN)
02013       DOUBLE PRECISION, INTENT(IN)    :: HN(NPOIN)
02014       DOUBLE PRECISION, INTENT(IN) :: CF(*),U2D(*),V2D(*)
02015       DOUBLE PRECISION, INTENT(IN) :: RUGOF(*),U3D(*),V3D(*),W3D(*),Z(*)
02016       LOGICAL, INTENT(IN) :: NONHYD
02017         END SUBROUTINE
02018       END INTERFACE
02019 !
02020 !-----------------------------------------------------------------------
02021 !
02022       INTERFACE
02023         SUBROUTINE THOMPS_BC(OPTION)
02024         IMPLICIT NONE
02025         INTEGER, INTENT(IN) :: OPTION
02026         END SUBROUTINE
02027       END INTERFACE
02028 !
02029 !-----------------------------------------------------------------------
02030 !
02031       INTERFACE
02032         SUBROUTINE TRANSF_ZCHAR(TRANSF,ZCHAR,ZSTAR,TRANSF_PLANE,NPLAN)
02033       USE BIEF_DEF
02034       IMPLICIT NONE
02035       INTEGER, INTENT(IN)           :: NPLAN,TRANSF
02036       TYPE(BIEF_OBJ), INTENT(INOUT) :: ZCHAR,TRANSF_PLANE
02037       TYPE(BIEF_OBJ), INTENT(IN)    :: ZSTAR
02038         END SUBROUTINE
02039       END INTERFACE
02040 !
02041 !-----------------------------------------------------------------------
02042 !
02043       INTERFACE
02044         DOUBLE PRECISION FUNCTION TR3( I , ITRAC , N , AT , INFOGR )
02045           IMPLICIT NONE
02046           INTEGER, INTENT(IN)          :: I,ITRAC,N
02047           DOUBLE PRECISION, INTENT(IN) :: AT
02048           LOGICAL, INTENT(IN)          :: INFOGR
02049         END FUNCTION
02050       END INTERFACE
02051 !
02052 !-----------------------------------------------------------------------
02053 !
02054       INTERFACE
02055         DOUBLE PRECISION FUNCTION TRA_PROF_Z
02056      &                          (I,IPOIN2,AT,LT,IPLAN,INFOGR,IOPT,ITRAC)
02057         IMPLICIT NONE
02058         INTEGER          , INTENT(IN) :: I,IPOIN2,IPLAN,IOPT,LT
02059         INTEGER          , INTENT(IN) :: ITRAC
02060         DOUBLE PRECISION , INTENT(IN) :: AT
02061         LOGICAL          , INTENT(IN) :: INFOGR
02062         END FUNCTION
02063       END INTERFACE
02064 !
02065 !-----------------------------------------------------------------------
02066 !
02067       INTERFACE
02068         SUBROUTINE TRIDW2
02069      &(WSCONV,VOLU,VOLUN,SEM2D,FLUINT,FLUEXT,SOURCES,NSCE,NETAGE,NPOIN2,
02070      & DT,UNSV2D,MESH2D)
02071       USE BIEF_DEF
02072       IMPLICIT NONE
02073       INTEGER, INTENT(IN)           :: NSCE,NETAGE,NPOIN2
02074       DOUBLE PRECISION, INTENT(IN)  :: DT
02075       TYPE(BIEF_OBJ), INTENT(INOUT) :: WSCONV,SEM2D
02076       TYPE(BIEF_OBJ), INTENT(IN)    :: VOLU,VOLUN,FLUINT,FLUEXT
02077       TYPE(BIEF_OBJ), INTENT(IN)    :: SOURCES,UNSV2D
02078       TYPE(BIEF_MESH), INTENT(INOUT):: MESH2D
02079         END SUBROUTINE
02080       END INTERFACE
02081 !
02082 !-----------------------------------------------------------------------
02083 !
02084       INTERFACE
02085         SUBROUTINE TRIDW3
02086      &(WSCONV,FLUVER,SUMFLU,ERROR,PRESSURE,COR_INT,COR_VER,LT,
02087      & VOLU,VOLUN,U,UCONV,VCONV,WCONV,DT,NPOIN3,
02088      & SIGMAG,OPTBAN,MESH3D,MTRA1,MASKEL,NPOIN2,T2_01,NPLAN,
02089      & FLUEXT,NSCE,SOURCES,RAIN,PLUIE,FLUINT,NETAGE,UNSV2D,SVIDE,
02090      & NELEM2,MSK,N_ADV,VOLU2D,INFOGR,DSSUDT,IELM3,DM1,
02091      & GRAZCO,MESH2D,SEM3D,NELEM3,GRADZF)
02092       USE BIEF_DEF
02093       IMPLICIT NONE
02094       INTEGER, INTENT(IN)           :: NPOIN2,NPOIN3,IELM3,NELEM3,NETAGE
02095       INTEGER, INTENT(IN)           :: NPLAN,NSCE,OPTBAN,N_ADV(0:15)
02096       INTEGER, INTENT(IN)           :: NELEM2
02097       LOGICAL, INTENT(IN)           :: RAIN,MSK,INFOGR,SIGMAG
02098       DOUBLE PRECISION, INTENT(IN)  :: DT
02099       TYPE(BIEF_OBJ), INTENT(INOUT) :: WSCONV,FLUVER,SUMFLU,ERROR
02100       TYPE(BIEF_OBJ), INTENT(INOUT) :: PRESSURE,MTRA1,SEM3D,UCONV,FLUINT
02101       TYPE(BIEF_OBJ), INTENT(IN)    :: U,VCONV,WCONV,MASKEL
02102       TYPE(BIEF_OBJ), INTENT(INOUT) :: COR_INT,COR_VER,T2_01
02103       TYPE(BIEF_OBJ), INTENT(IN)    :: VOLU,VOLUN,FLUEXT,SOURCES,DSSUDT
02104       TYPE(BIEF_OBJ), INTENT(IN)    :: DM1,GRAZCO,GRADZF,PLUIE
02105       TYPE(BIEF_OBJ), INTENT(IN)    :: UNSV2D,VOLU2D,SVIDE
02106       INTEGER, INTENT(IN)           :: LT
02107       TYPE(BIEF_MESH), INTENT(INOUT):: MESH2D,MESH3D
02108         END SUBROUTINE
02109       END INTERFACE
02110 !
02111 !-----------------------------------------------------------------------
02112 !
02113       INTERFACE
02114         SUBROUTINE TRISOU
02115      & (CV1, CV2, SCV1, SCV2, UN3, VN3, TA, X, Y, Z, ZS,
02116      &  DELTAR,MESH3,FCOR,CORIOL,NTRAC,LT,AT,DT,SURFAC,
02117      &  T1,ST1, W1, W2, W3, SEDI, GRAV, NPOIN3, NELEM3, NPOIN2,
02118      &  NELEM2, NPLAN, NETAGE, IKLE3, PRIVE, LV, MSK, MASKEL, INCHYD,
02119      &  SVOLU,VOLU,SVIDE,IELM3,SMASKEL,NREJEU,ISCE,KSCE,QSCE,USCE,VSCE,
02120      &  IELM2H,GRADZSX,GRADZSY,Z3,TRAV2,FU2,MESH2D, ST2,T2,ST3,T3,
02121      &  LATIT, LONGIT, NORD,SMU,SMV,YASEM3D,SCHCVI,DENLAW,FXH,FYH,
02122      &  COUROU,NPTH,T3D_FILES,T3DBI1)
02123       USE BIEF_DEF
02124       IMPLICIT NONE
02125       INTEGER, INTENT(IN) :: NPOIN3,NELEM3,NPOIN2,NELEM2
02126       INTEGER, INTENT(IN) :: NPLAN,NETAGE,NTRAC,NPTH,T3DBI1
02127       INTEGER, INTENT(IN) :: LV,LT,IELM2H,NREJEU,IELM3,SCHCVI,DENLAW
02128       INTEGER, INTENT(IN) :: IKLE3(NELEM3,6)
02129       DOUBLE PRECISION, INTENT(IN)    :: MASKEL(NELEM3)
02130       DOUBLE PRECISION, INTENT(IN)    :: LATIT,LONGIT,NORD
02131       DOUBLE PRECISION, INTENT(INOUT) :: CV1(NPOIN3),CV2(NPOIN3)
02132       TYPE(BIEF_OBJ),   INTENT(INOUT) :: SCV1,SCV2,FXH,FYH
02133       DOUBLE PRECISION, INTENT(IN)    :: UN3(NPOIN3), VN3(NPOIN3)
02134       DOUBLE PRECISION, INTENT(IN)    :: SURFAC(NELEM2)
02135       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN3), Y(NPOIN3), Z(NPOIN3)
02136       DOUBLE PRECISION, INTENT(INOUT) :: ZS(NPOIN3)
02137       DOUBLE PRECISION, INTENT(INOUT) :: W1(NELEM3,6), W2(NELEM3,6)
02138       DOUBLE PRECISION, INTENT(INOUT) :: W3(NELEM3,6)
02139       DOUBLE PRECISION, DIMENSION(NPOIN2,NPLAN), INTENT(INOUT) :: VOLU
02140       DOUBLE PRECISION, INTENT(INOUT) :: T1(NPOIN3)
02141       DOUBLE PRECISION, INTENT(INOUT) :: T2(NPOIN3), T3(NPOIN3)
02142       TYPE(BIEF_OBJ),   INTENT(INOUT) :: ST1, ST2, ST3
02143       TYPE(BIEF_OBJ),   INTENT(INOUT) :: TA
02144       TYPE(BIEF_OBJ),   INTENT(INOUT) :: PRIVE
02145       TYPE(BIEF_OBJ),   INTENT(INOUT) :: DELTAR
02146       TYPE(BIEF_MESH),  INTENT(INOUT) :: MESH3
02147       TYPE(BIEF_OBJ),  INTENT(INOUT)  :: GRADZSX
02148       TYPE(BIEF_OBJ),  INTENT(INOUT)  :: GRADZSY
02149       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH2D
02150       TYPE(BIEF_OBJ),  INTENT(IN)     :: Z3
02151       TYPE (BIEF_OBJ), INTENT(IN)     :: SMASKEL
02152       TYPE (BIEF_OBJ), INTENT(INOUT)  :: SVIDE
02153       TYPE (BIEF_OBJ), INTENT(INOUT)  :: TRAV2, FU2
02154       TYPE(BIEF_OBJ),  INTENT(INOUT)  :: SVOLU,SMU,SMV
02155 !                                 * = NSCE
02156       INTEGER, INTENT(IN) :: ISCE(*),KSCE(*)
02157       DOUBLE PRECISION, INTENT(IN) :: QSCE(*),USCE(*),VSCE(*)
02158       DOUBLE PRECISION, INTENT(IN) :: GRAV, DT, AT, FCOR
02159       LOGICAL, INTENT(IN) :: CORIOL, SEDI, MSK, INCHYD,COUROU
02160       LOGICAL, INTENT(INOUT) :: YASEM3D
02161       TYPE(BIEF_FILE), INTENT(IN) :: T3D_FILES(*)
02162         END SUBROUTINE
02163       END INTERFACE
02164 !
02165 !-----------------------------------------------------------------------
02166 !
02167       INTERFACE
02168         DOUBLE PRECISION FUNCTION T3D_DEBSCE( TIME , I , DISCE )
02169           IMPLICIT NONE
02170           DOUBLE PRECISION, INTENT(IN) :: TIME,DISCE(*)
02171           INTEGER         , INTENT(IN) :: I
02172         END FUNCTION
02173       END INTERFACE
02174 !
02175 !-----------------------------------------------------------------------
02176 !
02177       INTERFACE
02178         DOUBLE PRECISION FUNCTION T3D_TRSCE( TIME , I , ITRAC )
02179           IMPLICIT NONE
02180           DOUBLE PRECISION, INTENT(IN) :: TIME
02181           INTEGER         , INTENT(IN) :: I,ITRAC
02182         END FUNCTION
02183       END INTERFACE
02184 !
02185 !-----------------------------------------------------------------------
02186 !
02187       INTERFACE
02188         SUBROUTINE T3D_STRESS
02189      &(SEM3D,OP,T2,T3,BFBORL,BFBORF,BFBORS,NPOIN2,NPOIN3,MESH2D,
02190      & MESH3D,IELM3,IELM2H,IELM2V,SV,MSK,MASKBR,MASKEL,IPBOT,SIGMAG,
02191      & OPTBAN,NPLAN)
02192       USE BIEF
02193       IMPLICIT NONE
02194       TYPE(BIEF_OBJ), INTENT(IN)      :: BFBORL,BFBORF,BFBORS
02195       TYPE(BIEF_OBJ), INTENT(IN)      :: MASKBR,MASKEL,SV
02196       TYPE(BIEF_OBJ), INTENT(INOUT)   :: T3,T2
02197       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH2D,MESH3D
02198       INTEGER, INTENT(IN)             :: NPOIN2,NPOIN3,OPTBAN
02199       INTEGER, INTENT(IN)             :: IELM2H,IELM2V,IELM3,NPLAN
02200       INTEGER, INTENT(IN)             :: IPBOT(NPOIN2)
02201       TYPE(BIEF_OBJ), INTENT(INOUT)   :: SEM3D
02202       LOGICAL, INTENT(IN)             :: MSK,SIGMAG
02203       CHARACTER(LEN=8), INTENT(IN)    :: OP
02204         END SUBROUTINE
02205       END INTERFACE
02206 !
02207 !-----------------------------------------------------------------------
02208 !
02209       INTERFACE
02210         SUBROUTINE UPWIND(M,WCC,DELTA,MESH2D,MESH3D,NPLAN)
02211         USE BIEF_DEF
02212         IMPLICIT NONE
02213         TYPE(BIEF_OBJ), INTENT(INOUT)  :: M
02214         TYPE(BIEF_OBJ), INTENT(IN)     :: WCC
02215         DOUBLE PRECISION, INTENT(IN)   :: DELTA
02216         TYPE(BIEF_MESH), INTENT(IN)    :: MESH3D,MESH2D
02217         INTEGER, INTENT(IN)            :: NPLAN
02218         END SUBROUTINE
02219       END INTERFACE
02220 !
02221 !-----------------------------------------------------------------------
02222 !
02223       INTERFACE
02224         SUBROUTINE UPWINDEBE
02225      &    (D,X,IKLE,NELMAX,NELEM3,NELEM2,SURFAC,NPLAN,WCC,DELTA)
02226           USE BIEF_DEF
02227           IMPLICIT NONE
02228           INTEGER, INTENT(IN)             :: NELMAX,NELEM3,NELEM2,NPLAN
02229           INTEGER, INTENT(IN)             :: IKLE(NELMAX,6)
02230           DOUBLE PRECISION, INTENT(IN   ) :: SURFAC(NELMAX),WCC(*),DELTA
02231           DOUBLE PRECISION, INTENT(INOUT) :: D(*),X(NELMAX,30)
02232         END SUBROUTINE
02233       END INTERFACE
02234 !
02235 !-----------------------------------------------------------------------
02236 !
02237       INTERFACE
02238         SUBROUTINE UPWINDSEG
02239      &  (D,X,IKLE,NELMAX,NELEM3,NELEM2,SURFAC,NPLAN,WCC,NSEG2D,DELTA)
02240         USE BIEF_DEF
02241         IMPLICIT NONE
02242         INTEGER, INTENT(IN)             :: NELMAX,NELEM3,NELEM2,NPLAN
02243         INTEGER, INTENT(IN)             :: IKLE(NELMAX,6),NSEG2D
02244         DOUBLE PRECISION, INTENT(IN   ) :: SURFAC(NELMAX),WCC(*),DELTA
02245         DOUBLE PRECISION, INTENT(INOUT) :: D(*),X(*)
02246         END SUBROUTINE
02247       END INTERFACE
02248 !
02249 !-----------------------------------------------------------------------
02250 !
02251       INTERFACE
02252         SUBROUTINE UTIMP(LT,AT,GRADEBL,GRAPRDL,LISDEBL,LISPRDL)
02253           IMPLICIT NONE
02254           DOUBLE PRECISION, INTENT(IN) :: AT
02255           INTEGER, INTENT(IN) :: LT,GRADEBL,GRAPRDL,LISDEBL,LISPRDL
02256         END SUBROUTINE
02257       END INTERFACE
02258 !
02259 !-----------------------------------------------------------------------
02260 !
02261       INTERFACE
02262         DOUBLE PRECISION FUNCTION VEL_PROF_Z
02263      &( I , IPOIN2 , AT , LT , IPLAN , INFOGR , IOPT )
02264           IMPLICIT NONE
02265           INTEGER          , INTENT(IN) :: I,IPOIN2,IPLAN,IOPT,LT
02266           DOUBLE PRECISION , INTENT(IN) :: AT
02267           LOGICAL          , INTENT(IN) :: INFOGR
02268         END FUNCTION
02269       END INTERFACE
02270 !
02271 !-----------------------------------------------------------------------
02272 !
02273       INTERFACE
02274         SUBROUTINE VELRES
02275      &(U,V,W,DP,PX,PY,PZ,MSK,MASKEL,MESH3D,S,IELM3,NPLAN,OPTBAN,
02276      & UNSVOL,DO_UNSVOL,NPOIN3,NPOIN2,SIGMAG,IPBOT,AGGLOH)
02277       USE BIEF_DEF
02278       IMPLICIT NONE
02279       INTEGER, INTENT(IN)            :: IELM3,NPLAN,OPTBAN,NPOIN3,NPOIN2
02280       DOUBLE PRECISION, INTENT(IN)   :: AGGLOH
02281       TYPE(BIEF_OBJ),  INTENT(IN)    :: S,DP
02282       TYPE(BIEF_OBJ),  INTENT(INOUT) :: UNSVOL,PX,PY,PZ
02283       DOUBLE PRECISION, INTENT(INOUT):: U(NPOIN3),V(NPOIN3),W(NPOIN3)
02284       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH3D
02285       INTEGER, INTENT(IN)            :: IPBOT(NPOIN2)
02286       LOGICAL, INTENT(IN)            :: MSK,SIGMAG,DO_UNSVOL
02287       TYPE(BIEF_OBJ), INTENT(INOUT)  :: MASKEL
02288         END SUBROUTINE
02289       END INTERFACE
02290 !
02291 !-----------------------------------------------------------------------
02292 !
02293       INTERFACE
02294         SUBROUTINE VERMOY
02295      & (FINT1,FINT2,F1,F2,NFONC,Z,TRA01,TRA02,TRA03,
02296      &  IPLAN1,IPLAN2,NPOIN2,NPLAN,OPTBAN)
02297       IMPLICIT NONE
02298       INTEGER, INTENT(IN) :: NPOIN2,NPLAN,NFONC,IPLAN1,IPLAN2,OPTBAN
02299       DOUBLE PRECISION, INTENT(INOUT) :: FINT1(NPOIN2),FINT2(NPOIN2)
02300       DOUBLE PRECISION, INTENT(IN)    :: F1(NPOIN2,NPLAN)
02301       DOUBLE PRECISION, INTENT(IN)    :: F2(NPOIN2,NPLAN)
02302       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN2,NPLAN)
02303       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPOIN2,NPLAN)
02304       DOUBLE PRECISION, INTENT(INOUT) :: TRA02(NPOIN2,NPLAN)
02305       DOUBLE PRECISION, INTENT(INOUT) :: TRA03(NPOIN2,NPLAN)
02306         END SUBROUTINE
02307       END INTERFACE
02308 !
02309 !-----------------------------------------------------------------------
02310 !
02311       INTERFACE
02312         SUBROUTINE VISCKE
02313      & (VISCVI,VISCTA,AK,EP,NTRAC,CMU,
02314      &  DNUVIH,DNUVIV,DNUTAH,DNUTAV,KMIN,EMIN,ITURBH,ITURBV,PRANDTL)
02315           USE BIEF_DEF
02316           IMPLICIT NONE
02317           INTEGER, INTENT(IN)          :: NTRAC,ITURBH,ITURBV
02318           DOUBLE PRECISION, INTENT(IN) :: CMU,PRANDTL
02319           DOUBLE PRECISION, INTENT(IN) :: DNUVIH,DNUVIV
02320           DOUBLE PRECISION, INTENT(IN) :: DNUTAH,DNUTAV,KMIN,EMIN
02321           TYPE(BIEF_OBJ), INTENT(INOUT):: VISCVI,VISCTA
02322           TYPE(BIEF_OBJ), INTENT(IN)   :: AK,EP
02323         END SUBROUTINE
02324       END INTERFACE
02325 !
02326 !-----------------------------------------------------------------------
02327 !
02328       INTERFACE
02329         SUBROUTINE VISCKO
02330      & (VISCVI, VISCTA, ROTAT, AK, EP, NTRAC, CMU,
02331      &  DNUVIH, DNUVIV, DNUTAH, DNUTAV)
02332           USE BIEF_DEF
02333           IMPLICIT NONE
02334           INTEGER, INTENT(IN)          :: NTRAC
02335           DOUBLE PRECISION, INTENT(IN) :: CMU
02336           DOUBLE PRECISION, INTENT(IN) :: DNUVIH, DNUVIV
02337           DOUBLE PRECISION, INTENT(IN) :: DNUTAH, DNUTAV
02338           TYPE(BIEF_OBJ), INTENT(INOUT)  :: VISCVI, VISCTA
02339           TYPE(BIEF_OBJ), INTENT(IN)   :: ROTAT, AK, EP
02340         END SUBROUTINE
02341       END INTERFACE
02342 !
02343 !-----------------------------------------------------------------------
02344 !
02345       INTERFACE
02346         SUBROUTINE VISCLIP
02347      & (VISCVI,VISCTA,H,NPLAN,NPOIN3,NPOIN2,NTRAC,HLIM)
02348           USE BIEF_DEF
02349           IMPLICIT NONE
02350           INTEGER, INTENT(IN)            :: NPOIN3, NPOIN2, NPLAN
02351           INTEGER, INTENT(IN)            :: NTRAC
02352           DOUBLE PRECISION, INTENT(IN)   :: HLIM
02353           TYPE (BIEF_OBJ), INTENT(INOUT) :: VISCVI, VISCTA
02354           TYPE (BIEF_OBJ), INTENT(IN)    :: H
02355         END SUBROUTINE
02356       END INTERFACE
02357 !
02358 !-----------------------------------------------------------------------
02359 !
02360       INTERFACE
02361         SUBROUTINE VISCLM
02362      & (VISCVI,VISCTA,RI,U,V,DELTAR,X,Y,Z,HN,TRAV1,TRAV2,TRAV3,
02363      &  TRAV4,TRAV5,TRAV6,TRAV7,SVIDE,MESH3D,IELM3,GRAV,
02364      &  NPLAN,NPOIN3,NPOIN2,NTRAC,MSK,MASKEL,TA,MIXING,
02365      &  DAMPING,IND_T,DNUVIV,DNUTAV,KARMAN,PRANDTL,UETCAR,KFROT,
02366      &  RUGOF,ZF,LINLOG,IPBOT)
02367       USE BIEF_DEF
02368       IMPLICIT NONE
02369       INTEGER, INTENT(IN)            :: NPOIN3,NPOIN2,NPLAN,KFROT
02370       INTEGER, INTENT(IN)            :: NTRAC,DAMPING,LINLOG
02371       INTEGER, INTENT(IN)            :: IELM3,MIXING,IND_T
02372       INTEGER, INTENT(IN)            :: IPBOT(NPOIN2)
02373       DOUBLE PRECISION, INTENT(IN)   :: GRAV,DNUVIV,DNUTAV,KARMAN
02374       DOUBLE PRECISION, INTENT(IN)   :: PRANDTL
02375       LOGICAL, INTENT(IN)            :: MSK
02376       TYPE (BIEF_OBJ), INTENT(INOUT) :: VISCVI,VISCTA
02377       TYPE (BIEF_OBJ), INTENT(IN)    :: TA,UETCAR,RUGOF,ZF
02378       TYPE (BIEF_OBJ), INTENT(INOUT) :: RI
02379       TYPE (BIEF_OBJ), INTENT(IN)    :: U,V,DELTAR,X,Y,Z,HN
02380       TYPE (BIEF_OBJ), INTENT(INOUT) :: TRAV1,TRAV2,TRAV3,TRAV4
02381       TYPE (BIEF_OBJ), INTENT(INOUT) :: TRAV5,TRAV6,TRAV7
02382       TYPE (BIEF_OBJ), INTENT(IN)    :: MASKEL
02383       TYPE (BIEF_OBJ), INTENT(INOUT) :: SVIDE
02384       TYPE (BIEF_MESH)               :: MESH3D
02385         END SUBROUTINE
02386       END INTERFACE
02387 !
02388 !-----------------------------------------------------------------------
02389 !
02390       INTERFACE
02391         SUBROUTINE VISCOS
02392      &(VISCVI,VISCTA,DNUTAV,DNUTAH,DNUVIV,DNUVIH,
02393      & NTRAC,ITURBH,ITURBV)
02394           USE BIEF_DEF
02395           IMPLICIT NONE
02396           INTEGER, INTENT(IN)            :: NTRAC
02397           INTEGER, INTENT(IN)            :: ITURBH,ITURBV
02398           TYPE (BIEF_OBJ), INTENT(INOUT) :: VISCVI, VISCTA
02399           DOUBLE PRECISION, INTENT(IN)   :: DNUVIH, DNUVIV
02400           DOUBLE PRECISION, INTENT(IN)   :: DNUTAH, DNUTAV
02401         END SUBROUTINE
02402       END INTERFACE
02403 !
02404 !-----------------------------------------------------------------------
02405 !
02406       INTERFACE
02407         SUBROUTINE VISSMA
02408      & (VISCVI,VISCTA,DNUTAH,DNUVIH,DNUVIV,DNUTAV,
02409      &  U,V,W,TRAV1,TRAV2,TRAV3,TRAV4,TRAV5,TRAV6,
02410      &  SVIDE,MESH3,IELM3,NTRAC,MSK,MASKEL,ITURBV)
02411       USE BIEF_DEF
02412       IMPLICIT NONE
02413       INTEGER, INTENT(IN)            :: NTRAC,ITURBV
02414       INTEGER, INTENT(IN)            :: IELM3
02415       LOGICAL, INTENT(IN)            :: MSK
02416       TYPE (BIEF_OBJ), INTENT(IN)    :: U, V, W
02417       TYPE (BIEF_OBJ), INTENT(INOUT) :: VISCVI, VISCTA
02418       TYPE (BIEF_OBJ), INTENT(INOUT) :: TRAV1, TRAV2, TRAV3, TRAV4
02419       TYPE (BIEF_OBJ), INTENT(INOUT) :: TRAV5      !  NUSMAG
02420       TYPE (BIEF_OBJ), INTENT(INOUT) :: TRAV6
02421       TYPE (BIEF_OBJ), INTENT(IN)    :: MASKEL
02422       TYPE (BIEF_OBJ), INTENT(INOUT) :: SVIDE
02423       TYPE (BIEF_MESH)               :: MESH3
02424       DOUBLE PRECISION, INTENT(IN)   :: DNUVIH,DNUTAH,DNUVIV,DNUTAV
02425         END SUBROUTINE
02426       END INTERFACE
02427 !
02428 !-----------------------------------------------------------------------
02429 !
02430       INTERFACE
02431         DOUBLE PRECISION FUNCTION VIT3( I , AT , N , INFOGR )
02432           IMPLICIT NONE
02433           INTEGER          , INTENT(IN) :: I,N
02434           DOUBLE PRECISION , INTENT(IN) :: AT
02435           LOGICAL          , INTENT(IN) :: INFOGR
02436         END FUNCTION
02437       END INTERFACE
02438 !
02439 !-----------------------------------------------------------------------
02440 !
02441       INTERFACE
02442         SUBROUTINE VITCHU
02443      &  (WCHU,WCHU0,TURBWC,U,V,W,H,RUGOF,LISRUF,TURBA,TURBB,
02444      &   TRAV1,TRAV2,TRAV3,S,MESH3D,IELM3,NPOIN2,NPOIN3,NPLAN,NTRAC,
02445      &  MSK,MASKEL,UETCAR,TA,HN,HMIN,
02446      &  FLOC, FLOC_TYPE, HINDER,HIND_TYPE,CGEL,CINI)
02447           USE BIEF
02448           IMPLICIT NONE
02449       TYPE(BIEF_MESH),INTENT(INOUT) :: MESH3D
02450       TYPE(BIEF_OBJ), INTENT(INOUT) :: WCHU,TRAV1,TRAV2,TRAV3
02451       TYPE(BIEF_OBJ), INTENT(IN)    :: MASKEL,S,H,HN,RUGOF,U,V,W
02452       TYPE(BIEF_OBJ), INTENT(IN)    :: TA,UETCAR
02453       LOGICAL, INTENT(IN)           :: TURBWC,MSK,HINDER, FLOC
02454       INTEGER, INTENT(IN)           :: NPOIN2,NPOIN3,NPLAN,IELM3,LISRUF
02455       INTEGER, INTENT(IN)           :: NTRAC,HIND_TYPE, FLOC_TYPE
02456       DOUBLE PRECISION, INTENT(IN)  :: WCHU0,TURBA,TURBB,HMIN,CGEL,CINI
02457         END SUBROUTINE
02458       END INTERFACE
02459 !
02460 !-----------------------------------------------------------------------
02461 !
02462       INTERFACE
02463         SUBROUTINE WAVE_EQUATION(LT,ISOUSI)
02464           IMPLICIT NONE
02465           INTEGER, INTENT(IN) :: LT,ISOUSI
02466         END SUBROUTINE
02467       END INTERFACE
02468 !
02469 !-----------------------------------------------------------------------
02470 !
02471       INTERFACE
02472         SUBROUTINE WCHIND
02473      &(WC, C, CINI, CGEL, NPOIN3, HIND_TYPE)
02474       USE BIEF_DEF
02475       IMPLICIT NONE
02476       TYPE(BIEF_OBJ), INTENT(INOUT) :: WC,C
02477       DOUBLE PRECISION, INTENT(IN)  :: CINI, CGEL
02478       INTEGER, INTENT(IN)           :: HIND_TYPE, NPOIN3
02479         END SUBROUTINE
02480       END INTERFACE
02481 !
02482 !-----------------------------------------------------------------------
02483 !
02484       INTERFACE
02485         SUBROUTINE WCTURB
02486      &(WC, WCHU0, U, V, W, HN, RUGOF, LISRUF, TRAV1, TRAV2, TRAV3,
02487      & S, MESH3, IELM3, NPOIN2, NPLAN, TURBA, TURBB, MSK, MASKEL,
02488      & UETCAR)
02489       USE BIEF_DEF
02490       IMPLICIT NONE
02491       INTEGER, INTENT(IN)           :: NPOIN2,NPLAN,IELM3,LISRUF
02492       DOUBLE PRECISION, INTENT(IN)  :: WCHU0,TURBA,TURBB
02493       LOGICAL, INTENT(IN)           :: MSK
02494       TYPE(BIEF_MESH), INTENT(INOUT):: MESH3
02495       TYPE(BIEF_OBJ), INTENT(INOUT) :: WC,TRAV1,TRAV2,TRAV3
02496       TYPE(BIEF_OBJ), INTENT(IN)    :: MASKEL,S,HN,RUGOF,UETCAR,U,V,W
02497         END SUBROUTINE
02498       END INTERFACE
02499 !
02500 !-----------------------------------------------------------------------
02501 !
02502       INTERFACE
02503         SUBROUTINE WSTARW(WW,WSS,WUP,WDOWN,SOMMEW)
02504           USE BIEF_DEF
02505           IMPLICIT NONE
02506           TYPE(BIEF_OBJ), INTENT(IN) :: WSS
02507           TYPE(BIEF_OBJ), INTENT(INOUT) :: WW
02508           DOUBLE PRECISION,INTENT(INOUT) :: WUP(*),WDOWN(*),SOMMEW(*)
02509         END SUBROUTINE
02510       END INTERFACE
02511 !
02512 !-----------------------------------------------------------------------
02513 !
02514       INTERFACE
02515         SUBROUTINE WSTAR(WS,HWSTAR,Z,NPOIN2,NPLAN)
02516           USE BIEF_DEF
02517           IMPLICIT NONE
02518           TYPE(BIEF_OBJ),    INTENT(IN   ) :: HWSTAR
02519           TYPE(BIEF_OBJ),    INTENT(INOUT) :: WS
02520           DOUBLE PRECISION,  INTENT(IN   ) :: Z(*)
02521           INTEGER,           INTENT(IN   ) :: NPOIN2,NPLAN
02522         END SUBROUTINE
02523       END INTERFACE
02524 !
02525 !=======================================================================
02526 !
02527       END MODULE INTERFACE_TELEMAC3D

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