1 |
SUBROUTINE cv_thermo(iflag_con) |
module cv_thermo_m |
2 |
|
|
3 |
! Set thermodynamical constants for convectL |
! From LMDZ4/libf/phylmd/cvthermo.h, version 1.1.1.1 2004/05/19 12:53:09 |
4 |
|
! Thermodynamical constants for cv_driver |
5 |
|
|
6 |
use SUPHEC_M |
use SUPHEC_M, only: rd, rg, rcpd, rcpv, rcw, rv |
|
use cvthermo |
|
7 |
|
|
8 |
implicit none |
implicit none |
9 |
|
|
10 |
integer, intent(in):: iflag_con |
real, parameter:: rowl = 1000., t0 = 273.15 |
11 |
|
real, parameter:: clmcpv = rcw - rcpv, clmcpd = rcw - rcpd |
12 |
|
real, parameter:: cpdmcp = rcpd - rcpv |
13 |
|
real, parameter:: cpvmcpd = rcpv - rcpd, cpvmcl = rcw - rcpv |
14 |
|
real, parameter:: eps = rd / rv, epsi = 1. / eps, epsim1 = epsi - 1. |
15 |
|
real, parameter:: ginv = 1. / rg, hrd = 0.5 * rd |
16 |
|
|
17 |
!----------------------------------------------------- |
private rd, rg, rcpd, rcpv, rcw, rv |
18 |
|
|
19 |
! original set from convect: |
end module cv_thermo_m |
|
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 |
|
|
|
|
|
end SUBROUTINE cv_thermo |
|