MODULE lmdz_fcttre ! ------------------------------------------------------------------ ! This COMDECK includes the Thermodynamical functions for the cy39 ! ECMWF Physics package. ! Consistent with YOMCST Basic physics constants, assuming the ! partial pressure of water vapour is given by a first order ! Taylor expansion of Qs(T) w.r.t. to Temperature, using constants ! in YOETHF ! ------------------------------------------------------------------ IMPLICIT NONE; PRIVATE PUBLIC foeew, foede, qsats, qsatl, dqsats, dqsatl, thermcep LOGICAL, PARAMETER :: thermcep = .TRUE. CONTAINS REAL FUNCTION foeew (ptarg, pdelarg) USE lmdz_yoethf, ONLY: r3ies, r3les, r4ies, r4les USE lmdz_yomcst, ONLY: rtt REAL, INTENT(IN) :: ptarg, pdelarg foeew = exp ((r3les * (1. - pdelarg) + r3ies * pdelarg) * (ptarg - rtt) & / (ptarg - (r4les * (1. - pdelarg) + r4ies * pdelarg))) END FUNCTION foeew REAL FUNCTION foede (ptarg, pdelarg, p5arg, pqsarg, pcoarg) USE lmdz_yoethf, ONLY: r4ies, r4les REAL, INTENT(IN) :: ptarg, pdelarg, p5arg, pqsarg, pcoarg foede = pqsarg * pcoarg * p5arg / (ptarg - (r4les * (1. - pdelarg) + r4ies * pdelarg))**2 END FUNCTION foede REAL FUNCTION qsats(ptarg) REAL, INTENT(IN) :: ptarg qsats = 100.0 * 0.622 * 10.0 ** (2.07023 - 0.00320991 * ptarg - 2484.896 / ptarg + 3.56654 * log10(ptarg)) END FUNCTION qsats REAL FUNCTION qsatl(ptarg) REAL, INTENT(IN) :: ptarg qsatl = 100.0 * 0.622 * 10.0 ** (23.8319 - 2948.964 / ptarg - 5.028 * log10(ptarg) & - 29810.16 * exp(- 0.0699382 * ptarg) + 25.21935 * exp(- 2999.924 / ptarg)) END FUNCTION qsatl REAL FUNCTION dqsats(ptarg, pqsarg) USE lmdz_yomcst, ONLY: rlvtt, rcpd REAL, INTENT(IN) :: ptarg, pqsarg dqsats = rlvtt / rcpd * pqsarg * (3.56654 / ptarg + 2484.896 * log(10.) / ptarg**2 - 0.00320991 * log(10.)) END FUNCTION dqsats REAL FUNCTION dqsatl(ptarg, pqsarg) USE lmdz_yomcst, ONLY: rlvtt, rcpd REAL, INTENT(IN) :: ptarg, pqsarg dqsatl = rlvtt / rcpd * pqsarg * log(10.) * (2948.964 / ptarg**2 - 5.028 / log(10.) / ptarg & + 25.21935 * 2999.924 / ptarg**2 * exp(-2999.924 / ptarg) + & 29810.16 * 0.0699382 * exp(-0.0699382 * ptarg)) END FUNCTION dqsatl END MODULE lmdz_fcttre