C
***************************
DOUBLE PRECISION FUNCTION Q
C
***************************
C
C
*( T , I , DEBIT , H , NPOIN )
C
C***********************************************************************
C TELEMAC 2D VERSION 4.0 17/08/94
J-M HERVOUET (LNH) 30 87 80 18
C
C***********************************************************************
C
C FONCTION : DONNE LA VALEUR DU DEBIT POUR TOUTES LES ENTREES
A DEBIT
C
IMPOSE.
C
C-----------------------------------------------------------------------
C
ARGUMENTS
C .________________.____.______________________________________________.
C | NOM
|MODE|
ROLE
|
C |________________|____|______________________________________________|
C | T
| -->| TEMPS AUQUEL ON DONNE LE DEBIT
|
C | I
| -->| RANG DE LA FRONTIERE A DEBIT IMPOSE
|
C |
| | (1 S'IL N'Y EN A QU'UNE)
|
C | DEBIT | -->|
TABLEAU DES DEBITS IMPOSES.
|
C |
| | (LU DANS LE FICHIER DES PARAMETRES)
|
C | HAUTEUR D'EAU| -->| TABLEAU DES HAUTEURS D'EAU.
|
C | NPOIN | -->|
NOMBRE DE POINTS DU TABLEAU DES HAUTEURS |
C |________________|____|______________________________________________|
C MODE : -->(DONNEE NON MODIFIEE), <--(RESULTAT), <-->(DONNEE
MODIFIEE)
C
C-----------------------------------------------------------------------
C
C APPELE PAR : BORD
C
C***********************************************************************
C
IMPLICIT NONE
INTEGER LNG,LU
COMMON/INFO/LNG,LU
C
INTEGER I,NPOIN
C
DOUBLE PRECISION T , DEBIT(*) , H(NPOIN)
C
INTRINSIC MIN
C
C-----------------------------------------------------------------------
C
if (I.eq.1) then
DEBIT(I) = 400 * H(66) * H(66) *sqrt (H(66))
elseif (I.eq.2) then
if (T.LE.20000) then
DEBIT(I) = 10.
elseif ( (T.GT.20000).AND.(T.LE.38000)
) then
DEBIT(I) = 0.055 *
(T-20000) + 10.
elseif ( (T.GT.38000).AND.(T.LE.74000)
) then
DEBIT(I) = - 0.0275
* (T-38000) + 1000.
elseif (T.GT.74000)
then
DEBIT(I) = 10.
endif
elseif (I.eq.3) then
if (T.LE.20000) then
DEBIT(I) = 10.
elseif ( (T.GT.20000).AND.(T.LE.38000)
) then
DEBIT(I) = 0.138333
* (T-20000) + 10.
elseif ( (T.GT.38000).AND.(T.LE.74000)
) then
DEBIT(I) = - 0.0691665
* (T-38000) + 1000.
elseif (T.GT.74000)
then
DEBIT(I) = 10.
endif
endif
Q = DEBIT(I)
RETURN
END