*
*   DEFINITION OF THERMODYNAMIC FUNCTIONS
*   CONSTANTS AS IN COMMON /CTESDYN/
*     NOTE: ALL FUNCTIONS IN S.I. UNITS
*           I.E. PTTT IN DEG K, PPRS IN PA, PQQQ IN KG/KG
*          *** N. BRUNET - MAI 90 ***
*          * REVISION 01 - MAI 94 - N. BRUNET
*                          NOUVELLE VERSION POUR FAIBLES PRESSIONS
*          * REVISION 02 - MAR 96 - J. HALLE
*                          NORMES DOCTOR
*          * REVISION 03 - AUG 98 - C. CHOUINARD
*                          ADAPTATION TO 3DVAR FOR ES-T-TD CONVERSIONS
*          * REVISION 04 -  NOV 98 - L. Fillion C. Charette
*                          Added functions foew,foewa,fodle
*
*
*     FUNCTION TO CALCULATE THE SATURATED VAP PRESSURE FROM SP HUM (PQQQ) AND PRES (PPRS)
      FOEFQ(PQQQ,PPRS) = MIN(PPRS,(PQQQ*PPRS) / (EPS1 + EPS2*PQQQ))
*     FUNCTION TO CALCULATE THE VIRTUAL TEMPERATURE FROM TEMPERATURE AND
*     SPECIFIC HUMIDITY
      fotvv(ptti,pqqq) = (1.0 + delta*pqqq)*ptti
*
*     FONCTION CALCULANT LA DERIVEE SELON T DE  LN EW (OU LN EI)
      FODLE(PTTT)=(4097.93D0+MAX(0.D0,SIGN(1709.88D0,TRPL-PTTT)))
     W /((PTTT-35.86D0+MAX(0.D0,SIGN(28.2D0,TRPL-PTTT)))*
     W (PTTT-35.86D0+MAX(0.D0,SIGN(28.2D0,TRPL-PTTT))))
*
*     FONCTION DE TENSION DE VAPEUR SATURANTE (TETENS) - EW OU EI SELON TT
      FOEW(PTTT) = 610.78D0*EXP( MIN(SIGN(17.269D0,PTTT-TRPL),SIGN
     W (21.875D0,PTTT-TRPL))*ABS(PTTT-TRPL)/
     W (PTTT-35.86D0+MAX(0.D0,SIGN(28.2D0,TRPL-PTTT))))
*
*   FONCTION DE VAPEUR SATURANTE (TETENS)
      FOEWA(PTTT)=610.78D0*EXP(17.269D0*(PTTT-TRPL)/(PTTT-35.86D0))
*