interface_tomawac.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\tomawac\interface_tomawac.f
00002 !
00011       MODULE INTERFACE_TOMAWAC
00012 !
00013 !=======================================================================
00014 !
00015 !     DEFINITION OF STRUCTURES
00016 !
00017       USE BIEF_DEF
00018 !
00019 !-----------------------------------------------------------------------
00020 !
00021 !     DEFINITION OF INTERFACES
00022 !
00023 !-----------------------------------------------------------------------
00024 !
00025       INTERFACE
00026         SUBROUTINE ANACOS(UC,VC,X,Y,NPOIN2)
00027       IMPLICIT NONE
00028       INTEGER  NPOIN2
00029       DOUBLE PRECISION X(NPOIN2),Y(NPOIN2),UC(NPOIN2),VC(NPOIN2)
00030         END SUBROUTINE
00031       END INTERFACE
00032 !
00033 !-----------------------------------------------------------------------
00034 !
00035       INTERFACE
00036         SUBROUTINE ANAMAR
00037      &( UC  , VC  , ZM  , ZM1 , ZM2 , DZHDT , X  , Y  , NPOIN2 ,
00038      &  AT  , DDC , LT  )
00039       IMPLICIT NONE
00040       INTEGER, INTENT(IN)             :: NPOIN2,LT
00041       DOUBLE PRECISION, INTENT(IN)    :: AT,DDC
00042       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN2),Y(NPOIN2)
00043       DOUBLE PRECISION, INTENT(INOUT) :: ZM1(NPOIN2),ZM2(NPOIN2)
00044       DOUBLE PRECISION, INTENT(INOUT) :: UC(NPOIN2),VC(NPOIN2)
00045       DOUBLE PRECISION, INTENT(INOUT) :: DZHDT(NPOIN2),ZM(NPOIN2)
00046         END SUBROUTINE
00047       END INTERFACE
00048 !
00049 !-----------------------------------------------------------------------
00050 !
00051       INTERFACE
00052         SUBROUTINE ANAVEN
00053      &( UV , VV , X , Y , NPOIN2, AT , DDC , VX_CTE, VY_CTE)
00054       IMPLICIT NONE
00055       INTEGER  NPOIN2
00056       DOUBLE PRECISION AT    , DDC   , VX_CTE, VY_CTE
00057       DOUBLE PRECISION X (NPOIN2)    , Y (NPOIN2)
00058       DOUBLE PRECISION UV(NPOIN2)    , VV(NPOIN2)
00059         END SUBROUTINE
00060       END INTERFACE
00061 !
00062 !-----------------------------------------------------------------------
00063 !
00064       INTERFACE
00065         SUBROUTINE ANGLES(XLAMD , DTPLUS, DTMOIN)
00066       IMPLICIT NONE
00067       DOUBLE PRECISION XLAMD , DTPLUS, DTMOIN
00068         END SUBROUTINE
00069       END INTERFACE
00070 !
00071 !-----------------------------------------------------------------------
00072 !
00073       INTERFACE
00074         SUBROUTINE BORNES(B , N , A , XM , X0 , X1 )
00075       IMPLICIT NONE
00076       INTEGER  N
00077       DOUBLE PRECISION B , A , XM , X0 , X1
00078         END SUBROUTINE
00079       END INTERFACE
00080 !
00081 !-----------------------------------------------------------------------
00082 !
00083       INTERFACE
00084         SUBROUTINE CONDIW
00085      &( AT, LT , TC1, TC2, TV1, TV2, TM1, TM2 ,
00086      &  NVHMA,NVCOU,NVWIN,PART , U_TEL, V_TEL , H_TEL )
00087       USE BIEF_DEF
00088       IMPLICIT NONE
00089       INTEGER, INTENT(IN)             :: PART,LT
00090       INTEGER, INTENT(INOUT)          :: NVHMA,NVCOU,NVWIN
00091       DOUBLE PRECISION, INTENT(INOUT) :: AT,TC1,TC2,TV1,TV2,TM1,TM2
00092       TYPE(BIEF_OBJ), INTENT(IN)      :: U_TEL,V_TEL,H_TEL
00093         END SUBROUTINE
00094       END INTERFACE
00095 !
00096 !-----------------------------------------------------------------------
00097 !
00098       INTERFACE
00099         SUBROUTINE CONW4D
00100      &(CX,CY,CT,CF,U,V,XK,CG,COSF,TGF,DEPTH,DZHDT,DZX,DZY,DUX,DUY,
00101      & DVX,DVY,FREQ,COSTET,SINTET,NPOIN2,NPLAN,JF,NF,PROINF,SPHE,
00102      & MAREE,TRA01)
00103       IMPLICIT NONE
00104       INTEGER, INTENT(IN)             :: NF,NPLAN,NPOIN2,JF
00105       DOUBLE PRECISION, INTENT(INOUT) :: CX(NPOIN2,NPLAN,JF)
00106       DOUBLE PRECISION, INTENT(INOUT) :: CY(NPOIN2,NPLAN,JF)
00107       DOUBLE PRECISION, INTENT(INOUT) :: CT(NPOIN2,NPLAN,JF)
00108       DOUBLE PRECISION, INTENT(INOUT) :: CF(NPOIN2,NPLAN,JF)
00109       DOUBLE PRECISION, INTENT(IN)    :: FREQ(NF)
00110       DOUBLE PRECISION, INTENT(IN)    :: CG(NPOIN2,NF),XK(NPOIN2,NF)
00111       DOUBLE PRECISION, INTENT(IN)    :: DEPTH(NPOIN2),DZHDT(NPOIN2)
00112       DOUBLE PRECISION, INTENT(IN)    :: U(NPOIN2),V(NPOIN2)
00113       DOUBLE PRECISION, INTENT(IN)    :: DZX(NPOIN2),DZY(NPOIN2)
00114       DOUBLE PRECISION, INTENT(IN)    :: DUX(NPOIN2),DUY(NPOIN2)
00115       DOUBLE PRECISION, INTENT(IN)    :: DVX(NPOIN2),DVY(NPOIN2)
00116       DOUBLE PRECISION, INTENT(IN)    :: COSTET(NPLAN),SINTET(NPLAN)
00117       DOUBLE PRECISION, INTENT(IN)    :: COSF(NPOIN2),TGF(NPOIN2)
00118       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPOIN2)
00119       LOGICAL, INTENT(IN)             :: PROINF,SPHE,MAREE
00120         END SUBROUTINE
00121       END INTERFACE
00122 !
00123 !-----------------------------------------------------------------------
00124 !
00125       INTERFACE
00126         SUBROUTINE CONWAC
00127      &( CX    , CY    , CT    , XK    , CG    , COSF  , TGF   , DEPTH ,
00128      &  DZX   , DZY   , FREQ  , COSTET, SINTET, NPOIN2, NPLAN , JF    ,
00129      &  NF    , PROINF, SPHE  , PROMIN, TRA01 )
00130       IMPLICIT NONE
00131       INTEGER, INTENT(IN)             :: NF,NPLAN,NPOIN2,JF
00132       DOUBLE PRECISION, INTENT(IN)    :: PROMIN
00133       DOUBLE PRECISION, INTENT(IN)    :: DEPTH(NPOIN2)
00134       DOUBLE PRECISION, INTENT(IN)    :: DZX(NPOIN2),DZY(NPOIN2)
00135       DOUBLE PRECISION, INTENT(IN)    :: COSF(NPOIN2),TGF(NPOIN2)
00136       DOUBLE PRECISION, INTENT(IN)    :: FREQ(NF)
00137       DOUBLE PRECISION, INTENT(IN)    :: COSTET(NPLAN),SINTET(NPLAN)
00138       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPOIN2)
00139       DOUBLE PRECISION, INTENT(IN)    :: CG(NPOIN2,NF),XK(NPOIN2,NF)
00140       DOUBLE PRECISION, INTENT(INOUT) :: CX(NPOIN2,NPLAN)
00141       DOUBLE PRECISION, INTENT(INOUT) :: CY(NPOIN2,NPLAN)
00142       DOUBLE PRECISION, INTENT(INOUT) :: CT(NPOIN2,NPLAN)
00143       LOGICAL, INTENT(IN)             :: PROINF,SPHE
00144         END SUBROUTINE
00145       END INTERFACE
00146 !
00147 !-----------------------------------------------------------------------
00148 !
00149       INTERFACE
00150         SUBROUTINE CORMAR
00151      &( AT    , LT    , TC1   , TC2   , TV1   , TV2   , TM1   , TM2   ,
00152      &  NVHMA , NVCOU , PART, U_TEL, V_TEL , H_TEL )
00153       USE BIEF_DEF
00154       IMPLICIT NONE
00155       INTEGER          NVHMA, NVCOU,LT
00156       DOUBLE PRECISION AT,TC1,TC2,TV1,TV2,TM1,TM2
00157       INTEGER,           INTENT(IN) :: PART
00158       TYPE(BIEF_OBJ),    INTENT(IN) :: U_TEL,V_TEL,H_TEL
00159         END SUBROUTINE
00160       END INTERFACE
00161 !
00162 !-----------------------------------------------------------------------
00163 !
00164       INTERFACE
00165         FUNCTION COUPLE
00166      &( XK1   , YK1   , XK2   , YK2   , XK3   , YK3   , XK4   , YK4   ,
00167      &  GRAVIT, PI    )
00168       IMPLICIT NONE
00169       DOUBLE PRECISION XK1   , YK1   , XK2   , YK2   , XK3   , YK3
00170       DOUBLE PRECISION XK4   , YK4   , GRAVIT, PI    , COUPLE
00171         END FUNCTION
00172       END INTERFACE
00173 !
00174 !-----------------------------------------------------------------------
00175 !
00176       INTERFACE
00177         SUBROUTINE COUUTI
00178      &(X,Y,NPOIN,NCOU,BINCOU,NBOR,NPTFR,AT,DDC,TC1,TC2,UC1,VC1,UC2,VC2)
00179       IMPLICIT NONE
00180       INTEGER, INTENT(IN)             :: NCOU,NPOIN,NPTFR
00181       INTEGER, INTENT(IN)             :: NBOR(NPTFR,2)
00182       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN),Y(NPOIN)
00183       DOUBLE PRECISION, INTENT(INOUT) :: UC1(NPOIN),VC1(NPOIN)
00184       DOUBLE PRECISION, INTENT(INOUT) :: UC2(NPOIN),VC2(NPOIN)
00185       DOUBLE PRECISION, INTENT(IN)    :: AT,DDC,TC1,TC2
00186       CHARACTER(LEN=3), INTENT(IN)    :: BINCOU
00187         END SUBROUTINE
00188       END INTERFACE
00189 !
00190 !-----------------------------------------------------------------------
00191 !
00192       INTERFACE
00193         SUBROUTINE CQUEUE
00194      &( NF    , RAISF , TAILF , JFRE  , JBIS  , COEF1 )
00195       IMPLICIT NONE
00196       INTEGER  NF    , JFRE  , JBIS
00197       DOUBLE PRECISION RAISF , TAILF , COEF1
00198         END SUBROUTINE
00199       END INTERFACE
00200 !
00201 !-----------------------------------------------------------------------
00202 !
00203       INTERFACE
00204         FUNCTION DELFRA( SS    , DEUPI )
00205       IMPLICIT NONE
00206       DOUBLE PRECISION DELFRA, SS    , DEUPI
00207         END FUNCTION
00208       END INTERFACE
00209 !
00210 !-----------------------------------------------------------------------
00211 !
00212       INTERFACE
00213         SUBROUTINE DIFFRAC
00214      &( CX    , CY    , CT    , XK    , CG    , DEPTH , DZX   , DZY   ,
00215      &  FREQ  , COSTET, SINTET, NPOIN2, NPLAN , IFF   , NF    , PROINF,
00216      &  SPHE  , A     , DFREQ , F     , CCG   , DIV   , DELTA , DDX   ,
00217      &  DDY   , EPS   , NBOR  , NPTFR , XKONPT, RK    , RX    , RY    ,
00218      &  RXX   , RYY   , NEIGB , NB_CLOSE, DIFFRA, MAXNSP, FLTDIF,OPTDER)
00219       USE BIEF_DEF
00220       IMPLICIT NONE
00221       INTEGER, INTENT(IN) :: NF,NPLAN,NPOIN2,NPTFR,IFF,MAXNSP,OPTDER
00222       INTEGER, INTENT(IN) :: NB_CLOSE(NPOIN2),NEIGB(NPOIN2,MAXNSP)
00223       INTEGER, INTENT(IN)             :: DIFFRA,NBOR(NPTFR)
00224       DOUBLE PRECISION, INTENT(INOUT) :: CX(NPOIN2,NPLAN)
00225       DOUBLE PRECISION, INTENT(INOUT) :: CY(NPOIN2,NPLAN)
00226       DOUBLE PRECISION, INTENT(IN)    :: FREQ(NF)
00227       DOUBLE PRECISION, INTENT(INOUT) :: CT(NPOIN2,NPLAN)
00228       DOUBLE PRECISION, INTENT(IN)    :: CG(NPOIN2,NF),XK(NPOIN2,NF)
00229       DOUBLE PRECISION, INTENT(IN)    :: DEPTH(NPOIN2)
00230       DOUBLE PRECISION, INTENT(IN)    :: DZX(NPOIN2),DZY(NPOIN2)
00231       DOUBLE PRECISION, INTENT(IN)    :: COSTET(NPLAN),SINTET(NPLAN)
00232       DOUBLE PRECISION, INTENT(INOUT) :: A(NPOIN2)
00233       DOUBLE PRECISION, INTENT(IN)    :: DFREQ(NF)
00234       DOUBLE PRECISION, INTENT(IN)    :: F(NPOIN2,NPLAN,NF)
00235       DOUBLE PRECISION, INTENT(INOUT) :: CCG(NPOIN2), DIV(NPOIN2)
00236       DOUBLE PRECISION, INTENT(INOUT) :: DELTA(NPOIN2)
00237       DOUBLE PRECISION, INTENT(INOUT) :: DDX(NPOIN2), DDY(NPOIN2)
00238       DOUBLE PRECISION, INTENT(IN)    :: EPS
00239       DOUBLE PRECISION, INTENT(IN)    :: RK(MAXNSP,NPOIN2)
00240       DOUBLE PRECISION, INTENT(IN)    :: RX(MAXNSP,NPOIN2)
00241       DOUBLE PRECISION, INTENT(IN)    :: RY(MAXNSP,NPOIN2)
00242       DOUBLE PRECISION, INTENT(IN)    :: RXX(MAXNSP,NPOIN2)
00243       DOUBLE PRECISION, INTENT(IN)    :: RYY(MAXNSP,NPOIN2)
00244       DOUBLE PRECISION, INTENT(INOUT) :: XKONPT(NPOIN2)
00245       LOGICAL, INTENT(IN)             :: PROINF,SPHE,FLTDIF
00246         END SUBROUTINE
00247       END INTERFACE
00248 !
00249 !-----------------------------------------------------------------------
00250 !
00251       INTERFACE
00252         SUBROUTINE DUMP2D( LT , XF1 , NP1 )
00253       IMPLICIT NONE
00254       INTEGER, INTENT(IN)          :: LT,NP1
00255       DOUBLE PRECISION, INTENT(IN) :: XF1(NP1)
00256         END SUBROUTINE
00257       END INTERFACE
00258 !
00259 !-----------------------------------------------------------------------
00260 !
00261       INTERFACE
00262         SUBROUTINE ECRETE
00263      &( F     , DEPTH , NPOIN2, NPLAN , NF    , PROMIN)
00264       IMPLICIT NONE
00265       INTEGER          NPOIN2 , NPLAN, NF
00266       DOUBLE PRECISION F(NPOIN2,NPLAN,NF), DEPTH(NPOIN2)
00267       DOUBLE PRECISION PROMIN
00268         END SUBROUTINE
00269       END INTERFACE
00270 !
00271 !-----------------------------------------------------------------------
00272 !
00273       INTERFACE
00274         SUBROUTINE ECRSPE
00275      &( F     , TETA  , NPLAN , FREQ  , NF    , NK    ,
00276      &  NPOIN2, AT    , AUXIL , NOLEO , NLEO  , NSCO  ,
00277      &  BINSCO, DEBRES, TITCAS, DATE  , TIME  , KNOLG , MESH ,
00278      &  NSPE  , TISPEF)
00279       USE BIEF_DEF
00280       IMPLICIT NONE
00281       INTEGER, INTENT(IN)             :: NPOIN2,NLEO,NSCO,NF,NK,NPLAN
00282       INTEGER, INTENT(IN)             :: KNOLG(NPOIN2),NOLEO(NLEO)
00283       INTEGER, INTENT(IN)             :: DATE(3),TIME(3)
00284       DOUBLE PRECISION, INTENT(IN)    :: AT
00285       DOUBLE PRECISION, INTENT(INOUT) :: AUXIL(NPLAN,NK)
00286       DOUBLE PRECISION, INTENT(IN)    :: F(NPOIN2,NPLAN,NF)
00287       DOUBLE PRECISION, INTENT(IN)    :: TETA(NPLAN),FREQ(NF)
00288       LOGICAL, INTENT(IN)             :: DEBRES
00289       CHARACTER(LEN=72), INTENT(IN)   :: TITCAS
00290       CHARACTER(LEN=*) , INTENT(IN)   :: BINSCO
00291       TYPE(BIEF_MESH), INTENT(INOUT)  :: MESH
00292       CHARACTER(LEN=144), INTENT(IN)  :: TISPEF
00293       INTEGER, INTENT(IN)             :: NSPE
00294         END SUBROUTINE
00295       END INTERFACE
00296 !
00297 !-----------------------------------------------------------------------
00298 !
00299       INTERFACE
00300         SUBROUTINE F1F1F1
00301      &( F1SF  , NF1   , IQ_OM1)
00302       IMPLICIT NONE
00303       INTEGER,          INTENT(IN)    :: IQ_OM1
00304       INTEGER,          INTENT(INOUT) :: NF1
00305       DOUBLE PRECISION, INTENT(INOUT) :: F1SF(*)
00306         END SUBROUTINE
00307       END INTERFACE
00308 !
00309 !-----------------------------------------------------------------------
00310 !
00311       INTERFACE
00312         SUBROUTINE FILT_SA
00313         IMPLICIT NONE
00314         END SUBROUTINE
00315       END INTERFACE
00316 !
00317 !-----------------------------------------------------------------------
00318 !
00319       INTERFACE
00320         FUNCTION FONCRO
00321      &( X     , B     , N     , A     , XM    )
00322       IMPLICIT NONE
00323       INTEGER  N
00324       DOUBLE PRECISION X      , B     , A     , XM , FONCRO
00325         END FUNCTION
00326       END INTERFACE
00327 !
00328 !-----------------------------------------------------------------------
00329 !
00330       INTERFACE
00331         SUBROUTINE FPREAD
00332      &( FREAD , F     , FREQ  , DFREQ , NF    , NPLAN , NPOIN2, EXPO  ,
00333      &  TAILF , DENOM , E     )
00334       IMPLICIT NONE
00335       INTEGER  NF    , NPLAN , NPOIN2
00336       DOUBLE PRECISION EXPO  , TAILF
00337       DOUBLE PRECISION F(NPOIN2,NPLAN,NF), FREQ(NF), DFREQ(NF)
00338       DOUBLE PRECISION DENOM(NPOIN2), E(NPOIN2), FREAD(NPOIN2)
00339         END SUBROUTINE
00340       END INTERFACE
00341 !
00342 !-----------------------------------------------------------------------
00343 !
00344       INTERFACE
00345         SUBROUTINE FREM01
00346      &( FM01  , F     , FREQ  , DFREQ , TAILF , NF    , NPLAN , NPOIN2,
00347      &  AUX1  , AUX2  )
00348       IMPLICIT NONE
00349       INTEGER  NF    , NPLAN , NPOIN2
00350       DOUBLE PRECISION TAILF
00351       DOUBLE PRECISION F(NPOIN2,NPLAN,NF)
00352       DOUBLE PRECISION FREQ(NF), DFREQ(NF), FM01(NPOIN2)
00353       DOUBLE PRECISION AUX1(NPOIN2), AUX2(NPOIN2)
00354         END SUBROUTINE
00355       END INTERFACE
00356 !
00357 !-----------------------------------------------------------------------
00358 !
00359       INTERFACE
00360         SUBROUTINE FREM02
00361      &( FM02  , F     , FREQ  , DFREQ , TAILF , NF    , NPLAN , NPOIN2,
00362      &  AUX1  , AUX2  )
00363       IMPLICIT NONE
00364       INTEGER  NF    , NPLAN , NPOIN2
00365       DOUBLE PRECISION TAILF
00366       DOUBLE PRECISION F(NPOIN2,NPLAN,NF)
00367       DOUBLE PRECISION FREQ(NF), DFREQ(NF), FM02(NPOIN2)
00368       DOUBLE PRECISION AUX1(NPOIN2), AUX2(NPOIN2)
00369         END SUBROUTINE
00370       END INTERFACE
00371 !
00372 !-----------------------------------------------------------------------
00373 !
00374       INTERFACE
00375         SUBROUTINE FREMOY
00376      &( FMOY  , F     , FREQ  , DFREQ , TAILF , NF    , NPLAN , NPOIN2,
00377      &  AUX1  , AUX2  )
00378       IMPLICIT NONE
00379       INTEGER  NF    , NPLAN , NPOIN2
00380       DOUBLE PRECISION TAILF
00381       DOUBLE PRECISION F(NPOIN2,NPLAN,NF)
00382       DOUBLE PRECISION FREQ(NF), DFREQ(NF), FMOY(NPOIN2)
00383       DOUBLE PRECISION AUX1(NPOIN2), AUX2(NPOIN2)
00384         END SUBROUTINE
00385       END INTERFACE
00386 !
00387 !-----------------------------------------------------------------------
00388 !
00389       INTERFACE
00390         SUBROUTINE FREPIC
00391      &( FPIC  , F     , FREQ  , NF    , NPLAN , NPOIN2, EMAX  , E     )
00392       IMPLICIT NONE
00393       INTEGER  NF    , NPLAN , NPOIN2
00394       DOUBLE PRECISION F(NPOIN2,NPLAN,NF), FREQ(NF)  , FPIC(NPOIN2)
00395       DOUBLE PRECISION EMAX(NPOIN2),E(NPOIN2)
00396         END SUBROUTINE
00397       END INTERFACE
00398 !
00399 !-----------------------------------------------------------------------
00400 !
00401 !V6P2 New subroutine
00402       INTERFACE
00403         SUBROUTINE FRMSET
00404      &( X     , Y     , NEIGB , NB_CLOSE, NPOIN2,MAXNSP, NRD, NELEM2,
00405      &  IKLE  , RK    , RX    , RY    , RXX   , RYY )
00406       IMPLICIT NONE
00407       INTEGER NPOIN2, MAXNSP, NRD, NELEM2
00408       INTEGER NB_CLOSE(NPOIN2), NEIGB(NPOIN2,MAXNSP)
00409       INTEGER IKLE(NELEM2,3)
00410       DOUBLE PRECISION X(NPOIN2), Y(NPOIN2)
00411       DOUBLE PRECISION RK(MAXNSP,NPOIN2)
00412       DOUBLE PRECISION RX(MAXNSP,NPOIN2), RY(MAXNSP,NPOIN2)
00413       DOUBLE PRECISION RXX(MAXNSP,NPOIN2),RYY(MAXNSP,NPOIN2)
00414         END SUBROUTINE
00415       END INTERFACE
00416 !
00417 !-----------------------------------------------------------------------
00418 !
00419       INTERFACE
00420         SUBROUTINE FSPRD1
00421      &( FRA   , DIREC , NPLAN , SPRED1, TETA1 , SPRED2, TETA2 , XLAMDA)
00422       IMPLICIT NONE
00423       INTEGER  NPLAN
00424       DOUBLE PRECISION SPRED1, TETA1 , SPRED2, TETA2 , XLAMDA
00425       DOUBLE PRECISION FRA(NPLAN)    , DIREC(NPLAN)
00426         END SUBROUTINE
00427       END INTERFACE
00428 !
00429 !-----------------------------------------------------------------------
00430 !
00431       INTERFACE
00432         SUBROUTINE FSPRD2
00433      &( FRA   , DIREC , NPLAN , SPRED1, TETA1 , SPRED2, TETA2 , XLAMDA)
00434       IMPLICIT NONE
00435       INTEGER  NPLAN
00436       DOUBLE PRECISION SPRED1, TETA1 , SPRED2, TETA2 , XLAMDA
00437       DOUBLE PRECISION FRA(NPLAN)    , DIREC(NPLAN)
00438         END SUBROUTINE
00439       END INTERFACE
00440 !
00441 !-----------------------------------------------------------------------
00442 !
00443       INTERFACE
00444         SUBROUTINE FSPRD3
00445      &( FRA   , DIREC , NPLAN , SPRED1, TETA1 , SPRED2, TETA2 , XLAMDA)
00446       IMPLICIT NONE
00447       INTEGER  NPLAN
00448       DOUBLE PRECISION SPRED1, TETA1 , SPRED2, TETA2 , XLAMDA
00449       DOUBLE PRECISION FRA(NPLAN)    , DIREC(NPLAN)
00450         END SUBROUTINE
00451       END INTERFACE
00452 !
00453 !-----------------------------------------------------------------------
00454 !
00455       INTERFACE
00456         FUNCTION GAMMLN
00457      &( XX    , DEUPI )
00458       IMPLICIT NONE
00459       DOUBLE PRECISION GAMMLN, XX    , DEUPI
00460         END FUNCTION
00461       END INTERFACE
00462 !
00463 !-----------------------------------------------------------------------
00464 !
00465       INTERFACE
00466         SUBROUTINE GAULEG
00467      &( W_LEG , X_LEG , NPOIN )
00468       IMPLICIT NONE
00469       INTEGER           NPOIN
00470       DOUBLE PRECISION  W_LEG(NPOIN) , X_LEG(NPOIN)
00471         END SUBROUTINE
00472       END INTERFACE
00473 !
00474 !-----------------------------------------------------------------------
00475 !
00476       INTERFACE
00477         SUBROUTINE IMPR
00478      &(LISPRD,LT,AT,ISITS,ICOD)
00479       IMPLICIT NONE
00480       INTEGER LISPRD,LT,ISITS,ICOD
00481       DOUBLE PRECISION AT
00482         END SUBROUTINE
00483       END INTERFACE
00484 !
00485 !-----------------------------------------------------------------------
00486 !
00487       INTERFACE
00488         SUBROUTINE INIPHY
00489      &( XK    , CG    , B     , DEPTH , FREQ  , COSPHI, NPOIN2, NF    ,
00490      &  PROINF, SPHE  )
00491       IMPLICIT NONE
00492       INTEGER          NF    , NPOIN2
00493       DOUBLE PRECISION DEPTH(NPOIN2)    , COSPHI(NPOIN2), FREQ(NF)
00494       DOUBLE PRECISION B(NPOIN2,NF)  , XK(NPOIN2,NF) , CG(NPOIN2,NF)
00495       LOGICAL          PROINF, SPHE
00496         END SUBROUTINE
00497       END INTERFACE
00498 !
00499 !-----------------------------------------------------------------------
00500 !
00501       INTERFACE
00502         SUBROUTINE INITAB(IBOR1,IFABOR1,NELEM2_DIM,PART)
00503       IMPLICIT NONE
00504       INTEGER, INTENT(IN)    :: PART,NELEM2_DIM
00505       INTEGER, INTENT(IN)    :: IFABOR1(NELEM2_DIM,3)
00506       INTEGER, INTENT(INOUT) :: IBOR1(NELEM2_DIM,7)
00507         END SUBROUTINE
00508       END INTERFACE
00509 !
00510 !-----------------------------------------------------------------------
00511 !
00512       INTERFACE
00513         SUBROUTINE INTANG
00514      &( LAVANT, LAPRES, IPLAN , NPLAN , DELTAD)
00515       IMPLICIT NONE
00516       INTEGER  LAVANT, LAPRES, NPLAN , IPLAN
00517       DOUBLE PRECISION DELTAD
00518         END SUBROUTINE
00519       END INTERFACE
00520 !
00521 !-----------------------------------------------------------------------
00522 !
00523       INTERFACE
00524         DOUBLE PRECISION FUNCTION KERBOU
00525      &(XK1,XK2,FREQ1,FREQ2,DEPTH,TETA1,TETA2)
00526       IMPLICIT NONE
00527       DOUBLE PRECISION, INTENT(IN) :: XK1,XK2,FREQ1,FREQ2,TETA1,TETA2
00528       DOUBLE PRECISION, INTENT(IN) :: DEPTH
00529         END FUNCTION
00530       END INTERFACE
00531 !
00532 !-----------------------------------------------------------------------
00533 !
00534       INTERFACE
00535         SUBROUTINE KMOYEN
00536      &( XKMOY , XK    , F     , FREQ  , DFREQ , TAILF , NF    , NPLAN ,
00537      &  NPOIN2, AUX1  , AUX2  , AUX3  )
00538       IMPLICIT NONE
00539       INTEGER, INTENT(IN)             :: NF,NPLAN,NPOIN2
00540       DOUBLE PRECISION, INTENT(IN)    :: TAILF
00541       DOUBLE PRECISION, INTENT(IN)    :: F(NPOIN2,NPLAN,NF)
00542       DOUBLE PRECISION, INTENT(IN)    :: XK(NPOIN2,NF)
00543       DOUBLE PRECISION, INTENT(IN)    :: FREQ(NF),DFREQ(NF)
00544       DOUBLE PRECISION, INTENT(INOUT) :: AUX1(NPOIN2),AUX2(NPOIN2)
00545       DOUBLE PRECISION, INTENT(INOUT) :: AUX3(NPOIN2)
00546       DOUBLE PRECISION, INTENT(INOUT) :: XKMOY(NPOIN2)
00547         END SUBROUTINE
00548       END INTERFACE
00549 !
00550 !-----------------------------------------------------------------------
00551 !
00552       INTERFACE
00553         SUBROUTINE LECDOI
00554      &(F1,NAME1FR,NAME1GB,MODE1,
00555      & F2,NAME2FR,NAME2GB,MODE2,
00556      & F3,NAME3FR,NAME3GB,MODE3,
00557      & X,Y,NPOIN2,NDON,BINDON,NBOR,NPTFR,
00558      & AT,DDC,TV1,TV2,F11,F12,F21,F22,F31,F32,INDIC,CHDON,NVAR,
00559      & TEXTE,TROUVE,UNITIME,PHASTIME)
00560       IMPLICIT NONE
00561       INTEGER, INTENT(IN)             :: NDON,NPOIN2,NPTFR,INDIC
00562       INTEGER, INTENT(IN)             :: MODE1,MODE2,MODE3
00563       INTEGER, INTENT(INOUT)          :: NVAR
00564       INTEGER, INTENT(IN)             :: NBOR(NPTFR,2)
00565       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN2),Y(NPOIN2)
00566       DOUBLE PRECISION, INTENT(INOUT) :: F1(NPOIN2),F2(NPOIN2)
00567       DOUBLE PRECISION, INTENT(INOUT) :: F3(NPOIN2)
00568       DOUBLE PRECISION, INTENT(INOUT) :: F11(NPOIN2),F12(NPOIN2)
00569       DOUBLE PRECISION, INTENT(INOUT) :: F21(NPOIN2),F22(NPOIN2)
00570       DOUBLE PRECISION, INTENT(INOUT) :: F31(NPOIN2),F32(NPOIN2)
00571       DOUBLE PRECISION, INTENT(IN)    :: AT,DDC,UNITIME,PHASTIME
00572       DOUBLE PRECISION, INTENT(INOUT) :: TV1,TV2
00573       CHARACTER(LEN=3), INTENT(IN)    :: BINDON
00574       CHARACTER(LEN=7), INTENT(IN)    :: CHDON
00575       CHARACTER(LEN=32),INTENT(IN)    :: NAME1FR,NAME2FR,NAME3FR
00576       CHARACTER(LEN=32),INTENT(IN)    :: NAME1GB,NAME2GB,NAME3GB
00577       CHARACTER(LEN=32),INTENT(INOUT) :: TEXTE(30)
00578       LOGICAL, INTENT(INOUT)          :: TROUVE(3)
00579         END SUBROUTINE
00580       END INTERFACE
00581 !
00582 !-----------------------------------------------------------------------
00583 !
00584       INTERFACE
00585         SUBROUTINE LECDON
00586      &(F1,NAME1FR,NAME1GB,MODE1,
00587      & F2,NAME2FR,NAME2GB,MODE2,
00588      & F3,NAME3FR,NAME3GB,MODE3,
00589      & X,Y,NPOIN2,NDON,BINDON,NBOR,NPTFR,NPTT,INDIC,CHDON,TEXTE,TROUVE)
00590       IMPLICIT NONE
00591       INTEGER, INTENT(IN)             :: NDON,NPOIN2,NPTFR,INDIC,NPTT
00592       INTEGER, INTENT(IN)             :: MODE1,MODE2,MODE3
00593       INTEGER, INTENT(IN)             :: NBOR(NPTFR,2)
00594       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN2),Y(NPOIN2)
00595       DOUBLE PRECISION, INTENT(INOUT) :: F1(NPOIN2),F2(NPOIN2)
00596       DOUBLE PRECISION, INTENT(INOUT) :: F3(NPOIN2)
00597       CHARACTER(LEN=3), INTENT(IN)    :: BINDON
00598       CHARACTER(LEN=7), INTENT(IN)    :: CHDON
00599       CHARACTER(LEN=32),INTENT(IN)    :: NAME1FR,NAME2FR,NAME3FR
00600       CHARACTER(LEN=32),INTENT(IN)    :: NAME1GB,NAME2GB,NAME3GB
00601       CHARACTER(LEN=32),INTENT(INOUT) :: TEXTE(30)
00602       LOGICAL, INTENT(INOUT)          :: TROUVE(3)
00603         END SUBROUTINE
00604       END INTERFACE
00605 !
00606 !-----------------------------------------------------------------------
00607 !
00608       INTERFACE
00609         SUBROUTINE LECDON_TOMAWAC(FILE_DESC,PATH,NCAR,CODE)
00610       USE BIEF_DEF
00611       IMPLICIT NONE
00612       INTEGER, PARAMETER :: NMAX = 300
00613       CHARACTER(LEN=24), INTENT(IN)     :: CODE
00614       CHARACTER(LEN=144), INTENT(INOUT) :: FILE_DESC(4,NMAX)
00615       INTEGER, INTENT(IN)               :: NCAR
00616       CHARACTER(LEN=250), INTENT(IN)    :: PATH
00617         END SUBROUTINE
00618       END INTERFACE
00619 !
00620 !-----------------------------------------------------------------------
00621 !
00622       INTERFACE
00623         SUBROUTINE LECSUI
00624      &(F,NPLAN,NF,TETA,FREQ,NELEM2,NPOIN2,AT,UC,VC,UC1,VC1,UC2,VC2,
00625      & UV,VV,UV1,VV1,UV2,VV2,VENT,TV1,TV2,COURAN,NPRE,BINPRE,DEPTH,
00626      & TC1,TC2,ZM1,ZM2,DZHDT,TM1,TM2,MAREE,TRA01)
00627       IMPLICIT NONE
00628       INTEGER, INTENT(IN)             :: NPRE,NF,NPLAN,NELEM2,NPOIN2
00629       DOUBLE PRECISION, INTENT(INOUT) :: F(NPOIN2,NPLAN,NF),AT
00630       DOUBLE PRECISION, INTENT(INOUT) :: TV1,TV2,TC1,TC2,TM1,TM2
00631       DOUBLE PRECISION, INTENT(INOUT) :: TETA(NPLAN+1),FREQ(NF)
00632       DOUBLE PRECISION, INTENT(INOUT) :: UC(NPOIN2),VC(NPOIN2)
00633       DOUBLE PRECISION, INTENT(INOUT) :: UV(NPOIN2),VV(NPOIN2)
00634       DOUBLE PRECISION, INTENT(INOUT) :: UV1(NPOIN2),VV1(NPOIN2)
00635       DOUBLE PRECISION, INTENT(INOUT) :: UV2(NPOIN2),VV2(NPOIN2)
00636       DOUBLE PRECISION, INTENT(INOUT) :: UC1(NPOIN2),VC1(NPOIN2)
00637       DOUBLE PRECISION, INTENT(INOUT) :: UC2(NPOIN2),VC2(NPOIN2)
00638       DOUBLE PRECISION, INTENT(INOUT) :: DEPTH(NPOIN2)
00639       DOUBLE PRECISION, INTENT(INOUT) :: ZM1(NPOIN2),ZM2(NPOIN2)
00640       DOUBLE PRECISION, INTENT(INOUT) :: DZHDT(NPOIN2)
00641       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPOIN2*NPLAN)
00642       LOGICAL, INTENT(IN)             :: COURAN,VENT,MAREE
00643       CHARACTER(LEN=3), INTENT(IN)    :: BINPRE
00644         END SUBROUTINE
00645       END INTERFACE
00646 !
00647 !-----------------------------------------------------------------------
00648 !
00649       INTERFACE
00650         SUBROUTINE LIMITE( F , DEPTH , FREQ  , NPOIN2, NPLAN , NF    )
00651         IMPLICIT NONE
00652         INTEGER, INTENT(IN)             :: NF,NPLAN,NPOIN2
00653         DOUBLE PRECISION, INTENT(IN)    :: FREQ(NF),DEPTH(NPOIN2)
00654         DOUBLE PRECISION, INTENT(INOUT) :: F(NPOIN2,NPLAN,NF)
00655         END SUBROUTINE
00656       END INTERFACE
00657 !
00658 !-----------------------------------------------------------------------
00659 !
00660       INTERFACE
00661         SUBROUTINE LIMWAC
00662      &(F     , FBOR  , LIFBOR, NPTFR , NPLAN , NF    ,  TETA , FREQ  ,
00663      & NPOIN2, NBOR  , AT    , LT    , DDC   , LIMSPE, FPMAXL, FETCHL,
00664      & SIGMAL, SIGMBL, GAMMAL, FPICL , HM0L  , APHILL, TETA1L, SPRE1L,
00665      & TETA2L, SPRE2L, XLAMDL, X ,Y  , KENT  , KSORT , NFO1  , NBI1  ,
00666      & BINBI1, UV    , VV    , SPEULI, VENT  , VENSTA, GRAVIT, DEUPI ,
00667      & PRIVE , NPRIV , SPEC  , FRA   , DEPTH , FRABL ,BOUNDARY_COLOUR)
00668       IMPLICIT NONE
00669       INTEGER NPTFR,NPLAN,NF,NPOIN2,LT,NPRIV,LIMSPE,KENT,KSORT,FRABL
00670       INTEGER NFO1,NBI1
00671       INTEGER LIFBOR(NPTFR),NBOR(NPTFR)
00672       INTEGER, INTENT(IN) :: BOUNDARY_COLOUR(NPTFR)
00673       DOUBLE PRECISION F(NPOIN2,NPLAN,NF),FBOR(NPTFR,NPLAN,NF)
00674       DOUBLE PRECISION TETA(NPLAN),FREQ(NF),X(NPOIN2),Y(NPOIN2)
00675       DOUBLE PRECISION UV(NPOIN2),VV(NPOIN2), SPEC(NF), FRA(NPLAN)
00676       DOUBLE PRECISION PRIVE(NPOIN2,NPRIV),DEPTH(NPOIN2)
00677       DOUBLE PRECISION AT,DDC,FPMAXL,FETCHL,SIGMAL, SIGMBL, GAMMAL,FPICL
00678       DOUBLE PRECISION HM0L  , APHILL,TETA1L,SPRE1L,TETA2L,SPRE2L,XLAMDL
00679       DOUBLE PRECISION GRAVIT,DEUPI
00680       LOGICAL SPEULI, VENT, VENSTA
00681       CHARACTER(LEN=3) BINBI1
00682         END SUBROUTINE
00683       END INTERFACE
00684 !
00685 !-----------------------------------------------------------------------
00686 !
00687       INTERFACE
00688         SUBROUTINE MARUTI
00689      &(X,Y,NPOIN,NMAR,BINMAR,NBOR,NPTFR,AT,DDC,TV1,TV2,Z1,Z2)
00690       IMPLICIT NONE
00691       INTEGER, INTENT(IN)             :: NMAR,NPOIN,NPTFR
00692       INTEGER, INTENT(IN)             :: NBOR(NPTFR,2)
00693       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN),Y(NPOIN)
00694       DOUBLE PRECISION, INTENT(INOUT) :: Z1(NPOIN),Z2(NPOIN)
00695       DOUBLE PRECISION, INTENT(IN)    :: AT,DDC,TV1,TV2
00696       CHARACTER(LEN=3), INTENT(IN)    :: BINMAR
00697         END SUBROUTINE
00698       END INTERFACE
00699 !
00700 !-----------------------------------------------------------------------
00701 !
00702       INTERFACE
00703         SUBROUTINE MPOINT
00704      &( U     , V     , W     , DT    , X     , Y     , TETA  , IKLE2 ,
00705      &  IFABOR, ETAS  , XPLOT , YPLOT , ZPLOT , DX    , DY    , DZ    ,
00706      &  SHP   , SHZ   , ELT   , ETA   , NSP   , NPLOT ,
00707      &  NPOIN2, NELEM2, NPLAN , IFF   , SURDET, SENS  , ISO )
00708       IMPLICIT NONE
00709       INTEGER NPOIN2, NELEM2, NPLAN, NPLOT, SENS, IFF
00710       INTEGER ELT(NPLOT), ETA(NPLOT), NSP(NPLOT), ISO(NPLOT)
00711       INTEGER IKLE2(NELEM2,3), IFABOR(NELEM2,5), ETAS(NPLAN)
00712       DOUBLE PRECISION DT
00713       DOUBLE PRECISION U(NPOIN2,NPLAN), V(NPOIN2,NPLAN)
00714       DOUBLE PRECISION W(NPOIN2,NPLAN)
00715       DOUBLE PRECISION XPLOT(NPLOT), YPLOT(NPLOT), ZPLOT(NPLOT)
00716       DOUBLE PRECISION SHZ(NPLOT),SURDET(NELEM2),SHP(3,NPLOT)
00717       DOUBLE PRECISION X(NPOIN2), Y(NPOIN2), TETA(NPLAN+1)
00718       DOUBLE PRECISION DX(NPLOT), DY(NPLOT), DZ(NPLOT)
00719         END SUBROUTINE
00720       END INTERFACE
00721 !
00722 !-----------------------------------------------------------------------
00723 !
00724       INTERFACE
00725         SUBROUTINE NOMVAR_TOMAWAC
00726      &(TEXTE,TEXTPR,MNEMO,MAXVAR)
00727       IMPLICIT NONE
00728       INTEGER      MAXVAR
00729       CHARACTER*32 TEXTE(MAXVAR),TEXTPR(MAXVAR)
00730       CHARACTER*8  MNEMO(MAXVAR)
00731         END SUBROUTINE
00732       END INTERFACE
00733 !
00734 !-----------------------------------------------------------------------
00735 !
00736       INTERFACE
00737         SUBROUTINE NOUDON
00738      &(F1,NAME1FR,NAME1GB,MODE1,
00739      & F2,NAME2FR,NAME2GB,MODE2,
00740      & F3,NAME3FR,NAME3GB,MODE3,X,Y,NPOIN,NDON,BINDON,NBOR,NPTFR,
00741      & AT,DDC,TV1,TV2,F11,F12,F21,F22,F31,F32,INDIC,CHDON,NVAR,TEXTE,
00742      & TROUVE,UNITIME,PHASTIME)
00743       IMPLICIT NONE
00744       INTEGER, INTENT(IN)             :: NDON,NPOIN,NPTFR,INDIC,NVAR
00745       INTEGER, INTENT(IN)             :: MODE1,MODE2,MODE3
00746       INTEGER, INTENT(IN)             :: NBOR(NPTFR,2)
00747       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN),Y(NPOIN)
00748       DOUBLE PRECISION, INTENT(INOUT) :: F1(NPOIN),F2(NPOIN),F3(NPOIN)
00749       DOUBLE PRECISION, INTENT(INOUT) :: F11(NPOIN),F21(NPOIN)
00750       DOUBLE PRECISION, INTENT(INOUT) :: F12(NPOIN),F22(NPOIN)
00751       DOUBLE PRECISION, INTENT(INOUT) :: F31(NPOIN),F32(NPOIN)
00752       DOUBLE PRECISION, INTENT(IN)    :: AT,DDC,UNITIME,PHASTIME
00753       DOUBLE PRECISION, INTENT(INOUT) :: TV1,TV2
00754       CHARACTER(LEN=3), INTENT(IN)    :: BINDON
00755       CHARACTER(LEN=7), INTENT(IN)    :: CHDON
00756       CHARACTER(LEN=32),INTENT(IN)    :: NAME1FR,NAME2FR,NAME3FR
00757       CHARACTER(LEN=32),INTENT(IN)    :: NAME1GB,NAME2GB,NAME3GB
00758       CHARACTER(LEN=32),INTENT(IN)    :: TEXTE(30)
00759       LOGICAL, INTENT(INOUT)          :: TROUVE(3)
00760 !
00761         END SUBROUTINE
00762       END INTERFACE
00763 !
00764 !-----------------------------------------------------------------------
00765 !
00766       INTERFACE
00767         SUBROUTINE P_READ2(BUFFER,NBYTES,SOURCE,TYPE)
00768       IMPLICIT NONE
00769       INTEGER NBYTES, SOURCE, TYPE
00770       INTEGER BUFFER(*)
00771         END SUBROUTINE
00772       END INTERFACE
00773 !
00774 !-----------------------------------------------------------------------
00775 !
00776       INTERFACE
00777         SUBROUTINE P_WRIT2(BUFFER, NBYTES, DEST, TYPE)
00778       IMPLICIT NONE
00779       INTEGER NBYTES,DEST,TYPE
00780       INTEGER BUFFER(*)
00781         END SUBROUTINE
00782       END INTERFACE
00783 !
00784 !-----------------------------------------------------------------------
00785 !
00786       INTERFACE
00787         SUBROUTINE PREDIF
00788      &(CX    , CY    , CT    , DT    , X     , Y     , TETA  , COSTET,
00789      & SINTET, FREQ  , IKLE2 , IFABOR, ETAP1 , TRA01 , SHP   ,
00790      & SHZ   , ELT   , ETA   , DEPTH , DZX   , DZY   , XK    ,
00791      & CG    , ITR01 , NPOIN3, NPOIN2, NELEM2, NPLAN , NF    , SURDET,
00792      & COURAN, SPHE  , PROINF, A     , DFREQ , F     , CCG   , DIV   ,
00793      & DELTA , DDX   , DDY   , EPS   , NBOR  , NPTFR , XKONPT, RK    ,
00794      & RX    , RY    , RXX   , RYY   , NEIGB , NB_CLOSE,DIFFRA,MAXNSP,
00795      & FLTDIF, MESH3D, MESH  , IELM3 , TB    , ISUB  , SIKLE2)
00796       USE BIEF_DEF
00797       IMPLICIT NONE
00798       INTEGER NPOIN3,NPOIN2,NELEM2,NPLAN,NF,NPTFR,MAXNSP,IELM3
00799       INTEGER NBOR(NPTFR),DIFFRA
00800       INTEGER ITR01(NPOIN3,3)
00801       INTEGER ELT(NPOIN3,NF),ETA(NPOIN3,NF)
00802       INTEGER IKLE2(NELEM2,3),IFABOR(NELEM2,7),ETAP1(NPLAN)
00803       INTEGER NB_CLOSE(NPOIN2),NEIGB(NPOIN2,MAXNSP)
00804       INTEGER, INTENT(INOUT) :: ISUB(NPOIN3,NF)
00805       DOUBLE PRECISION RK(MAXNSP,NPOIN2)
00806       DOUBLE PRECISION RX(MAXNSP,NPOIN2),RY(MAXNSP,NPOIN2)
00807       DOUBLE PRECISION RXX(MAXNSP,NPOIN2),RYY(MAXNSP,NPOIN2)
00808       DOUBLE PRECISION X(NPOIN2),Y(NPOIN2)
00809       DOUBLE PRECISION XK(NPOIN2,NF),CG(NPOIN2,NF)
00810       DOUBLE PRECISION FREQ(NF)
00811       DOUBLE PRECISION SINTET(NPLAN),COSTET(NPLAN)
00812       DOUBLE PRECISION SURDET(NELEM2)
00813       DOUBLE PRECISION DT,EPS
00814       DOUBLE PRECISION TRA01(NPOIN3,8)
00815       DOUBLE PRECISION DEPTH(NPOIN2),DZX(NPOIN2),DZY(NPOIN2)
00816       DOUBLE PRECISION DDX(NPOIN2),DDY(NPOIN2),A(NPOIN2)
00817       DOUBLE PRECISION DFREQ(NF)
00818       DOUBLE PRECISION F(NPOIN2,NPLAN,NF)
00819       DOUBLE PRECISION CCG(NPOIN2),DIV(NPOIN2)
00820       DOUBLE PRECISION DELTA(NPOIN2),XKONPT(NPOIN2)
00821       LOGICAL COURAN,SPHE,PROINF,FLTDIF
00822       TYPE(BIEF_OBJ), INTENT(IN)    :: TETA,SIKLE2
00823       TYPE(BIEF_OBJ), INTENT(INOUT) :: SHP,SHZ,CX,CY,CT,TB
00824       TYPE(BIEF_MESH),INTENT(INOUT) :: MESH3D,MESH
00825         END SUBROUTINE
00826       END INTERFACE
00827 !
00828 !-----------------------------------------------------------------------
00829 !
00830       INTERFACE
00831         SUBROUTINE PRELEO_MPI
00832      &(XLEO,YLEO,NLEO,X,Y,IKLE,SURDET,NPOIN2,NELEM2,NOLEO,ISLEO)
00833       USE BIEF_DEF
00834       IMPLICIT NONE
00835       INTEGER NLEO,NPOIN2,NELEM2
00836       INTEGER IKLE(NELEM2,3),NOLEO(NLEO)
00837       DOUBLE PRECISION X(NPOIN2),Y(NPOIN2),XLEO(NLEO),YLEO(NLEO)
00838       DOUBLE PRECISION SURDET(NELEM2)
00839       LOGICAL ISLEO(NLEO)
00840         END SUBROUTINE
00841       END INTERFACE
00842 !
00843 !-----------------------------------------------------------------------
00844 !
00845       INTERFACE
00846         SUBROUTINE PRELEO
00847      &(XLEO,YLEO,NLEO,X,Y,NPOIN2,NOLEO)
00848       IMPLICIT NONE
00849       INTEGER NLEO,NPOIN2
00850       INTEGER NOLEO(NLEO)
00851       DOUBLE PRECISION X(NPOIN2),Y(NPOIN2),XLEO(NLEO),YLEO(NLEO)
00852         END SUBROUTINE
00853       END INTERFACE
00854 !
00855 !-----------------------------------------------------------------------
00856 !
00857       INTERFACE
00858         SUBROUTINE PRENL1
00859      &( IANGNL, COEFNL, NPLAN , NF    , RAISF , XLAMD )
00860       IMPLICIT NONE
00861       INTEGER  NPLAN , NF
00862       INTEGER  IANGNL(NPLAN,8)
00863       DOUBLE PRECISION COEFNL(16)
00864       DOUBLE PRECISION RAISF , XLAMD
00865         END SUBROUTINE
00866       END INTERFACE
00867 !
00868 !-----------------------------------------------------------------------
00869 !
00870 !V6P1 New subroutine
00871       INTERFACE
00872         SUBROUTINE PRENL2
00873      &( IANGNL, COEFNL, NPLAN , NF    , RAISF , XLAMD , XMU   )
00874       IMPLICIT NONE
00875       INTEGER  NPLAN , NF
00876       INTEGER  IANGNL(NPLAN,16)
00877       DOUBLE PRECISION RAISF , XLAMD , XMU
00878       DOUBLE PRECISION COEFNL(32)
00879         END SUBROUTINE
00880       END INTERFACE
00881 !
00882 !-----------------------------------------------------------------------
00883 !
00884 !V6P1 New subroutine
00885       INTERFACE
00886         SUBROUTINE PRENL3
00887      &( NF    , NT    , RAISF , TAILF , FREQ  , TB_SCA, LBUF  , DIMBUF,
00888      &  F_POIN, F_COEF, T_POIN, F_PROJ, IQ_OM1, NQ_TE1, NQ_OM2, NF1   ,
00889      &  NT1   , K_IF1 , K_IF2 , K_IF3 , TB_V14, TB_V24, TB_V34, K_1P  ,
00890      &  K_1M  , K_1P2P, K_1P3M, K_1P2M, K_1P3P, K_1M2P, K_1M3M, K_1M2M,
00891      &  K_1M3P, TB_TPM, TB_TMP, TB_FAC, SEUIL1, SEUIL2, ELIM  , NCONF ,
00892      &  NCONFM, IDCONF)
00893       IMPLICIT NONE
00894       INTEGER           NF    , NT
00895       DOUBLE PRECISION  RAISF , TAILF , FREQ(NF)
00896       INTEGER           LBUF  , DIMBUF
00897       INTEGER           F_POIN(DIMBUF), T_POIN(DIMBUF)
00898       DOUBLE PRECISION  F_COEF(DIMBUF), F_PROJ(DIMBUF), TB_SCA(DIMBUF)
00899       INTEGER           IQ_OM1 , NQ_TE1, NQ_OM2
00900       INTEGER           NF1   , NT1
00901       INTEGER           K_IF1(NF1), K_1P(NT1,NF1), K_1M(NT1,NF1)
00902       DOUBLE PRECISION  TB_V14(NF1)
00903       INTEGER           K_IF2 (NQ_OM2,NT1,NF1), K_IF3 (NQ_OM2,NT1,NF1)
00904       INTEGER           K_1P2P(NQ_OM2,NT1,NF1), K_1P3M(NQ_OM2,NT1,NF1)
00905       INTEGER           K_1P2M(NQ_OM2,NT1,NF1), K_1P3P(NQ_OM2,NT1,NF1)
00906       INTEGER           K_1M2P(NQ_OM2,NT1,NF1), K_1M3M(NQ_OM2,NT1,NF1)
00907       INTEGER           K_1M2M(NQ_OM2,NT1,NF1), K_1M3P(NQ_OM2,NT1,NF1)
00908       DOUBLE PRECISION  TB_V24(NQ_OM2,NT1,NF1), TB_V34(NQ_OM2,NT1,NF1)
00909       DOUBLE PRECISION  TB_TPM(NQ_OM2,NT1,NF1), TB_TMP(NQ_OM2,NT1,NF1)
00910       DOUBLE PRECISION  TB_FAC(NQ_OM2,NT1,NF1)
00911       DOUBLE PRECISION  SEUIL1, SEUIL2, ELIM
00912       INTEGER           NCONF , NCONFM, IDCONF(NCONFM,3)
00913         END SUBROUTINE
00914       END INTERFACE
00915 !
00916 !-----------------------------------------------------------------------
00917 !
00918       INTERFACE
00919         SUBROUTINE PREPRO
00920      &( CX    , CY    , CT    , CF    , DT    , X     , Y     ,
00921      &  TETA  , COSTET, SINTET, FREQ  , IKLE2 , IFABOR, ETAP1 , TRA01 ,
00922      &  SHP   , SHZ   , SHF   , ELT   , ETA   , FRE   ,
00923      &  DEPTH , DZHDT , DZX   , DZY   , U     , V     , DUX   , DUY   ,
00924      &  DVX   , DVY   , XK    , CG    , COSF  , TGF   , ITR01 , NPOIN3,
00925      &  NPOIN2, NELEM2, NPLAN , NF    , SURDET, COURAN, SPHE  ,
00926      &  PROINF, PROMIN, MESH  , MESH3D,SIKLE2,TB,IELM3, DIFFRA,
00927      &  MAREE , ISUB)
00928       USE BIEF_DEF
00929       IMPLICIT NONE
00930       INTEGER, INTENT(IN)    :: NPOIN3,NPOIN2,NELEM2,NPLAN,NF,DIFFRA
00931       INTEGER, INTENT(INOUT) :: IELM3
00932       DOUBLE PRECISION, INTENT(IN) :: DT,PROMIN
00933       DOUBLE PRECISION DZHDT(NPOIN2)
00934       DOUBLE PRECISION X(NPOIN2),Y(NPOIN2)
00935       DOUBLE PRECISION XK(NPOIN2,NF),CG(NPOIN2,NF)
00936       DOUBLE PRECISION SINTET(NPLAN),COSTET(NPLAN)
00937       DOUBLE PRECISION COSF(NPOIN2),TGF(NPOIN2)
00938       DOUBLE PRECISION DEPTH(NPOIN2),DZX(NPOIN2),DZY(NPOIN2)
00939       DOUBLE PRECISION U(NPOIN2),DUX(NPOIN2),DUY(NPOIN2)
00940       DOUBLE PRECISION V(NPOIN2),DVX(NPOIN2),DVY(NPOIN2)
00941       DOUBLE PRECISION SURDET(NELEM2)
00942       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPOIN3,6)
00943       INTEGER, INTENT(INOUT) :: ELT(NPOIN3,NF),ETA(NPOIN3,NF)
00944       INTEGER, INTENT(INOUT) :: ISUB(NPOIN3,NF)
00945       INTEGER, INTENT(INOUT) :: FRE(NPOIN3,NF)
00946       INTEGER, INTENT(IN)    :: IKLE2(NELEM2,3)
00947       INTEGER, INTENT(IN)    :: ETAP1(NPLAN)
00948       INTEGER, INTENT(INOUT) :: ITR01(NPOIN3,3),IFABOR(NELEM2,7)
00949       LOGICAL, INTENT(IN)    :: COURAN,SPHE,PROINF,MAREE
00950       TYPE(BIEF_OBJ), INTENT(INOUT) :: SHP,SHZ,SHF,CX,CY,CT,CF,TB
00951       TYPE(BIEF_OBJ), INTENT(IN)    :: SIKLE2,TETA,FREQ
00952       TYPE(BIEF_MESH), INTENT(INOUT):: MESH,MESH3D
00953         END SUBROUTINE
00954       END INTERFACE
00955 !
00956 !-----------------------------------------------------------------------
00957 !
00958       INTERFACE
00959         SUBROUTINE PREQT2
00960      &( TETA  , NPLAN , BDISPB, BDSSPB, NBD , INDI )
00961       IMPLICIT NONE
00962       INTEGER           NPLAN,NBD
00963       INTEGER           INDI(NPLAN)
00964       DOUBLE PRECISION  BDISPB , BDSSPB
00965       DOUBLE PRECISION  TETA(NPLAN)
00966         END SUBROUTINE
00967       END INTERFACE
00968 !
00969 !-----------------------------------------------------------------------
00970 !
00971       INTERFACE
00972         SUBROUTINE PROPA
00973      &(F,B,SHP,SHZ,SHF,ELT,ETA,FRE,IKLE_EXT,NPOIN3,NPOIN2,
00974      & NPLAN,NF,COURAN,TRA01,TRA02,ITR01,T3_01,T3_02,ISUB,MESH3D)
00975       USE BIEF_DEF
00976       IMPLICIT NONE
00977       INTEGER NPOIN3,NPOIN2,NPLAN,NF
00978       DOUBLE PRECISION F(NPOIN2,NPLAN,NF)
00979       DOUBLE PRECISION, INTENT(IN) :: B(NPOIN2,NF)
00980       DOUBLE PRECISION TRA01(NPOIN3,8)
00981       INTEGER, INTENT(INOUT) :: ELT(NPOIN3,NF),ETA(NPOIN3,NF)
00982       INTEGER, INTENT(INOUT) :: FRE(NPOIN3,NF)
00983       INTEGER, INTENT(IN)    :: ISUB(NPOIN3,NF)
00984       INTEGER, INTENT(INOUT) :: ITR01(NPOIN3*3)
00985       LOGICAL, INTENT(IN)            :: COURAN
00986       TYPE(BIEF_OBJ), INTENT(INOUT)  :: SHP,SHZ,SHF,T3_01,T3_02,TRA02
00987       TYPE(BIEF_OBJ), INTENT(IN)     :: IKLE_EXT
00988       TYPE(BIEF_MESH), INTENT(INOUT) :: MESH3D
00989         END SUBROUTINE
00990       END INTERFACE
00991 !
00992 !-----------------------------------------------------------------------
00993 !
00994       INTERFACE
00995         FUNCTION QBBJ78( B     , IQBBJ )
00996       IMPLICIT NONE
00997       DOUBLE PRECISION QBBJ78, B
00998       INTEGER  IQBBJ
00999         END FUNCTION
01000       END INTERFACE
01001 !
01002 !-----------------------------------------------------------------------
01003 !
01004       INTERFACE
01005         SUBROUTINE QBREK1
01006      &( TSTOT , TSDER , F     , FCAR  , VARIAN, DEPTH , ALFABJ, GAMBJ1,
01007      &  GAMBJ2, IQBBJ , IHMBJ , NF    , NPLAN , NPOIN2, BETA  )
01008       IMPLICIT NONE
01009       INTEGER IQBBJ,IHMBJ,NF,NPLAN,NPOIN2
01010       DOUBLE PRECISION ALFABJ,GAMBJ1,GAMBJ2
01011       DOUBLE PRECISION TSTOT(NPOIN2,NPLAN,NF), TSDER(NPOIN2,NPLAN,NF)
01012       DOUBLE PRECISION F(NPOIN2,NPLAN,NF), VARIAN(NPOIN2),FCAR(NPOIN2)
01013       DOUBLE PRECISION DEPTH(NPOIN2), BETA(NPOIN2)
01014         END SUBROUTINE
01015       END INTERFACE
01016 !
01017 !-----------------------------------------------------------------------
01018 !
01019       INTERFACE
01020         SUBROUTINE QBREK2
01021      &( TSTOT , TSDER , F     , FCAR  , VARIAN, DEPTH , BORETG, GAMATG,
01022      &  IWHTG , NF    , NPLAN , NPOIN2, BETA  )
01023       IMPLICIT NONE
01024       INTEGER  NF    , NPLAN , NPOIN2, IWHTG
01025       DOUBLE PRECISION BORETG, GAMATG
01026       DOUBLE PRECISION DEPTH(NPOIN2), BETA(NPOIN2), FCAR(NPOIN2)
01027       DOUBLE PRECISION TSTOT(NPOIN2,NPLAN,NF), TSDER(NPOIN2,NPLAN,NF)
01028       DOUBLE PRECISION     F(NPOIN2,NPLAN,NF), VARIAN(NPOIN2)
01029         END SUBROUTINE
01030       END INTERFACE
01031 !
01032 !-----------------------------------------------------------------------
01033 !
01034       INTERFACE
01035         SUBROUTINE QBREK3
01036      &( TSTOT , TSDER , F     , FCAR  , VARIAN, DEPTH , ALFARO, GAMARO,
01037      &  GAM2RO, IEXPRO, IDISRO, NF    , NPLAN , NPOIN2, BETA  )
01038       IMPLICIT NONE
01039       INTEGER IEXPRO, IDISRO, NF    , NPLAN , NPOIN2
01040       DOUBLE PRECISION ALFARO, GAMARO, GAM2RO
01041       DOUBLE PRECISION DEPTH(NPOIN2), BETA(NPOIN2), FCAR(NPOIN2)
01042       DOUBLE PRECISION TSTOT(NPOIN2,NPLAN,NF), TSDER(NPOIN2,NPLAN,NF)
01043       DOUBLE PRECISION F(NPOIN2,NPLAN,NF), VARIAN(NPOIN2)
01044         END SUBROUTINE
01045       END INTERFACE
01046 !
01047 !-----------------------------------------------------------------------
01048 !
01049       INTERFACE
01050         SUBROUTINE QBREK4
01051      &( TSTOT , TSDER , F     , FCAR  , VARIAN, DEPTH , BETAIH, EM2SIH,
01052      &  GRAVIT, NF    , NPLAN , NPOIN2, BETA  )
01053       IMPLICIT NONE
01054       INTEGER          NF    , NPLAN , NPOIN2
01055       DOUBLE PRECISION BETAIH, EM2SIH, GRAVIT
01056       DOUBLE PRECISION DEPTH(NPOIN2), BETA(NPOIN2), FCAR(NPOIN2)
01057       DOUBLE PRECISION TSTOT(NPOIN2,NPLAN,NF), TSDER(NPOIN2,NPLAN,NF)
01058       DOUBLE PRECISION F(NPOIN2,NPLAN,NF), VARIAN(NPOIN2)
01059         END SUBROUTINE
01060       END INTERFACE
01061 !
01062 !-----------------------------------------------------------------------
01063 !
01064       INTERFACE
01065         SUBROUTINE QDSCUR
01066      &( TSTOT , TSDER , F     , CF    , XK    , FREQ  , USOLD , USNEW ,
01067      &  DEPTH , PROINF, CDSCUR, CMOUT4, NF    , NPLAN , NPOIN2, CIMPLI,
01068      &  F_INT  , BETOTO, BETOTN)
01069       IMPLICIT NONE
01070       INTEGER, INTENT(IN)             :: NF,NPLAN,NPOIN2
01071       DOUBLE PRECISION, INTENT(IN)    :: CMOUT4, CDSCUR
01072       DOUBLE PRECISION, INTENT(IN)    :: CIMPLI
01073       DOUBLE PRECISION, INTENT(IN)    :: USNEW(NPOIN2),USOLD(NPOIN2)
01074       DOUBLE PRECISION, INTENT(IN)    :: FREQ(NF),DEPTH(NPOIN2)
01075       DOUBLE PRECISION, INTENT(IN)    :: XK(NPOIN2,NF)
01076       DOUBLE PRECISION, INTENT(INOUT) :: F_INT(NPOIN2)
01077       DOUBLE PRECISION, INTENT(INOUT) :: BETOTO(NPOIN2,NPLAN)
01078       DOUBLE PRECISION, INTENT(INOUT) :: BETOTN(NPOIN2,NPLAN)
01079       DOUBLE PRECISION, INTENT(INOUT) :: TSTOT(NPOIN2,NPLAN,NF)
01080       DOUBLE PRECISION, INTENT(INOUT) :: TSDER(NPOIN2,NPLAN,NF)
01081       DOUBLE PRECISION, INTENT(INOUT) :: F(NPOIN2,NPLAN,NF)
01082       DOUBLE PRECISION, INTENT(IN)    :: CF(NPOIN2,NPLAN,NF)
01083       LOGICAL, INTENT(IN)             :: PROINF
01084         END SUBROUTINE
01085       END INTERFACE
01086 !
01087 !-----------------------------------------------------------------------
01088 !
01089       INTERFACE
01090         SUBROUTINE QFROT1
01091      &( TSTOT , TSDER , F     , XK    , DEPTH , CFROT1, GRAVIT, NF    ,
01092      &  NPLAN , NPOIN2, BETA  )
01093       IMPLICIT NONE
01094       INTEGER  NF , NPLAN , NPOIN2
01095       DOUBLE PRECISION CFROT1, GRAVIT
01096       DOUBLE PRECISION DEPTH(NPOIN2), BETA(NPOIN2)
01097       DOUBLE PRECISION TSTOT(NPOIN2,NPLAN,NF), TSDER(NPOIN2,NPLAN,NF)
01098       DOUBLE PRECISION F(NPOIN2,NPLAN,NF),    XK(NPOIN2,NF)
01099         END SUBROUTINE
01100       END INTERFACE
01101 !
01102 !-----------------------------------------------------------------------
01103 !
01104       INTERFACE
01105         FUNCTION QGAUSS
01106      &( B     , N     , A     , XM    )
01107       IMPLICIT NONE
01108       INTEGER  N
01109       DOUBLE PRECISION QGAUSS
01110       DOUBLE PRECISION B , A , XM
01111         END FUNCTION
01112       END INTERFACE
01113 !
01114 !-----------------------------------------------------------------------
01115 !
01116       INTERFACE
01117         SUBROUTINE QMOUT1
01118      &( TSTOT , TSDER , F     , XK    , ENRJ  , FREQ  , FMOY  , XKMOY ,
01119      &  PROINF, CMOUT1, CMOUT2, NF  , NPLAN , NPOIN2, TAUX1   , BETA  )
01120       IMPLICIT NONE
01121       INTEGER, INTENT(IN)             :: NF,NPLAN,NPOIN2
01122       DOUBLE PRECISION, INTENT(IN)    :: CMOUT1,CMOUT2
01123       DOUBLE PRECISION, INTENT(IN)    :: XKMOY(NPOIN2),ENRJ(NPOIN2)
01124       DOUBLE PRECISION, INTENT(IN)    :: FREQ(NF),FMOY(NPOIN2)
01125       DOUBLE PRECISION, INTENT(INOUT) :: TAUX1(NPOIN2),BETA(NPOIN2)
01126       DOUBLE PRECISION, INTENT(INOUT) :: TSTOT(NPOIN2,NPLAN,NF)
01127       DOUBLE PRECISION, INTENT(INOUT) :: TSDER(NPOIN2,NPLAN,NF)
01128       DOUBLE PRECISION, INTENT(IN)    :: F(NPOIN2,NPLAN,NF)
01129       DOUBLE PRECISION, INTENT(IN)    :: XK(NPOIN2,NF)
01130       LOGICAL, INTENT(IN)             :: PROINF
01131         END SUBROUTINE
01132       END INTERFACE
01133 !
01134 !-----------------------------------------------------------------------
01135 !
01136       INTERFACE
01137         SUBROUTINE QMOUT2
01138      &( TSTOT , TSDER , F     , XK    , ENRJ  , FREQ  , FMOY  , XKMOY ,
01139      &  USOLD , USNEW , DEPTH , PROINF, CMOUT3, CMOUT4, CMOUT5, CMOUT6,
01140      &  NF    , NPLAN , NPOIN2, CIMPLI, TAUX1 ,F_INT  , BETOTO, BETOTN)
01141       IMPLICIT NONE
01142       INTEGER, INTENT(IN)             :: NF,NPLAN,NPOIN2
01143       DOUBLE PRECISION, INTENT(IN)    :: CMOUT3,CMOUT4
01144       DOUBLE PRECISION, INTENT(IN)    :: CMOUT5,CMOUT6,CIMPLI
01145       DOUBLE PRECISION, INTENT(IN)    :: USNEW(NPOIN2),USOLD(NPOIN2)
01146       DOUBLE PRECISION, INTENT(IN)    :: FREQ(NF),DEPTH(NPOIN2)
01147       DOUBLE PRECISION, INTENT(IN)    :: FMOY(NPOIN2),XK(NPOIN2,NF)
01148       DOUBLE PRECISION, INTENT(IN)    :: ENRJ(NPOIN2),XKMOY(NPOIN2)
01149       DOUBLE PRECISION, INTENT(INOUT) :: F_INT(NPOIN2),TAUX1(NPOIN2)
01150       DOUBLE PRECISION, INTENT(INOUT) :: BETOTO(NPOIN2),BETOTN(NPOIN2)
01151       DOUBLE PRECISION, INTENT(INOUT) :: TSTOT(NPOIN2,NPLAN,NF)
01152       DOUBLE PRECISION, INTENT(INOUT) :: TSDER(NPOIN2,NPLAN,NF)
01153       DOUBLE PRECISION, INTENT(INOUT) :: F(NPOIN2,NPLAN,NF)
01154       LOGICAL, INTENT(IN)             :: PROINF
01155         END SUBROUTINE
01156       END INTERFACE
01157 !
01158 !-----------------------------------------------------------------------
01159 !
01160       INTERFACE
01161         SUBROUTINE QNLIN1
01162      &( TSTOT , TSDER , IANGNL, COEFNL, NF    , NPLAN , F1    , RAISF ,
01163      &  TAILF , PROINF, NPOIN2, F     , DEPTH , XKMOY , TAUX1 , TAUX2 ,
01164      &  TAUX3 , TAUX4 , TAUX5 , DFINI )
01165       IMPLICIT NONE
01166       INTEGER, INTENT(IN)             :: NPOIN2,NPLAN,NF
01167       INTEGER, INTENT(IN)             :: IANGNL(NPLAN,8)
01168       DOUBLE PRECISION, INTENT(IN)    :: F1,RAISF,TAILF
01169       DOUBLE PRECISION, INTENT(IN)    :: F(NPOIN2,NPLAN,NF),COEFNL(16)
01170       DOUBLE PRECISION, INTENT(IN)    :: XKMOY(NPOIN2)
01171       DOUBLE PRECISION, INTENT(INOUT) :: TSTOT(NPOIN2,NPLAN,NF)
01172       DOUBLE PRECISION, INTENT(INOUT) :: TSDER(NPOIN2,NPLAN,NF)
01173       DOUBLE PRECISION, INTENT(INOUT) :: TAUX1(NPOIN2),TAUX2(NPOIN2)
01174       DOUBLE PRECISION, INTENT(INOUT) :: TAUX3(NPOIN2)
01175       DOUBLE PRECISION, INTENT(INOUT) :: TAUX4(NPOIN2),TAUX5(NPOIN2)
01176       DOUBLE PRECISION, INTENT(INOUT) :: DFINI(NPOIN2)
01177       DOUBLE PRECISION, INTENT(IN)    :: DEPTH(NPOIN2)
01178       LOGICAL, INTENT(IN)             :: PROINF
01179         END SUBROUTINE
01180       END INTERFACE
01181 !
01182 !-----------------------------------------------------------------------
01183 !
01184 !V6P1 New subroutine
01185       INTERFACE
01186         SUBROUTINE QNLIN2
01187      &( TSTOT , TSDER , IANGNL, COEFNL, NF    , NPLAN , F1    , RAISF ,
01188      &  TAILF , PROINF, NPOIN2, F     , DEPTH , XKMOY , TAUX1 , DFINI ,
01189      &  XCOEF )
01190       IMPLICIT NONE
01191       INTEGER  NPOIN2, NPLAN , NF
01192       INTEGER  IANGNL(NPLAN,16)
01193       DOUBLE PRECISION F1  , RAISF , TAILF
01194       DOUBLE PRECISION F(NPOIN2,NPLAN,NF), COEFNL(32), XCOEF
01195       DOUBLE PRECISION TSTOT(NPOIN2,NPLAN,NF), TSDER(NPOIN2,NPLAN,NF)
01196       DOUBLE PRECISION TAUX1(NPOIN2), DFINI(NPOIN2), DEPTH(NPOIN2)
01197       DOUBLE PRECISION XKMOY(NPOIN2)
01198       LOGICAL  PROINF
01199         END SUBROUTINE
01200       END INTERFACE
01201 !
01202 !-----------------------------------------------------------------------
01203 !
01204 !V6P1 New subroutine
01205       INTERFACE
01206         SUBROUTINE QNLIN3
01207      &( TSTOT , TSDER , F     , NB_NOD, FREQ  , TETA  , NT    , NF    ,
01208      &  RAISF , TAILF , SEUIL , FSEUIL, LBUF  , DIMBUF, F_POIN, F_COEF,
01209      &  F_PROJ, T_POIN, TB_SCA, NQ_TE1, NQ_OM2, NF1   , NT1   , DFREQ ,
01210      &  K_IF1 , K_IF2 , K_IF3 , TB_V14, TB_V24, TB_V34, K_1P  , K_1M  ,
01211      &  K_1P2P, K_1P3M, K_1P2M, K_1P3P, K_1M2P, K_1M3M, K_1M2M, K_1M3P,
01212      &  TB_TPM, TB_TMP, TB_FAC, NCONF , NCONFM, IDCONF)
01213       IMPLICIT NONE
01214       INTEGER           NF    , NT    , NB_NOD
01215       DOUBLE PRECISION  TAILF , RAISF , SEUIL
01216       DOUBLE PRECISION  FREQ(NF), DFREQ(NF), TETA(NT), FSEUIL(NB_NOD)
01217       DOUBLE PRECISION  F(NB_NOD,NT,NF), TSTOT(NB_NOD,NT,NF)
01218       DOUBLE PRECISION  TSDER(NB_NOD,NT,NF)
01219       INTEGER           LBUF  , DIMBUF
01220       INTEGER           F_POIN(DIMBUF), T_POIN(DIMBUF)
01221       DOUBLE PRECISION  F_COEF(DIMBUF), F_PROJ(DIMBUF), TB_SCA(DIMBUF)
01222       INTEGER           NQ_TE1, NQ_OM2, NF1   , NT1
01223       INTEGER           K_IF1(NF1), K_1P(NT1,NF1), K_1M(NT1,NF1)
01224       INTEGER           K_IF2 (NQ_OM2,NT1,NF1), K_IF3 (NQ_OM2,NT1,NF1)
01225       INTEGER           K_1P2P(NQ_OM2,NT1,NF1), K_1P3M(NQ_OM2,NT1,NF1)
01226       INTEGER           K_1P2M(NQ_OM2,NT1,NF1), K_1P3P(NQ_OM2,NT1,NF1)
01227       INTEGER           K_1M2P(NQ_OM2,NT1,NF1), K_1M3M(NQ_OM2,NT1,NF1)
01228       INTEGER           K_1M2M(NQ_OM2,NT1,NF1), K_1M3P(NQ_OM2,NT1,NF1)
01229       DOUBLE PRECISION  TB_V14(NF1)           , TB_FAC(NQ_OM2,NT1,NF1)
01230       DOUBLE PRECISION  TB_V24(NQ_OM2,NT1,NF1), TB_V34(NQ_OM2,NT1,NF1)
01231       DOUBLE PRECISION  TB_TPM(NQ_OM2,NT1,NF1), TB_TMP(NQ_OM2,NT1,NF1)
01232       INTEGER           NCONF , NCONFM, IDCONF(NCONFM,3)
01233         END SUBROUTINE
01234       END INTERFACE
01235 !
01236 !-----------------------------------------------------------------------
01237 !
01238       INTERFACE
01239         SUBROUTINE QTRIA1
01240      &( F     , XK    , FREQ  , DEPTH , RAISF , ALFLTA, RFMLTA,
01241      &  NF    , NPLAN , NPOIN2, TSTOT , TSDER , FTOT  , FMOY  )
01242       IMPLICIT NONE
01243       INTEGER  NF, NPLAN, NPOIN2
01244       DOUBLE PRECISION  RAISF , ALFLTA, RFMLTA
01245       DOUBLE PRECISION  F(NPOIN2,NPLAN,NF), XK(NPOIN2,NF)
01246       DOUBLE PRECISION  FREQ(NF), DEPTH(NPOIN2)
01247       DOUBLE PRECISION  TSTOT(NPOIN2,NPLAN,NF), TSDER(NPOIN2,NPLAN,NF)
01248       DOUBLE PRECISION  FTOT(NPOIN2) , FMOY(NPOIN2)
01249         END SUBROUTINE
01250       END INTERFACE
01251 !
01252 !-----------------------------------------------------------------------
01253 !
01254       INTERFACE
01255         SUBROUTINE QTRIA2
01256      &( F     , XK    , FREQ  , DFREQ , DEPTH , TETA  , SINTET, COSTET ,
01257      &  KSPB  , BDISPB, BDSSPB, RAISF , NF    , NPLAN , NPOIN2 ,
01258      &  NBD   , INDI  , TSTOT , TSDER )
01259       IMPLICIT NONE
01260       INTEGER  NF, NPLAN, NPOIN2, NBD
01261       INTEGER           INDI(NBD)
01262       DOUBLE PRECISION  BDISPB , BDSSPB, KSPB  , RAISF
01263       DOUBLE PRECISION  F(NPOIN2,NPLAN,NF), XK(NPOIN2,NF)
01264       DOUBLE PRECISION  DFREQ(NF) , FREQ(NF), DEPTH(NPOIN2)
01265       DOUBLE PRECISION  TETA(NPLAN) , SINTET(NPLAN) , COSTET(NPLAN)
01266       DOUBLE PRECISION  TSTOT(NPOIN2,NPLAN,NF), TSDER(NPOIN2,NPLAN,NF)
01267         END SUBROUTINE
01268       END INTERFACE
01269 !
01270 !-----------------------------------------------------------------------
01271 !=======================================================================
01272 !VBA AJOUT SUBROUTINE QVEG1 12/09/2014
01273 !=======================================================================
01274 !
01275       INTERFACE
01276         SUBROUTINE QVEG1
01277      &( TSTOT , TSDER , F , VARIAN , DEPTH, FMOY ,
01278      &  XKMOY , NF    , NPLAN  , NPOIN2   , BETA  )
01279 !
01280       IMPLICIT NONE
01281       INTEGER, INTENT(IN)             :: NF,NPLAN,NPOIN2
01282       DOUBLE PRECISION, INTENT(IN)    :: XKMOY(NPOIN2),VARIAN(NPOIN2)
01283       DOUBLE PRECISION, INTENT(IN)    :: DEPTH(NPOIN2),FMOY(NPOIN2)
01284       DOUBLE PRECISION, INTENT(INOUT) :: BETA(NPOIN2)
01285       DOUBLE PRECISION, INTENT(INOUT) :: TSTOT(NPOIN2,NPLAN,NF)
01286       DOUBLE PRECISION, INTENT(INOUT) :: TSDER(NPOIN2,NPLAN,NF)
01287       DOUBLE PRECISION, INTENT(IN)    :: F(NPOIN2,NPLAN,NF)
01288         END SUBROUTINE
01289       END INTERFACE
01290 !
01291 !=========================================================================
01292 !VBA FIN AJOUT SUBROUTINE QVEG1
01293 !=========================================================================
01294 !
01295 !
01296 !-----------------------------------------------------------------------
01297 !
01298       INTERFACE
01299         SUBROUTINE QWIND1
01300      &( TSTOT , TSDER , F     , XK    , FREQ  , USOLD , USNEW , TWOLD ,
01301      &  TWNEW , Z0OLD , Z0NEW , TETA  , ROAIR , ROEAU , BETAM , XKAPPA,
01302      &  DECAL , GRAVIT, NF    , NPLAN , NPOIN2, CIMPLI, TOLD  , TNEW  ,
01303      &  CPHAS , USN   , USO   , OMNEW , OMOLD , BETAN , BETAO )
01304       IMPLICIT NONE
01305       INTEGER  NF    , NPLAN , NPOIN2
01306       DOUBLE PRECISION GRAVIT,ROAIR,ROEAU,BETAM,XKAPPA,DECAL,CIMPLI
01307       DOUBLE PRECISION TSTOT(NPOIN2,NPLAN,NF),TSDER(NPOIN2,NPLAN,NF)
01308       DOUBLE PRECISION F(NPOIN2,NPLAN,NF),XK(NPOIN2,NF),FREQ(NF)
01309       DOUBLE PRECISION USOLD(NPOIN2), USNEW(NPOIN2),TWOLD(NPOIN2)
01310       DOUBLE PRECISION TWNEW(NPOIN2),Z0OLD(NPOIN2),Z0NEW(NPOIN2)
01311       DOUBLE PRECISION TETA(NPLAN),TOLD(NPOIN2,NPLAN)
01312       DOUBLE PRECISION TNEW(NPOIN2,NPLAN), CPHAS(NPOIN2),USN(NPOIN2)
01313       DOUBLE PRECISION USO(NPOIN2), OMNEW(NPOIN2),OMOLD(NPOIN2)
01314       DOUBLE PRECISION BETAN(NPOIN2), BETAO(NPOIN2)
01315         END SUBROUTINE
01316       END INTERFACE
01317 !
01318 !-----------------------------------------------------------------------
01319 !
01320       INTERFACE
01321         SUBROUTINE QWIND2
01322      &( TSTOT , TSDER , F     , XK    , FREQ  , USOLD , USNEW , TWOLD ,
01323      &  TWNEW , TETA  , ROAIR , ROEAU , NF    , NPLAN , NPOIN2,
01324      &  CIMPLI, USN   , USO   )
01325       IMPLICIT NONE
01326       INTEGER, INTENT(IN)            :: NF,NPLAN,NPOIN2
01327       DOUBLE PRECISION, INTENT(IN)   :: ROAIR,ROEAU,CIMPLI
01328       DOUBLE PRECISION, INTENT(IN)   :: FREQ(NF),TETA(NPLAN)
01329       DOUBLE PRECISION, INTENT(IN)   :: TWOLD(NPOIN2),TWNEW(NPOIN2)
01330       DOUBLE PRECISION, INTENT(IN)   :: USNEW(NPOIN2),USOLD(NPOIN2)
01331       DOUBLE PRECISION, INTENT(INOUT):: USO(NPOIN2,NPLAN)
01332       DOUBLE PRECISION, INTENT(INOUT):: USN(NPOIN2,NPLAN)
01333       DOUBLE PRECISION, INTENT(INOUT):: TSTOT(NPOIN2,NPLAN,NF)
01334       DOUBLE PRECISION, INTENT(INOUT):: TSDER(NPOIN2,NPLAN,NF)
01335       DOUBLE PRECISION, INTENT(IN)   :: F(NPOIN2,NPLAN,NF),XK(NPOIN2,NF)
01336         END SUBROUTINE
01337       END INTERFACE
01338 !
01339 !-----------------------------------------------------------------------
01340 !
01341       INTERFACE
01342         SUBROUTINE QWIND3
01343      &( TSTOT , TSDER , F     , XK    , FREQ  , USOLD , USNEW , TWOLD ,
01344      &  TWNEW , TETA  , GRAVIT, NF    , NPLAN , NPOIN2, CIMPLI, COEFWD,
01345      &  COEFWE, COEFWF, COEFWH, BETAN , BETAO , DIRN  , DIRO  )
01346       IMPLICIT NONE
01347       INTEGER    NF  , NPLAN        , NPOIN2
01348       DOUBLE PRECISION GRAVIT       , CIMPLI
01349       DOUBLE PRECISION FREQ(NF)     , TETA(NPLAN)
01350       DOUBLE PRECISION TWOLD(NPOIN2), TWNEW(NPOIN2), USNEW(NPOIN2)
01351       DOUBLE PRECISION BETAO(NPOIN2), BETAN(NPOIN2), USOLD(NPOIN2)
01352       DOUBLE PRECISION DIRO(NPOIN2) , DIRN(NPOIN2)
01353       DOUBLE PRECISION TSTOT(NPOIN2,NPLAN,NF), TSDER(NPOIN2,NPLAN,NF)
01354       DOUBLE PRECISION F(NPOIN2,NPLAN,NF)    , XK(NPOIN2,NF)
01355       DOUBLE PRECISION COEFWD , COEFWE , COEFWF , COEFWH
01356         END SUBROUTINE
01357       END INTERFACE
01358 !
01359 !-----------------------------------------------------------------------
01360 !
01361       INTERFACE
01362         SUBROUTINE QWINDL
01363      &( TSTOT , FREQ  , USOLD , USNEW , TWOLD , TWNEW , TETA  ,
01364      &  NF    , NPLAN , NPOIN2, CIMPLI, USN   , USO   , FPMO  , FPMN )
01365       IMPLICIT NONE
01366       INTEGER, INTENT(IN)             :: NF,NPLAN,NPOIN2
01367       DOUBLE PRECISION, INTENT(IN)    :: CIMPLI
01368       DOUBLE PRECISION, INTENT(IN)    :: FREQ(NF),TETA(NPLAN)
01369       DOUBLE PRECISION, INTENT(INOUT) :: FPMO(NPOIN2),FPMN(NPOIN2)
01370       DOUBLE PRECISION, INTENT(IN)    :: TWOLD(NPOIN2),TWNEW(NPOIN2)
01371       DOUBLE PRECISION, INTENT(IN)    :: USNEW(NPOIN2),USOLD(NPOIN2)
01372       DOUBLE PRECISION, INTENT(INOUT) :: USO(NPOIN2,NPLAN)
01373       DOUBLE PRECISION, INTENT(INOUT) :: USN(NPOIN2,NPLAN)
01374       DOUBLE PRECISION, INTENT(INOUT) :: TSTOT(NPOIN2,NPLAN,NF)
01375         END SUBROUTINE
01376       END INTERFACE
01377 !
01378 !-----------------------------------------------------------------------
01379 !
01380       INTERFACE
01381         SUBROUTINE RADIAT
01382      &( FX    , FY    , SXX   , SXY   , SYY   , XK1   , FS    , CG1   ,
01383      &  DEPTH1, CGSUC1, DSXXDX, DSXYDX, DSXYDY, DSYYDY )
01384       USE BIEF_DEF
01385       USE DECLARATIONS_TOMAWAC, ONLY : NPLAN,NF,NPOIN2
01386       IMPLICIT NONE
01387       DOUBLE PRECISION FS(NPOIN2,NPLAN,NF),CG1(NPOIN2,NF)
01388       DOUBLE PRECISION DEPTH1(NPOIN2),CGSUC1(NPOIN2,NF),XK1(NPOIN2,NF)
01389       DOUBLE PRECISION DSXXDX(NPOIN2),DSXYDX(NPOIN2),FX(NPOIN2)
01390       DOUBLE PRECISION DSXYDY(NPOIN2),DSYYDY(NPOIN2),FY(NPOIN2)
01391       DOUBLE PRECISION SXX(NPOIN2),SXY(NPOIN2),SYY(NPOIN2)
01392         END SUBROUTINE
01393       END INTERFACE
01394 !
01395 !-----------------------------------------------------------------------
01396 !
01397       INTERFACE
01398         SUBROUTINE RPI_INTR
01399      &(NEIGB  , NB_CLOSE, RK      , RX  , RY      , RXX     , RYY ,
01400      & NPOIN2 , I       , MAXNSP  , FFD , FIRDIV1 , FIRDIV2 ,
01401      & SECDIV1, SECDIV2 , SECDIV3, FRSTDIV , SCNDDIV)
01402       IMPLICIT NONE
01403       INTEGER, INTENT(IN) :: NPOIN2, MAXNSP,I
01404       INTEGER, INTENT(IN) :: NEIGB(NPOIN2,MAXNSP),NB_CLOSE(NPOIN2)
01405       DOUBLE PRECISION, INTENT(IN)    :: RK(MAXNSP)
01406       DOUBLE PRECISION, INTENT(IN)    :: RX(MAXNSP),RY(MAXNSP)
01407       DOUBLE PRECISION, INTENT(IN)    :: RXX(MAXNSP),RYY(MAXNSP)
01408       DOUBLE PRECISION, INTENT(INOUT) :: SECDIV1,SECDIV2,SECDIV3
01409       DOUBLE PRECISION, INTENT(INOUT) :: FIRDIV1,FIRDIV2
01410       DOUBLE PRECISION, INTENT(IN)    :: FFD(NPOIN2)
01411       LOGICAL, INTENT(IN)             :: FRSTDIV,SCNDDIV
01412         END SUBROUTINE
01413       END INTERFACE
01414 !
01415 !-----------------------------------------------------------------------
01416 !
01417 !V6P2 New subroutine
01418       INTERFACE
01419         SUBROUTINE RPI_INVR
01420      &( X     , Y     , NEIGB , NB_CLOSE, RK_D , RX_D , RY_D  , RXX_D ,
01421      &  RYY_D , NPOIN2, I     , QUO   , AC    , MAXNSP, MINDIST )
01422       IMPLICIT NONE
01423       INTEGER NPOIN2, MAXNSP, I
01424       INTEGER NEIGB(NPOIN2,MAXNSP), NB_CLOSE(NPOIN2)
01425       DOUBLE PRECISION QUO, AC
01426       DOUBLE PRECISION X(NPOIN2), Y(NPOIN2)
01427       DOUBLE PRECISION MINDIST(NPOIN2)
01428       DOUBLE PRECISION RK_D(MAXNSP)
01429       DOUBLE PRECISION RX_D(MAXNSP), RY_D(MAXNSP)
01430       DOUBLE PRECISION RXX_D(MAXNSP), RYY_D(MAXNSP)
01431         END SUBROUTINE
01432       END INTERFACE
01433 !
01434 !-----------------------------------------------------------------------
01435 !
01436       INTERFACE
01437         SUBROUTINE SEMIMP
01438      &( F ,CF ,XK    ,FREQ  ,DFREQ ,DEPTH ,VENTX ,VENTY ,X     ,Y     ,
01439      &  NVEB  ,NVEF  ,NBOR  ,NPTFR ,DDC   ,TV1   ,TV2   ,
01440      &  U1    ,V1    ,U2    ,V2    ,TETA  ,SINTET,COSTET,INDIC ,
01441      &  TAILF ,RAISF ,GRAVIT,CFROT1,CMOUT1,CMOUT2,CMOUT3,CMOUT4,CMOUT5,
01442      &  CMOUT6,TPROP ,DTSI  ,ROAIR ,ROEAU ,XKAPPA,BETAM ,DECAL ,CDRAG ,
01443      &  ALPHA ,ZVENT ,NF    ,NPLAN ,NPOIN2,IANGNL,COEFNL,F1    ,NSITS ,
01444      &  SMOUT ,SFROT ,SVENT ,LVENT ,STRIF ,VENT  ,VENSTA,VX_CTE,VY_CTE,
01445      &  SBREK ,ALFABJ,GAMBJ1,GAMBJ2,IQBBJ ,IHMBJ ,IFRBJ ,BORETG,GAMATG,
01446      &  IWHTG ,IFRTG ,ALFARO,GAMARO,GAM2RO,IDISRO,IEXPRO,IFRRO ,BETAIH,
01447      &  EM2SIH,IFRIH ,COEFHS,XDTBRK,NDTBRK,STRIA ,ALFLTA,RFMLTA,KSPB  ,
01448      &  BDISPB,BDSSPB,PROINF,DF_LIM,LIMIT ,CIMPLI,COEFWD,COEFWE,COEFWF,
01449      &  COEFWH,NOMVEB,NOMVEF,BINVEN,NBD   ,QINDI ,TAUWAV,USOLD ,TWOLD ,
01450      &  Z0OLD ,TSTOT ,TSDER ,TOLD  ,TNEW  ,VARIAN,FMOY  ,XKMOY ,USNEW ,
01451      &  Z0NEW ,TWNEW ,TAUX1 ,TAUX2 ,TAUX3 ,TAUX4 ,TAUX5 ,TAUX6 ,TAUX7 ,
01452      &  BETA  ,NQ_TE1,NQ_OM2,NF1   ,NF2   ,NT1   ,NCONF ,NCONFM,
01453      &  SEUIL ,LBUF  ,DIMBUF,F_POIN,T_POIN,F_COEF,F_PROJ,TB_SCA,K_IF1 ,
01454      &  K_1P  ,K_1M  ,K_IF2 ,K_IF3 ,K_1P2P,K_1P2M,K_1P3P,K_1P3M,K_1M2P,
01455      &  K_1M2M,K_1M3P,K_1M3M,IDCONF,TB_V14,TB_V24,TB_V34,TB_TPM,TB_TMP,
01456      &  TB_FAC,MDIA,IANMDI,COEMDI,NVWIN,DIAGHF,VEGETATION,SDSCU,CDSCUR)
01457       IMPLICIT NONE
01458       INTEGER          NPOIN2, NPLAN , NF    , NSITS , NPTFR , NVEB
01459       INTEGER          NVEF  , LIMIT , NVWIN , SDSCU
01460       INTEGER          SMOUT , SFROT , SVENT , STRIF , SBREK , INDIC
01461       INTEGER          IQBBJ , IHMBJ , IFRBJ , IWHTG , IFRTG , IFRRO
01462       INTEGER          IEXPRO, IFRIH , NDTBRK, IDISRO, STRIA
01463       INTEGER          NBOR(NPTFR)   , IANGNL(NPLAN,8)
01464       INTEGER          NBD   , QINDI(NBD)    ,DIAGHF
01465       DOUBLE PRECISION TAILF , CFROT1, GRAVIT, RAISF , DTSI  , TPROP ,
01466      &                 CMOUT1, CMOUT2, DDC   , TV1   , TV2   , ZVENT ,
01467      &                 ROAIR , ROEAU , XKAPPA, BETAM , DECAL , CDRAG ,
01468      &                 ALPHA , GAMBJ1, GAMBJ2, ALFABJ, BORETG, GAMATG,
01469      &                 COEFHS, VX_CTE, VY_CTE, CIMPLI,
01470      &                 GAMARO, ALFARO, GAM2RO, EM2SIH, BETAIH, XDTBRK,
01471      &                 ALFLTA, RFMLTA, KSPB  , BDISPB, BDSSPB, F1
01472       DOUBLE PRECISION  DEPTH(NPOIN2), USNEW(NPOIN2) , USOLD(NPOIN2) ,
01473      &                 VARIAN(NPOIN2),  FMOY(NPOIN2) , XKMOY(NPOIN2) ,
01474      &                  TWOLD(NPOIN2), TWNEW(NPOIN2) , Z0OLD(NPOIN2) ,
01475      &                  Z0NEW(NPOIN2), VENTX(NPOIN2) , VENTY(NPOIN2) ,
01476      &                     U1(NPOIN2),    U2(NPOIN2) ,    V1(NPOIN2) ,
01477      &                     V2(NPOIN2),     X(NPOIN2) ,     Y(NPOIN2) ,
01478      &                 TAUWAV(NPOIN2), TAUX1(NPOIN2) , TAUX2(NPOIN2) ,
01479      &                  TAUX3(NPOIN2), TAUX4(NPOIN2) , TAUX5(NPOIN2) ,
01480      &                  TAUX6(NPOIN2), TAUX7(NPOIN2) , COEFNL(16)    ,
01481      &                    TETA(NPLAN), SINTET(NPLAN) , COSTET(NPLAN) ,
01482      &                    F(NPOIN2,NPLAN,NF),   XK(NPOIN2,NF)        ,
01483      &                    DF_LIM(NPOIN2,NF) ,
01484      &                 TSDER(NPOIN2,NPLAN,NF),TSTOT(NPOIN2,NPLAN,NF) ,
01485      &                 FREQ(NF), DFREQ(NF),
01486      &                 TOLD(NPOIN2,NPLAN), TNEW(NPOIN2,NPLAN)
01487       DOUBLE PRECISION BETA(NPOIN2)
01488       DOUBLE PRECISION CF(NPOIN2,NPLAN,NF)
01489       CHARACTER*144 NOMVEB, NOMVEF
01490       CHARACTER*3 BINVEN
01491       LOGICAL  PROINF, VENT , VENSTA,VEGETATION
01492       INTEGER           LVENT
01493       DOUBLE PRECISION  CMOUT3, CMOUT4, CMOUT5, CMOUT6
01494       DOUBLE PRECISION  COEFWD, COEFWE, COEFWF, COEFWH,CDSCUR
01495       INTEGER           MDIA
01496       INTEGER           IANMDI(NPLAN,16,MDIA)
01497       DOUBLE PRECISION  COEMDI(32,MDIA)
01498       INTEGER  NQ_TE1, NQ_OM2, NF1, NF2 , NT1
01499       INTEGER  NCONF , NCONFM
01500       DOUBLE PRECISION SEUIL
01501       INTEGER  LBUF  , DIMBUF
01502       INTEGER           F_POIN(DIMBUF), T_POIN(DIMBUF)
01503       DOUBLE PRECISION  F_COEF(DIMBUF), F_PROJ(DIMBUF), TB_SCA(DIMBUF)
01504       INTEGER K_IF1 (1:NF1)
01505       INTEGER K_1P  (1:NT1,1:NF1), K_1M(1:NT1,1:NF1)
01506       INTEGER K_IF2 (1:NF2,1:NT1,1:NF1), K_IF3 (1:NF2,1:NT1,1:NF1),
01507      &        K_1P2P(1:NF2,1:NT1,1:NF1), K_1P2M(1:NF2,1:NT1,1:NF1),
01508      &        K_1P3P(1:NF2,1:NT1,1:NF1), K_1P3M(1:NF2,1:NT1,1:NF1),
01509      &        K_1M2P(1:NF2,1:NT1,1:NF1), K_1M2M(1:NF2,1:NT1,1:NF1),
01510      &        K_1M3P(1:NF2,1:NT1,1:NF1), K_1M3M(1:NF2,1:NT1,1:NF1)
01511       INTEGER IDCONF(1:NCONFM,1:3)
01512       DOUBLE PRECISION TB_V14(1:NF1)
01513       DOUBLE PRECISION
01514      &        TB_V24(1:NF2,1:NT1,1:NF1), TB_V34(1:NF2,1:NT1,1:NF1),
01515      &        TB_TPM(1:NF2,1:NT1,1:NF1), TB_TMP(1:NF2,1:NT1,1:NF1),
01516      &        TB_FAC(1:NF2,1:NT1,1:NF1)
01517         END SUBROUTINE
01518       END INTERFACE
01519 !
01520 !-----------------------------------------------------------------------
01521 !
01522       INTERFACE
01523         SUBROUTINE SOR3D
01524      &(F,NPLAN,NF,TETA,FREQ,NELEM2,NPOIN2,AT,U,V,UV,VV,DEPTH,VENT,
01525      & COURAN,MAREE,TITRE,NR3D,BINR3D,TRA01,MESH3D)
01526       USE BIEF_DEF
01527       IMPLICIT NONE
01528       INTEGER, INTENT(IN)             :: NR3D,NF,NPLAN,NELEM2,NPOIN2
01529       DOUBLE PRECISION, INTENT(IN)    :: F(NPOIN2,NPLAN,NF),AT
01530       DOUBLE PRECISION, INTENT(IN)    :: FREQ(NF),TETA(NPLAN)
01531       DOUBLE PRECISION, INTENT(IN)    :: U(NPOIN2),V(NPOIN2)
01532       DOUBLE PRECISION, INTENT(IN)    :: UV(NPOIN2),VV(NPOIN2)
01533       DOUBLE PRECISION, INTENT(IN)    :: DEPTH(NPOIN2)
01534       DOUBLE PRECISION, INTENT(INOUT) :: TRA01(NPOIN2*NPLAN)
01535       LOGICAL, INTENT(IN)             :: COURAN,VENT,MAREE
01536       CHARACTER(LEN=3), INTENT(IN)    :: BINR3D
01537       CHARACTER(LEN=80), INTENT(IN)   :: TITRE
01538       TYPE(BIEF_MESH), INTENT(IN)     :: MESH3D
01539         END SUBROUTINE
01540       END INTERFACE
01541 !
01542 !-----------------------------------------------------------------------
01543 !
01544       INTERFACE
01545         SUBROUTINE SPEINI
01546      &( F     , SPEC  , FRA   , UV    , VV    , FREQ  , TETA  , GRAVIT,
01547      &  FREMAX, FETCH , SIGMAA, SIGMAB, GAMMA , FPIC  , HM0   , ALPHIL,
01548      &  TETA1 , SPRED1, TETA2 , SPRED2, XLAMDA, NPOIN2, NPLAN , NF    ,
01549      &  INISPE, E2FMIN, DEPTH , FRABI )
01550       IMPLICIT NONE
01551       INTEGER  NPOIN2, NPLAN , NF    , INISPE, FRABI
01552       DOUBLE PRECISION GRAVIT, FREMAX, FETCH , SIGMAA, SIGMAB, GAMMA
01553       DOUBLE PRECISION FPIC  , HM0   , ALPHIL, TETA1 , SPRED1, TETA2
01554       DOUBLE PRECISION SPRED2, XLAMDA, E2FMIN
01555       DOUBLE PRECISION FREQ(NF) , TETA(NPLAN), SPEC(NF), FRA(NPLAN)
01556       DOUBLE PRECISION UV(NPOIN2) , VV(NPOIN2), DEPTH(NPOIN2)
01557       DOUBLE PRECISION F(NPOIN2,NPLAN,NF)
01558         END SUBROUTINE
01559       END INTERFACE
01560 !
01561 !-----------------------------------------------------------------------
01562 !
01563       INTERFACE
01564         SUBROUTINE SPEJON
01565      &( SPEC  , FREQ  , NF    , AL    , FP     , GAMMA , SIGMAA, SIGMAB,
01566      &  DEUPI , GRAVIT, E2FMIN, FPMIN )
01567       IMPLICIT NONE
01568       INTEGER  NF
01569       DOUBLE PRECISION GRAVIT, SIGMAA, SIGMAB, GAMMA , DEUPI , FPMIN
01570       DOUBLE PRECISION FP    , E2FMIN, AL
01571       DOUBLE PRECISION SPEC(NF)      , FREQ(NF)
01572         END SUBROUTINE
01573       END INTERFACE
01574 !
01575 !-----------------------------------------------------------------------
01576 !
01577       INTERFACE
01578         SUBROUTINE SPETMA
01579      &( SPEC  , FREQ  , NF    , AL    , FP     , GAMMA , SIGMAA, SIGMAB,
01580      &  DEUPI , GRAVIT, E2FMIN, FPMIN , DEPTH  )
01581       IMPLICIT NONE
01582       INTEGER  NF
01583       DOUBLE PRECISION GRAVIT, SIGMAA, SIGMAB, GAMMA , DEUPI , FPMIN
01584       DOUBLE PRECISION FP    , E2FMIN, AL    , DEPTH
01585       DOUBLE PRECISION SPEC(NF)      , FREQ(NF)
01586         END SUBROUTINE
01587       END INTERFACE
01588 !
01589 !-----------------------------------------------------------------------
01590 !
01591       INTERFACE
01592         SUBROUTINE SPREAD
01593      &( DIRSPR, F     , COSTET, SINTET, NPLAN , FREQ  , DFREQ , NF    ,
01594      &  NPOIN2, TAILF , COSMOY, SINMOY, VARIAN, TAUXC , TAUXS , TAUXE )
01595       IMPLICIT NONE
01596       INTEGER  NF    , NPLAN , NPOIN2
01597       DOUBLE PRECISION TAILF
01598       DOUBLE PRECISION DIRSPR(NPOIN2), SINMOY(NPOIN2), COSMOY(NPOIN2)
01599       DOUBLE PRECISION TAUXS (NPOIN2), TAUXC (NPOIN2), TAUXE (NPOIN2)
01600       DOUBLE PRECISION COSTET(NPLAN) , SINTET(NPLAN)
01601       DOUBLE PRECISION FREQ(NF), DFREQ(NF)
01602       DOUBLE PRECISION F(NPOIN2,NPLAN,NF), VARIAN(NPOIN2)
01603         END SUBROUTINE
01604       END INTERFACE
01605 !
01606 !-----------------------------------------------------------------------
01607 !
01608       INTERFACE
01609         SUBROUTINE RE_INITIALISE_CHARS(NSEND,NLOSTCHAR,NLOSTAGAIN,NARRV)
01610           IMPLICIT NONE
01611           INTEGER, INTENT(OUT) :: NSEND,NLOSTCHAR,NLOSTAGAIN,NARRV
01612         END SUBROUTINE
01613       END INTERFACE
01614 !
01615 !-----------------------------------------------------------------------
01616 !
01617       INTERFACE
01618         SUBROUTINE PREP_LOST_AGAIN(NOMB,NSEND,NLOSTAGAIN,NARRV)
01619           IMPLICIT NONE
01620           INTEGER,INTENT(IN)   :: NOMB,NLOSTAGAIN,NARRV
01621           INTEGER, INTENT(OUT) :: NSEND
01622         END SUBROUTINE
01623       END INTERFACE
01624 !
01625 !-----------------------------------------------------------------------
01626 !
01627       INTERFACE
01628         SUBROUTINE PREP_SENDBACK(NOMB,NCHARA)
01629           IMPLICIT NONE
01630           INTEGER, INTENT(IN) :: NOMB
01631           INTEGER, INTENT(INOUT) :: NCHARA
01632         END SUBROUTINE
01633       END INTERFACE
01634 !
01635 !-----------------------------------------------------------------------
01636 !
01637       INTERFACE
01638         SUBROUTINE INTERP_RECVCHAR_41
01639      &      (VAL,N,IKLE,ELT,ETA,SHP,SHZ,NELEM,NPOIN2,NPLAN,NRANGE)
01640           IMPLICIT NONE
01641           INTEGER, INTENT(IN) :: N,NELEM,NPOIN2,NPLAN,NRANGE
01642           INTEGER, INTENT(IN) :: IKLE(NELEM,3)
01643           INTEGER, INTENT(IN) :: ELT(NRANGE), ETA(NRANGE)
01644           DOUBLE PRECISION, INTENT(IN) :: SHP(3,NRANGE), SHZ(NRANGE)
01645           DOUBLE PRECISION, INTENT(IN) :: VAL(NPOIN2,NPLAN)
01646         END SUBROUTINE
01647       END INTERFACE
01648 !
01649 !-----------------------------------------------------------------------
01650 !
01651       INTERFACE
01652         SUBROUTINE INTERP_RECVCHAR_41_MOD
01653      &      (VAL,IKLE,ELT,ETA,SHP1,SHP2,SHP3,SHZ,
01654      &                            NELEM,NPOIN2,NPLAN,NRANGE)
01655           IMPLICIT NONE
01656           INTEGER, INTENT(IN) :: NELEM,NPOIN2,NPLAN,NRANGE
01657           INTEGER, INTENT(IN) :: IKLE(NELEM,3)
01658           INTEGER, INTENT(IN) :: ELT(NRANGE), ETA(NRANGE)
01659           DOUBLE PRECISION, INTENT(IN) :: SHP1(NRANGE),SHP2(NRANGE),
01660      &                                    SHP3(NRANGE),SHZ(NRANGE)
01661           DOUBLE PRECISION, INTENT(IN) :: VAL(NPOIN2,NPLAN,2)
01662         END SUBROUTINE
01663       END INTERFACE
01664 !
01665 !-----------------------------------------------------------------------
01666 !
01667       INTERFACE
01668         SUBROUTINE INTERP_RECVCHAR_11
01669      &      (VAL,N,IKLE,ELT,SHP,NELEM,NPOIN,NRANGE,IELM)
01670           IMPLICIT NONE
01671           INTEGER, INTENT(IN) :: N,NELEM,NPOIN,NRANGE,IELM
01672           INTEGER, INTENT(IN) :: IKLE(NELEM,*)
01673           INTEGER, INTENT(IN) :: ELT(NRANGE)
01674           DOUBLE PRECISION, INTENT(IN) :: SHP(3,NRANGE)
01675           DOUBLE PRECISION, INTENT(IN) :: VAL(NPOIN)
01676         END SUBROUTINE
01677       END INTERFACE
01678 !
01679 !-----------------------------------------------------------------------
01680 !
01681       INTERFACE
01682         SUBROUTINE INTRODUCE_RECVCHAR(VAL,N,NPOIN,NOMB,NARRV)
01683           IMPLICIT NONE
01684           INTEGER, INTENT(IN) :: N,NPOIN,NOMB,NARRV
01685           DOUBLE PRECISION, INTENT(INOUT) :: VAL(NPOIN)
01686         END SUBROUTINE
01687       END INTERFACE
01688 !
01689 !-----------------------------------------------------------------------
01690 !
01691       INTERFACE
01692         SUBROUTINE INTRODUCE_RECVCHAR_MOD(VAL,NPOIN,NARRV)
01693           IMPLICIT NONE
01694           INTEGER, INTENT(IN) :: NPOIN,NARRV
01695           DOUBLE PRECISION, INTENT(INOUT) :: VAL(NPOIN)
01696         END SUBROUTINE
01697       END INTERFACE
01698 !
01699 !-----------------------------------------------------------------------
01700 !
01701 !V6P2 New subroutine
01702       INTERFACE
01703         SUBROUTINE INVERT(RN, N, NP)
01704           IMPLICIT NONE
01705       INTEGER N, NP
01706       DOUBLE PRECISION RN(NP,NP)
01707         END SUBROUTINE
01708       END INTERFACE
01709 !
01710 !-----------------------------------------------------------------------
01711 !
01712       INTERFACE
01713         SUBROUTINE PRINT_HEAPCHAR(MESSAGE,NOMB,NCHARA)
01714           IMPLICIT NONE
01715           INTEGER, INTENT(IN) :: NOMB,NCHARA
01716           CHARACTER(LEN=*), INTENT(IN) :: MESSAGE
01717         END SUBROUTINE
01718       END INTERFACE
01719 !
01720 !-----------------------------------------------------------------------
01721 !
01722       INTERFACE
01723         SUBROUTINE PRINT_SENDCHAR(MESSAGE,NOMB,NSEND)
01724           IMPLICIT NONE
01725           INTEGER, INTENT(IN) :: NOMB,NSEND
01726           CHARACTER(LEN=*), INTENT(IN) :: MESSAGE
01727         END SUBROUTINE
01728       END INTERFACE
01729 !
01730 !-----------------------------------------------------------------------
01731 !
01732       INTERFACE
01733         SUBROUTINE PRINT_RECVCHAR(MESSAGE,NOMB,NARRV)
01734           IMPLICIT NONE
01735           INTEGER, INTENT(IN) :: NOMB,NARRV
01736           CHARACTER(LEN=*), INTENT(IN) :: MESSAGE
01737         END SUBROUTINE
01738       END INTERFACE
01739 !
01740 !-----------------------------------------------------------------------
01741 !
01742       INTERFACE
01743         SUBROUTINE SCHAR41
01744      &( U , V , W , DT , NRK , X , Y , ZSTAR , Z , IKLE2 , IBOR ,
01745      &  XPLOT , YPLOT , ZPLOT , DX , DY , DZ , SHP , SHZ , ELT , ETA ,
01746      &  NSP   , NPLOT , NPOIN2 , NELEM2 , NPLAN , SURDET ,
01747      &  SENS  , TEST  , IFAPAR, NCHDIM,NCHARA)
01748       USE BIEF_DEF
01749       IMPLICIT NONE
01750       INTEGER         , INTENT(IN)    :: SENS,NPLAN,NCHDIM
01751       INTEGER         , INTENT(IN)    :: NPOIN2,NELEM2,NPLOT,NRK
01752       INTEGER         , INTENT(IN)    :: IKLE2(NELEM2,3)
01753       INTEGER         , INTENT(INOUT) :: ELT(NPLOT),NSP(NPLOT),NCHARA
01754       DOUBLE PRECISION, INTENT(IN)    :: U(NPOIN2,NPLAN),V(NPOIN2,NPLAN)
01755       DOUBLE PRECISION, INTENT(IN)    :: W(NPOIN2,NPLAN),SURDET(NELEM2)
01756       DOUBLE PRECISION, INTENT(INOUT) :: XPLOT(NPLOT),YPLOT(NPLOT)
01757       DOUBLE PRECISION, INTENT(INOUT) :: ZPLOT(NPLOT)
01758       DOUBLE PRECISION, INTENT(INOUT) :: SHP(3,NPLOT),SHZ(NPLOT)
01759       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN2),Y(NPOIN2),DT
01760       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN2,NPLAN),ZSTAR(NPLAN)
01761       DOUBLE PRECISION, INTENT(INOUT) :: DX(NPLOT),DY(NPLOT),TEST(NPLOT)
01762       DOUBLE PRECISION, INTENT(INOUT) :: DZ(NPLOT)
01763       INTEGER         , INTENT(IN)    :: IBOR(NELEM2,5,NPLAN-1)
01764       INTEGER         , INTENT(INOUT) :: ETA(NPLOT)
01765       INTEGER         , INTENT(IN)    :: IFAPAR(6,*)
01766         END SUBROUTINE
01767       END INTERFACE
01768 !
01769 !-----------------------------------------------------------------------
01770 !
01771       INTERFACE
01772         SUBROUTINE ADD_CHAR41
01773      & ( U , V , W , DT , NRK , X , Y , ZSTAR , Z , IKLE2 , IBOR ,
01774      &   XPLOT , YPLOT , ZPLOT , DX , DY , DZ , SHP , SHZ , ELT , ETA,
01775      &   NSP , ISPDONE, NPLOT , NPOIN2 , NELEM2 , NPLAN ,
01776      &   SURDET , SENS , TEST, IFAPAR, NOMB,NARRV)
01777       IMPLICIT NONE
01778       INTEGER         , INTENT(IN)    :: SENS,NPLAN,NOMB,NARRV
01779       INTEGER         , INTENT(IN)    :: NPOIN2,NELEM2,NPLOT,NRK
01780       INTEGER         , INTENT(IN)    :: IKLE2(NELEM2,3)
01781       INTEGER         , INTENT(INOUT) :: ELT(NPLOT),NSP(NPLOT)
01782       INTEGER         , INTENT(INOUT) :: ISPDONE(NPLOT)
01783       DOUBLE PRECISION, INTENT(IN)    :: U(NPOIN2,NPLAN),V(NPOIN2,NPLAN)
01784       DOUBLE PRECISION, INTENT(IN)    :: W(NPOIN2,NPLAN),SURDET(NELEM2)
01785       DOUBLE PRECISION, INTENT(INOUT) :: XPLOT(NPLOT),YPLOT(NPLOT)
01786       DOUBLE PRECISION, INTENT(INOUT) :: ZPLOT(NPLOT)
01787       DOUBLE PRECISION, INTENT(INOUT) :: SHP(3,NPLOT),SHZ(NPLOT)
01788       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN2),Y(NPOIN2),DT
01789       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN2,NPLAN),ZSTAR(NPLAN)
01790       DOUBLE PRECISION, INTENT(INOUT) :: DX(NPLOT),DY(NPLOT),TEST(NPLOT)
01791       DOUBLE PRECISION, INTENT(INOUT) :: DZ(NPLOT)
01792       INTEGER         , INTENT(IN)    :: IBOR(NELEM2,5,NPLAN-1)
01793       INTEGER         , INTENT(INOUT) :: ETA(NPLOT)
01794       INTEGER, INTENT(IN)             :: IFAPAR(6,*)
01795         END SUBROUTINE
01796       END INTERFACE
01797 !
01798 !-----------------------------------------------------------------------
01799 !
01800       INTERFACE
01801         SUBROUTINE ADD_CHAR41_MOD
01802      & ( U , V , W , DT , NRK , X , Y , ZSTAR , Z , IKLE2 , IBOR ,
01803      &   XPLOT,YPLOT,ZPLOT,DX,DY,DZ,SHP1,SHP2,SHP3,SHZ,ELT,ETA,
01804      &   NSP , ISPDONE, NPLOT , NPOIN2 , NELEM2 , NPLAN ,
01805      &   SURDET , SENS , TEST, IFAPAR, NOMB,NARRV)
01806       IMPLICIT NONE
01807       INTEGER         , INTENT(IN)    :: SENS,NPLAN,NOMB,NARRV
01808       INTEGER         , INTENT(IN)    :: NPOIN2,NELEM2,NPLOT,NRK
01809       INTEGER         , INTENT(IN)    :: IKLE2(NELEM2,3)
01810       INTEGER         , INTENT(INOUT) :: ELT(NPLOT),NSP(NPLOT)
01811       INTEGER         , INTENT(INOUT) :: ISPDONE(NPLOT)
01812       DOUBLE PRECISION, INTENT(IN)    :: U(NPOIN2,NPLAN),V(NPOIN2,NPLAN)
01813       DOUBLE PRECISION, INTENT(IN)    :: W(NPOIN2,NPLAN),SURDET(NELEM2)
01814       DOUBLE PRECISION, INTENT(INOUT) :: XPLOT(NPLOT),YPLOT(NPLOT)
01815       DOUBLE PRECISION, INTENT(INOUT) :: ZPLOT(NPLOT)
01816       DOUBLE PRECISION, INTENT(INOUT) :: SHP1(NPLOT),SHP2(NPLOT)
01817       DOUBLE PRECISION, INTENT(INOUT) :: SHP3(NPLOT),SHZ(NPLOT)
01818       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN2),Y(NPOIN2),DT
01819       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN2,NPLAN),ZSTAR(NPLAN+1)
01820       DOUBLE PRECISION, INTENT(INOUT) :: DX(NPLOT),DY(NPLOT),TEST(NPLOT)
01821       DOUBLE PRECISION, INTENT(INOUT) :: DZ(NPLOT)
01822       INTEGER         , INTENT(IN)    :: IBOR(NELEM2,5)
01823       INTEGER         , INTENT(INOUT) :: ETA(NPLOT)
01824       INTEGER, INTENT(IN)             :: IFAPAR(6,*)
01825         END SUBROUTINE
01826       END INTERFACE
01827 !
01828 !-----------------------------------------------------------------------
01829 !
01830       INTERFACE
01831         SUBROUTINE SCHAR11
01832      & ( U , V , DT , NRK , X , Y , IKLE , IFABOR ,
01833      &   XPLOT , YPLOT , DX , DY , SHP , ELT , NSP ,
01834      &   NPLOT , NPOIN , NELEM , NELMAX , SURDET , SENS , TEST,
01835      &   IFAPAR, MESH,NCHDIM,NCHARA)
01836       USE BIEF_DEF
01837       IMPLICIT NONE
01838       INTEGER         , INTENT(IN)    :: SENS,NCHDIM
01839       INTEGER         , INTENT(IN)    :: NPOIN,NELEM,NELMAX,NPLOT,NRK
01840       INTEGER         , INTENT(IN)    :: IKLE(NELMAX,3),IFABOR(NELMAX,3)
01841       INTEGER         , INTENT(INOUT) :: ELT(NPLOT),NCHARA
01842       INTEGER         , INTENT(OUT)   :: NSP(NPLOT)
01843       DOUBLE PRECISION, INTENT(IN)    :: U(NPOIN),V(NPOIN),SURDET(NELEM)
01844       DOUBLE PRECISION, INTENT(INOUT) :: XPLOT(NPLOT),YPLOT(NPLOT)
01845       DOUBLE PRECISION, INTENT(INOUT) :: SHP(3,NPLOT)
01846       DOUBLE PRECISION, INTENT(IN)    :: DT
01847       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN),Y(NPOIN)
01848       DOUBLE PRECISION, INTENT(INOUT) :: DX(NPLOT),DY(NPLOT),TEST(NPLOT)
01849       INTEGER, INTENT(IN)             :: IFAPAR(6,*)
01850       TYPE (BIEF_MESH), INTENT(INOUT) :: MESH
01851         END SUBROUTINE
01852       END INTERFACE
01853 !
01854 !-----------------------------------------------------------------------
01855 !
01856       INTERFACE
01857         SUBROUTINE ADD_CHAR11
01858      & ( U , V , DT , NRK , X , Y , IKLE , IFABOR ,
01859      &   XPLOT , YPLOT , DX , DY , SHP , ELT , NSP , ISPDONE,
01860      &   NPLOT , NPOIN , NELEM , NELMAX , SURDET , SENS , TEST,
01861      &   IFAPAR, NOMB,NARRV)
01862       IMPLICIT NONE
01863       INTEGER         , INTENT(IN)    :: SENS,NOMB,NARRV
01864       INTEGER         , INTENT(IN)    :: NPOIN,NELEM,NELMAX,NPLOT,NRK
01865       INTEGER         , INTENT(IN)    :: IKLE(NELMAX,3),IFABOR(NELMAX,3)
01866       INTEGER         , INTENT(INOUT) :: ELT(NPLOT),NSP(NPLOT)
01867       INTEGER         , INTENT(INOUT) :: ISPDONE(NPLOT)
01868       DOUBLE PRECISION, INTENT(IN)    :: U(NPOIN),V(NPOIN),SURDET(NELEM)
01869       DOUBLE PRECISION, INTENT(INOUT) :: XPLOT(NPLOT),YPLOT(NPLOT)
01870       DOUBLE PRECISION, INTENT(INOUT) :: SHP(3,NPLOT)
01871       DOUBLE PRECISION, INTENT(IN)    :: DT
01872       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN),Y(NPOIN)
01873       DOUBLE PRECISION, INTENT(INOUT) :: DX(NPLOT),DY(NPLOT),TEST(NPLOT)
01874       INTEGER, INTENT(IN) :: IFAPAR(6,*)
01875         END SUBROUTINE
01876       END INTERFACE
01877 !
01878 !-----------------------------------------------------------------------
01879 !
01880       INTERFACE
01881         SUBROUTINE UPDATE_TEST(TEST,MESH,SHP1,SHP2,SHP3,NPOINT)
01882       USE BIEF_DEF
01883       IMPLICIT NONE
01884       INTEGER NPOINT
01885       DOUBLE PRECISION TEST(NPOINT),SHP1(NPOINT),
01886      &SHP2(NPOINT),SHP3(NPOINT)
01887       TYPE(BIEF_MESH), INTENT(INOUT)   :: MESH
01888         END SUBROUTINE
01889       END INTERFACE
01890 !
01891 !-----------------------------------------------------------------------
01892 !
01893       INTERFACE
01894         SUBROUTINE SEND_RECV_TOMAWAC(U,UTILD,UCONV,VCONV,WCONV,DT,NRK,
01895      &              X, Y, ZSTAR, Z,
01896      &              IKLE, IFABOR, XCONV, YCONV, ZCONV, DX, DY, DZ,
01897      &              SHP1,SHP2,SHP3, SHZ, ELT, ETA, ITRAV1,ITRAV2,NARRV,
01898      &              NPOIN2, NELEM, NPLAN, SURDET,
01899      &              TEST,NPOIN,NCHDIM,NCHARA,NOMB,MESH,LAST_NOMB)
01900       USE BIEF_DEF
01901       IMPLICIT NONE
01902       INTEGER, INTENT(INOUT)          :: NELEM,NPOIN,NPOIN2
01903       INTEGER, INTENT(IN)             :: NOMB,NPLAN
01904       TYPE(BIEF_OBJ)  , INTENT(INOUT) :: U
01905       TYPE(BIEF_OBJ)  , INTENT(INOUT) :: UTILD
01906       DOUBLE PRECISION, INTENT(IN)    :: UCONV(NPOIN)
01907       DOUBLE PRECISION, INTENT(IN)    :: VCONV(NPOIN)
01908       DOUBLE PRECISION, INTENT(IN)    :: WCONV(NPOIN)
01909       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN)
01910       DOUBLE PRECISION, INTENT(IN)    :: Y(NPOIN)
01911       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN2,NPLAN),ZSTAR(NPLAN+1)
01912       DOUBLE PRECISION, INTENT(INOUT) :: ZCONV(NPOIN2,NPLAN)
01913       DOUBLE PRECISION, INTENT(INOUT) :: DX(NPOIN),DY(NPOIN),DZ(NPOIN)
01914       DOUBLE PRECISION, INTENT(INOUT) :: SHP1(NPOIN),SHP2(NPOIN),
01915      &                    SHP3(NPOIN),SHZ(NPOIN)
01916       DOUBLE PRECISION, INTENT(IN)    :: SURDET(NELEM)
01917       DOUBLE PRECISION, INTENT(IN)    :: DT
01918       INTEGER, INTENT(IN)             :: IKLE(NELEM,3)
01919       INTEGER, INTENT(IN)             :: IFABOR(NELEM,*)
01920       INTEGER, INTENT(INOUT)          :: ELT(NPOIN),ETA(NPOIN)
01921       INTEGER, INTENT(INOUT)          :: ITRAV1(NPOIN),ITRAV2(NPOIN)
01922       DOUBLE PRECISION, INTENT(INOUT) :: TEST(NPOIN)
01923       TYPE(BIEF_MESH) , INTENT(INOUT) :: MESH
01924       DOUBLE PRECISION, INTENT(INOUT) :: XCONV(NPOIN2,NPLAN),
01925      &                                   YCONV(NPOIN2,NPLAN)
01926       INTEGER NRK,NCHARA,NARRV,NCHDIM,LAST_NOMB
01927         END SUBROUTINE
01928       END INTERFACE
01929 !
01930 !-----------------------------------------------------------------------
01931 !
01932       INTERFACE
01933         SUBROUTINE SCARACT
01934      & ( U , UTILD , UCONV , VCONV , WCONV , X , Y , ZSTAR ,
01935      &   XCONV , YCONV , ZCONV , DX , DY , DZ , Z , SHP , SHZ , SURDET ,
01936      &   DT , IKLE , IFABOR , ELT , ETA , ITRAV1, ITRAV2, IELM ,
01937      &   IELMU , NELEM , NELMAX , NOMB , NPOIN , NPOIN2 , NDP , NPLAN ,
01938      &   LV , MSK , MASKEL , MESH , FAC , TEST , STEST , INITLOC)
01939       USE BIEF_DEF
01940       IMPLICIT NONE
01941       INTEGER, INTENT(IN)             :: NELEM,NELMAX,NPOIN,NPOIN2
01942       INTEGER, INTENT(IN)             :: NOMB,NDP,NPLAN,IELM,IELMU,LV
01943       TYPE(BIEF_OBJ)  , INTENT(IN)    :: U
01944       TYPE(BIEF_OBJ)  , INTENT(INOUT) :: UTILD
01945       DOUBLE PRECISION, INTENT(IN)    :: UCONV(NPOIN)
01946       DOUBLE PRECISION, INTENT(IN)    :: VCONV(NPOIN)
01947       DOUBLE PRECISION, INTENT(IN)    :: WCONV(NPOIN)
01948       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN)
01949       DOUBLE PRECISION, INTENT(IN)    :: Y(NPOIN)
01950       DOUBLE PRECISION, INTENT(IN)    :: Z(NPOIN2,NPLAN),ZSTAR(NPLAN)
01951       DOUBLE PRECISION, INTENT(OUT)   :: ZCONV(NPOIN2,NPLAN)
01952       DOUBLE PRECISION, INTENT(OUT)   :: DX(NPOIN),DY(NPOIN),DZ(NPOIN)
01953       DOUBLE PRECISION, INTENT(OUT)   :: SHP(NDP,NPOIN),SHZ(NPOIN)
01954       DOUBLE PRECISION, INTENT(IN)    :: MASKEL(NELMAX)
01955       DOUBLE PRECISION, INTENT(IN)    :: SURDET(NELEM)
01956       DOUBLE PRECISION, INTENT(IN)    :: DT
01957       INTEGER, INTENT(IN)             :: IKLE(NELMAX,NDP)
01958       INTEGER, INTENT(IN)             :: IFABOR(NELMAX,*)
01959       INTEGER, INTENT(OUT)            :: ELT(NPOIN),ETA(NPOIN)
01960       INTEGER, INTENT(OUT)            :: ITRAV1(NPOIN),ITRAV2(NPOIN)
01961       LOGICAL, INTENT(IN)             :: MSK,INITLOC
01962       DOUBLE PRECISION, INTENT(OUT)   :: TEST(NPOIN)
01963       DOUBLE PRECISION, INTENT(IN)    :: FAC(NPOIN)
01964       TYPE(BIEF_MESH) , INTENT(INOUT) :: MESH
01965       TYPE(BIEF_OBJ)  , INTENT(INOUT) :: STEST,XCONV,YCONV
01966         END SUBROUTINE
01967       END INTERFACE
01968 !
01969 !-----------------------------------------------------------------------
01970 !
01971       INTERFACE
01972         SUBROUTINE STRESS
01973      &( TAUWAV, TSTOT , F     , USNEW , TWNEW , Z0NEW , FREQ  , DFREQ ,
01974      &  TETA  , SINTET, COSTET, ROAIR , ROEAU , XKAPPA, BETAM , DECAL ,
01975      &  GRAVIT, NPOIN2, NPLAN , NF    , XTAUW , YTAUW , TAUHF )
01976       IMPLICIT NONE
01977       INTEGER  NPOIN2, NPLAN , NF
01978       DOUBLE PRECISION ROAIR , ROEAU , XKAPPA , BETAM , DECAL , GRAVIT
01979       DOUBLE PRECISION TAUWAV(NPOIN2), USNEW(NPOIN2), TWNEW(NPOIN2)
01980       DOUBLE PRECISION  Z0NEW(NPOIN2), FREQ(NF) , DFREQ(NF)
01981       DOUBLE PRECISION TSTOT(NPOIN2,NPLAN,NF), F(NPOIN2,NPLAN,NF)
01982       DOUBLE PRECISION TETA(NPLAN), SINTET(NPLAN), COSTET(NPLAN)
01983       DOUBLE PRECISION XTAUW(NPOIN2) , YTAUW(NPOIN2), TAUHF(NPOIN2)
01984         END SUBROUTINE
01985       END INTERFACE
01986 !
01987 !-----------------------------------------------------------------------
01988 !
01989       INTERFACE
01990         SUBROUTINE TAUTOT
01991      &( TAUT  , UVENT , TAUW  , CDRAG , ALPHA , XKAPPA, ZVENT , SEUIL ,
01992      &  GRAVIT, ITR   , ITRMIN, ITRMAX)
01993       IMPLICIT NONE
01994       INTEGER  ITRMIN, ITRMAX, ITR
01995       DOUBLE PRECISION TAUT  , UVENT , TAUW  , ALPHA , XKAPPA , ZVENT
01996       DOUBLE PRECISION SEUIL , CDRAG , GRAVIT
01997         END SUBROUTINE
01998       END INTERFACE
01999 !
02000 !-----------------------------------------------------------------------
02001 !
02002       INTERFACE
02003         SUBROUTINE TETMOY
02004      &( TETAM , F     , COSTET, SINTET, NPLAN , FREQ  , DFREQ , NF    ,
02005      &  NPOIN2, TAILF , COSMOY, SINMOY, TAUXC , TAUXS )
02006       IMPLICIT NONE
02007       INTEGER  NF    , NPLAN , NPOIN2
02008       DOUBLE PRECISION TAILF
02009       DOUBLE PRECISION TETAM(NPOIN2) , DFREQ(NF)    , COSMOY(NPOIN2)
02010       DOUBLE PRECISION COSTET(NPLAN) , SINTET(NPLAN), SINMOY(NPOIN2)
02011       DOUBLE PRECISION TAUXC(NPOIN2) , TAUXS(NPOIN2)
02012       DOUBLE PRECISION F(NPOIN2,NPLAN,NF), FREQ(NF)
02013         END SUBROUTINE
02014       END INTERFACE
02015 !
02016 !-----------------------------------------------------------------------
02017 !
02018       INTERFACE
02019         SUBROUTINE TOTNRJ
02020      &( VARIAN, F     , FREQ  , DFREQ , TAILF , NF    , NPLAN , NPOIN2)
02021       IMPLICIT NONE
02022       INTEGER          NF    , NPLAN , NPOIN2
02023       DOUBLE PRECISION TAILF , VARIAN(NPOIN2), FREQ(NF), DFREQ(NF)
02024       DOUBLE PRECISION F(NPOIN2,NPLAN,NF)
02025         END SUBROUTINE
02026       END INTERFACE
02027 !
02028 !-----------------------------------------------------------------------
02029 !
02030       INTERFACE
02031         SUBROUTINE TRANSF
02032      &( FA    , FR    , FREQ  , DFREQ , COSTET, SINTET, UC    , VC    ,
02033      &  XK    , KNEW  , NEWF  , NEWF1 , TAUX1 , TAUX2 , NPOIN2, NPLAN ,
02034      &  NF    , RAISF , LT    , GRADEB, GRAPRD)
02035       IMPLICIT NONE
02036       INTEGER          NPOIN2, NPLAN , NF    , LT    , GRADEB, GRAPRD
02037       INTEGER          KNEW(NPOIN2)  , NEWF(NPOIN2)  , NEWF1(NPOIN2)
02038       DOUBLE PRECISION RAISF
02039       DOUBLE PRECISION FA(NPOIN2,NPLAN,NF),FR(NPOIN2,NPLAN,NF)
02040       DOUBLE PRECISION FREQ(NF),DFREQ(NF),COSTET(NPLAN),SINTET(NPLAN)
02041       DOUBLE PRECISION UC(NPOIN2),VC(NPOIN2),TAUX1(NPOIN2),TAUX2(NPOIN2)
02042       DOUBLE PRECISION XK(NPOIN2,NF)
02043         END SUBROUTINE
02044       END INTERFACE
02045 !
02046 !-----------------------------------------------------------------------
02047 !
02048       INTERFACE
02049         SUBROUTINE USTAR1
02050      &( USTAR , Z0    , TAUWAV, UV    , VV    , CDRAG , ALPHA , XKAPPA,
02051      &  ZVENT , GRAVIT, NPOIN2)
02052       IMPLICIT NONE
02053       INTEGER  NPOIN2
02054       DOUBLE PRECISION USTAR(NPOIN2) , Z0(NPOIN2) , TAUWAV(NPOIN2)
02055       DOUBLE PRECISION    UV(NPOIN2) , VV(NPOIN2)
02056       DOUBLE PRECISION CDRAG , ALPHA , XKAPPA , ZVENT, GRAVIT
02057         END SUBROUTINE
02058       END INTERFACE
02059 !
02060 !-----------------------------------------------------------------------
02061 !
02062       INTERFACE
02063         SUBROUTINE USTAR2
02064      &( USTAR , UV    , VV    , NPOIN2)
02065       IMPLICIT NONE
02066       INTEGER  NPOIN2
02067       DOUBLE PRECISION USTAR(NPOIN2) , UV(NPOIN2) , VV(NPOIN2)
02068         END SUBROUTINE
02069       END INTERFACE
02070 !
02071 !-----------------------------------------------------------------------
02072 !
02073       INTERFACE
02074         SUBROUTINE VARTEL
02075      &( VAR, X, Y, DEPTH, UC, VC, ZREPOS, TRA01, F, NPLAN, NF, NPOIN2)
02076       IMPLICIT NONE
02077       INTEGER  NPOIN2,NPLAN,NF
02078       DOUBLE PRECISION F (NPOIN2,NPLAN,NF) , TRA01(NPOIN2)
02079       DOUBLE PRECISION X (NPOIN2) , Y (NPOIN2) , DEPTH(NPOIN2)
02080       DOUBLE PRECISION UC(NPOIN2) , VC(NPOIN2) , VAR(NPOIN2)
02081       DOUBLE PRECISION ZREPOS
02082         END SUBROUTINE
02083       END INTERFACE
02084 !
02085 !-----------------------------------------------------------------------
02086 !
02087       INTERFACE
02088         SUBROUTINE VENUTI
02089      &(X,Y,NPOIN,NVEN,BINVEN,NBOR,NPTFR,AT,DDC,TV1,TV2,U1,V1,U2,V2)
02090       IMPLICIT NONE
02091       INTEGER, INTENT(IN)             :: NVEN,NPOIN,NPTFR
02092       INTEGER, INTENT(IN)             :: NBOR(NPTFR,2)
02093       DOUBLE PRECISION, INTENT(IN)    :: X(NPOIN),Y(NPOIN)
02094       DOUBLE PRECISION, INTENT(INOUT) :: U1(NPOIN),V1(NPOIN)
02095       DOUBLE PRECISION, INTENT(INOUT) :: U2(NPOIN),V2(NPOIN)
02096       DOUBLE PRECISION, INTENT(IN)    :: AT,DDC
02097       DOUBLE PRECISION, INTENT(INOUT) :: TV1,TV2
02098       CHARACTER(LEN=3), INTENT(IN)    :: BINVEN
02099         END SUBROUTINE
02100       END INTERFACE
02101 !
02102 !-----------------------------------------------------------------------
02103 !
02104       INTERFACE
02105         SUBROUTINE VITFON(UWBM,F,XK,DEPTH,DFREQ,NF,NPOIN2,NPLAN,BETA)
02106       IMPLICIT NONE
02107       INTEGER, INTENT(IN)             :: NF,NPLAN,NPOIN2
02108       DOUBLE PRECISION, INTENT(INOUT) :: UWBM(NPOIN2),BETA(NPOIN2)
02109       DOUBLE PRECISION, INTENT(IN)    :: F(NPOIN2,NPLAN,NF)
02110       DOUBLE PRECISION, INTENT(IN)    :: XK(NPOIN2,NF)
02111       DOUBLE PRECISION, INTENT(IN)    :: DEPTH(NPOIN2),DFREQ(NF)
02112         END SUBROUTINE
02113       END INTERFACE
02114 !
02115 !-----------------------------------------------------------------------
02116 !
02117       INTERFACE
02118         SUBROUTINE WAC
02119      &(PART, U_TEL, V_TEL, H_TEL, FX_WAC, FY_WAC, UV_WAC, VV_WAC,
02120      & CODE, T_TEL, DT_TEL,NIT_TEL,PERCOU_WAC,
02121      & DIRMOY_TEL,HM0_TEL,TPR5_TEL,ORBVEL_TEL)
02122       USE BIEF_DEF
02123       IMPLICIT NONE
02124       INTEGER,           INTENT(IN)      :: PART,NIT_TEL,PERCOU_WAC
02125       CHARACTER(LEN=24), INTENT(IN)      :: CODE
02126       TYPE(BIEF_OBJ),    INTENT(IN)      :: U_TEL,V_TEL,H_TEL
02127       TYPE(BIEF_OBJ),    INTENT(INOUT)   :: DIRMOY_TEL,HM0_TEL,TPR5_TEL
02128       TYPE(BIEF_OBJ),    INTENT(INOUT)   :: FX_WAC,FY_WAC,ORBVEL_TEL
02129       TYPE(BIEF_OBJ),    INTENT(INOUT)   :: UV_WAC,VV_WAC
02130       DOUBLE PRECISION,  INTENT(IN)      :: DT_TEL,T_TEL
02131         END SUBROUTINE
02132       END INTERFACE
02133 !
02134 !-----------------------------------------------------------------------
02135 !
02136       INTERFACE
02137         SUBROUTINE WNSCOU
02138      &( CK2   , FREQ  , DEPTH )
02139       IMPLICIT NONE
02140       DOUBLE PRECISION CK2   , FREQ  , DEPTH
02141         END SUBROUTINE
02142       END INTERFACE
02143 !
02144 !-----------------------------------------------------------------------
02145 !
02146       INTERFACE
02147         SUBROUTINE WPOWER
02148      &( POWER , F     , FREQ  , DFREQ , CG    , TAILF , NF    , NPLAN ,
02149      &  NPOIN2, ROEAU )
02150       IMPLICIT NONE
02151       INTEGER          NF    , NPLAN , NPOIN2
02152       DOUBLE PRECISION TAILF , POWER(NPOIN2), FREQ(NF), DFREQ(NF)
02153       DOUBLE PRECISION F(NPOIN2,NPLAN,NF), CG(NPOIN2,NF)
02154       DOUBLE PRECISION ROEAU
02155         END SUBROUTINE
02156       END INTERFACE
02157 !
02158 !=======================================================================
02159 !
02160       END MODULE INTERFACE_TOMAWAC

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