--- trunk/phylmd/cv_thermo.f90 2013/11/15 18:45:49 76 +++ trunk/Sources/phylmd/cv_thermo.f 2016/05/31 16:17:35 198 @@ -1,51 +1,43 @@ -SUBROUTINE cv_thermo +module cv_thermo_m - ! Set thermodynamical constants for convectL + ! From LMDZ4/libf/phylmd/cvthermo.h, version 1.1.1.1 2004/05/19 12:53:09 + ! Thermodynamical constants for cv_driver - use clesphys2, only: iflag_con - use SUPHEC_M - use cvthermo + use SUPHEC_M, only: rd, rg, rcpd, rcpv, rcw implicit none - !----------------------------------------------------- + real cpd, cpv, cl, rrv, rrd, rowl, t0 + real, parameter:: clmcpv = rcw - rcpv, clmcpd = rcw - rcpd + real, parameter:: cpdmcp = rcpd - rcpv + real, parameter:: cpvmcpd = rcpv - rcpd, cpvmcl = rcw - rcpv + real eps, epsi, epsim1 + real, parameter:: ginv = 1. / rg, hrd = 0.5 * rd - ! original set from convect: - if (iflag_con.eq.4) then - cpd=1005.7 - cpv=1870.0 - cl=4190.0 - rrv=461.5 - rrd=287.04 - lv0=2.501E6 - g=9.8 - t0=273.15 - grav=g - endif - - ! constants consistent with LMDZ: - if (iflag_con.eq.3) then - cpd = RCPD - cpv = RCPV - cl = RCW - rrv = RV - rrd = RD - lv0 = RLVTT - g = RG ! not used in convect3 - t0 = 273.15 ! convect3 (RTT=273.16) - grav= g ! implicitely or explicitely used in convect3 - endif - - rowl=1000.0 !(a quelle variable de SUPHEC_M cela correspond-il?) - clmcpv=cl-cpv - clmcpd=cl-cpd - cpdmcp=cpd-cpv - cpvmcpd=cpv-cpd - cpvmcl=cl-cpv ! for convect3 - eps=rrd/rrv - epsi=1.0/eps - epsim1=epsi-1.0 - ginv=1.0/grav - hrd=0.5*rrd + private rd, rg, rcpd, rcpv, rcw -end SUBROUTINE cv_thermo +contains + + SUBROUTINE cv_thermo + + ! Set thermodynamical constants for cv_driver + + use SUPHEC_M, only: rlvtt, rv + + !----------------------------------------------------- + + cpd = RCPD + cpv = RCPV + cl = RCW + rrv = RV + rrd = RD + t0 = 273.15 + + rowl = 1000. ! (\`A quelle variable de SUPHEC_M cela correspond-il ?) + eps = rd/rrv + epsi = 1.0/eps + epsim1 = epsi - 1.0 + + end SUBROUTINE cv_thermo + +end module cv_thermo_m