#if defined (DOC)
*
***s/r fintern8 - REAL*8 thermodyanmic statement functions.
*
* Author: JM Belanger CMDA/SMC Aug. 2000
*
* Revision 001: Yves J. Rochon *ARQX/SMC, Sept 2004
* - Added functions of sat. vapour pressure
* over water (FOEW8_CMAM) and over ice (FOEI8_CMAM),
* resultant sat. specific humidity (FOQST8_CMAM), and
* others.
*
* REAL*8 version of thermodynamic functions based on
* fintern.cdk in the physics library.
*
*Arguments
*
#endif
*
* FONCTION DE TENSION DE VAPEUR SATURANTE (TETENS) - EW OU EI SELON TT
FOEW8(TTT) = 610.78D0*EXP( MIN(SIGN(17.269D0,TTT-TRPL),SIGN
W (21.875D0,TTT-TRPL))*ABS(TTT-TRPL)/(TTT-35.86D0+MAX(0.D0,SIGN
W (28.2D0,TRPL-TTT))))
*
* FONCTION CALCULANT LA DERIVEE SELON T DE LN EW (OU LN EI)
FODLE8(TTT)=(4097.93D0+MAX(0.D0,SIGN(1709.88D0,TRPL-TTT)))
W /((TTT-35.86D0+MAX(0.D0,SIGN(28.2D0,TRPL-TTT)))*
W (TTT-35.86D0+MAX(0.D0,SIGN(28.2D0,TRPL-TTT))))
*
* FONCTION CALCULANT L'HUMIDITE SPECIFIQUE SATURANTE (QSAT)
FOQST8(TTT,PRS)=EPS1/(MAX(1.D0,PRS/FOEW8(TTT))-EPS2)
*
* FONCTION CALCULANT LA DERIVEE DE QSAT SELON T
FODQS8(QST,TTT)=QST*(1.D0+DELTA*QST)*FODLE8(TTT)
* QST EST LA SORTIE DE FOQST
*
* FONCTION CALCULANT TENSION VAP (EEE) FN DE HUM SP (QQQ) ET PRS
FOEFQ8(QQQ,PRS) = MIN(PRS,(QQQ*PRS) / (EPS1 + EPS2*QQQ))
*
* FONCTION CALCULANT HUM SP (QQQ) DE TENS. VAP (EEE) ET PRES (PRS)
FOQFE8(EEE,PRS) = MIN(1.D0,EPS1*EEE / (PRS-EPS2*EEE))
*
* FONCTION CALCULANT TEMP VIRT. (TVI) DE TEMP (TTT) ET HUM SP (QQQ)
FOTVT8(TTT,QQQ) = TTT * (1.0D0 + DELTA*QQQ)
*
* FONCTION CALCULANT TTT DE TEMP VIRT. (TVI) ET HUM SP (QQQ)
FOTTV8(TVI,QQQ) = TVI / (1.0D0 + DELTA*QQQ)
*
* FONCTION CALCULANT HUM REL DE HUM SP (QQQ), TEMP (TTT) ET PRES (PRS)
* HR = E/ESAT
FOHR8(QQQ,TTT,PRS) = MIN(PRS,FOEFQ8(QQQ,PRS)) / FOEW8(TTT)
*
* LES 5 FONCTIONS SUIVANTES SONT VALIDES DANS LE CONTEXTE OU ON
* NE DESIRE PAS TENIR COMPTE DE LA PHASE GLACE DANS LES CALCULS
* DE SATURATION.
*
* FONCTION DE VAPEUR SATURANTE (TETENS)
FOEWA8(TTT)=610.78D0*EXP(17.269D0*(TTT-TRPL)/(TTT-35.86D0))
*
* FONCTION CALCULANT LA DERIVEE SELON T DE LN EW
FODLA8(TTT)=17.269D0*(TRPL-35.86D0)/(TTT-35.86D0)**2
*
* FONCTION CALCULANT L'HUMIDITE SPECIFIQUE SATURANTE
FOQSA8(TTT,PRS)=EPS1/(MAX(1.D0,PRS/FOEWA8(TTT))-EPS2)
*
* FONCTION CALCULANT LA DERIVEE DE QSAT SELON T
FODQA8(QST,TTT)=QST*(1.D0+DELTA*QST)*FODLA8(TTT)
*
* FONCTION CALCULANT L'HUMIDITE RELATIVE
FOHRA8(QQQ,TTT,PRS)=MIN(PRS,FOEFQ8(QQQ,PRS))/FOEWA8(TTT)
*
* LES 6 FONCTIONS SUIVANTES SONT REQUISES POUR LA TEMPERATURE
* EN FONCTION DE LA TENSION DE VAPEUR SATURANTE.
* (AJOUTE PAR YVES J. ROCHON, ARQX/SMC, JUIN 2004)
*
* FONCTION DE LA TEMPERATURE EN FONCTION DE LA TENSION DE VAPEUR
* SATURANTE PAR RAPPORT A EW.
FOTW8(EEE)=(35.86D0*LOG(EEE/610.78D0)-17.269D0*TRPL)/
W (LOG(EEE/610.78D0)-17.269D0)
*
* FONCTION DE LA TEMPERATURE EN FONCTION DE LA TENSION DE VAPEUR
* SATURANTE PAR RAPPORT A EI.
FOTI8(EEE)=(7.66D0*LOG(EEE/610.78D0)-21.875D0*TRPL)/
W (LOG(EEE/610.78D0)-21.875D0)
*
* FONCTION DE LA DERIVE DE LA TEMPERATURE EN FONCTION DE LA TENSION DE
* VAPEUR SATURANTE (EW).
FODTW8(TTT,EEE)=(35.86D0-TTT)/EEE
W /(LOG(EEE/610.78D0)-17.269D0)
*
* FONCTION DE LA DERIVE DE LA TEMPERATURE EN FONCTION DE LA TENSION DE
* VAPEUR SATURANTE (EI).
FODTI8(TTT,EEE)=(7.66D0-TTT)/EEE
W /(LOG(EEE/610.78D0)-21.875D0)
*
* FONCTION DE L'AJUSTEMENT DE LA TEMPERATURE.
FOTWI8(TTT,EEE)=MAX(0.0D0,SIGN(1.0D0,TTT-TRPL))*FOTW8(EEE)
W -MIN(0.0D0,SIGN(1.0D0,TTT-TRPL))*FOTI8(EEE)
*
* FONCTION DE L'AJUSTEMENT DE LA DERIVEE DE LA TEMPERATURE.
FODTWI8(TTT,EEE)=MAX(0.0D0,SIGN(1.0D0,TTT-TRPL))*FODTW8(TTT,EEE)
W -MIN(0.0D0,SIGN(1.0D0,TTT-TRPL))*FODTI8(TTT,EEE)
*
* LES 7 FONCTIONS SUIVANTES POUR EW-EI SONT REQUISES POUR LES MODELES
* CMAM ET CGCM. (AJOUTE PAR YVES J. ROCHON, ARQX/SMC, JUIN 2004)
*
* FONCTION DE TENSION DE VAPEUR SATURANTE - EW
FOEW8_CMAM(TTT) = 100.D0*EXP(21.656D0-5418.D0/TTT)
*
* FONCTION DE TENSION DE VAPEUR SATURANTE - EI
FOEI8_CMAM(TTT) = 100.D0*EXP(24.292D0-6141.D0/TTT)
*
* FONCTION DE LA PROPORTION DE LA CONTRIBUTION DE EW VS EI
FOERAT8_CMAM(TTT)=MIN(1.0D0,0.0059D0+0.9941D0*EXP(-0.003102D0*
W MIN(0.0D0,TTT-TRPL)**2))
*
* FONCTION DE TENSION DE VAPEUR SATURANTE RESULTANTE - EW et EI
FOEWI8_CMAM(TTT) = FOEW8_CMAM(TTT)*FOERAT8_CMAM(TTT)
W +(1.0D0-FOERAT8_CMAM(TTT))*FOEI8_CMAM(TTT)
*
* FONCTION DE LA DERIVE DE LN(E) PAR RAPPORT A LA TEMPERATURE
FODLE8_CMAM(TTT) = FOERAT8_CMAM(TTT)*5418.D0/TTT/TTT
W +(1.0D0-FOERAT8_CMAM(TTT))*6141.D0/TTT/TTT
*
* FONCTION CALCULANT L'HUMIDITE SPECIFIQUE SATURANTE (QSAT).
* PREND EN COMPTE LES PHASES GLACE ET EAU.
FOQST8_CMAM(TTT,PRS)=EPS1/(MAX(1.0D0,PRS/
W FOEWI8_CMAM(TTT))-EPS2)
*
* LES 6 FONCTIONS SUIVANTES SONT REQUISES POUR LA TEMPERATURE
* EN FONCTION DE LA TENSION DE VAPEUR SATURANTE POUR CMAM/CGCM
* (AJOUTE PAR YVES J. ROCHON, ARQX/SMC, JUIN 2004)
*
* FONCTION DE LA TEMPERATURE EN FONCTION DE LA TENSION DE VAPEUR
* SATURANTE PAR RAPPORT A EW.
FOTW8_CMAM(EEE)=5418.D0/(21.656D0-LOG(EEE/100.0D0))
*
* FONCTION DE LA TEMPERATURE EN FONCTION DE LA TENSION DE VAPEUR
* SATURANTE PAR RAPPORT A EI.
FOTI8_CMAM(EEE)=6141.D0/(24.292D0-LOG(EEE/100.0D0))
*
* FONCTION DE LA DERIVE DE LA TEMPERATURE EN FONCTION DE LA TENSION DE
* VAPEUR SATURANTE (EW).
FODTW8_CMAM(TTT,EEE)=TTT/EEE/(21.656D0-LOG(EEE/100.0D0))
*
* FONCTION DE LA DERIVE DE LA TEMPERATURE EN FONCTION DE LA TENSION DE
* VAPEUR SATURANTE (EI).
FODTI8_CMAM(TTT,EEE)=TTT/EEE/(24.292D0-LOG(EEE/100.0D0))
*
* FONCTION DE L'AJUSTEMENT DE LA TEMPERATURE.
FOTWI8_CMAM(TTT,EEE)=
W FOERAT8_CMAM(TTT)*FOTW8_CMAM(EEE)+
W (1.0D0-FOERAT8_CMAM(TTT))*FOTI8_CMAM(EEE)
*
* FONCTION DE L'AJUSTEMENT DE LA DERIVEE DE LA TEMPERATURE.
FODTWI8_CMAM(TTT,EEE)=
W FOERAT8_CMAM(TTT)*FODTW8_CMAM(TTT,EEE)+
W (1.0D0-FOERAT8_CMAM(TTT))*FODTI8_CMAM(TTT,EEE)
*