#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)
*