1 |
SUBROUTINE cv_thermo |
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 |
|
use clesphys2, only: iflag_con |
|
|
use SUPHEC_M |
|
|
use cvthermo |
|
5 |
|
|
6 |
implicit none |
implicit none |
7 |
|
|
8 |
!----------------------------------------------------- |
real cpd, cpv, cl, rrv, rrd, lv0, g, rowl, t0 |
9 |
|
real clmcpv, clmcpd, cpdmcp, cpvmcpd, cpvmcl |
10 |
|
real eps, epsi, epsim1 |
11 |
|
real ginv, hrd |
12 |
|
real grav |
13 |
|
|
14 |
|
contains |
15 |
|
|
16 |
|
SUBROUTINE cv_thermo |
17 |
|
|
18 |
|
! Set thermodynamical constants for cv_driver |
19 |
|
|
20 |
|
use SUPHEC_M, only: rcpd, rcpv, rcw, rd, rg, rlvtt, rv |
21 |
|
|
22 |
|
!----------------------------------------------------- |
23 |
|
|
24 |
|
cpd = RCPD |
25 |
|
cpv = RCPV |
26 |
|
cl = RCW |
27 |
|
rrv = RV |
28 |
|
rrd = RD |
29 |
|
lv0 = RLVTT |
30 |
|
g = RG |
31 |
|
t0 = 273.15 |
32 |
|
grav= g |
33 |
|
|
34 |
|
rowl=1000. ! (\`A quelle variable de SUPHEC_M cela correspond-il ?) |
35 |
|
clmcpv=cl-cpv |
36 |
|
clmcpd=cl-cpd |
37 |
|
cpdmcp=cpd-cpv |
38 |
|
cpvmcpd=cpv-cpd |
39 |
|
cpvmcl=cl-cpv |
40 |
|
eps=rrd/rrv |
41 |
|
epsi=1.0/eps |
42 |
|
epsim1=epsi-1.0 |
43 |
|
ginv=1.0/grav |
44 |
|
hrd=0.5*rrd |
45 |
|
|
46 |
! original set from convect: |
end SUBROUTINE cv_thermo |
|
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 |
|
47 |
|
|
48 |
end SUBROUTINE cv_thermo |
end module cv_thermo_m |