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