2 |
|
|
3 |
implicit none |
implicit none |
4 |
|
|
5 |
integer:: iflag_pbl = 1 ! for the planetary boundary layer |
integer, protected:: iflag_pbl = 1 ! for the planetary boundary layer |
6 |
|
! 6 : Mellor and Yamada 2.0 |
7 |
|
! 8 : Mellor and Yamada 2.5 |
8 |
|
|
9 |
REAL:: rad_chau1 = 13., rad_chau2 = 9. |
REAL:: rad_chau1 = 13., rad_chau2 = 9. |
10 |
|
real:: epmax = 0.993 ! \'efficacit\'e de pr\'ecipitation |
11 |
|
integer:: iflag_clw = 0 |
12 |
|
|
13 |
contains |
contains |
14 |
|
|
18 |
|
|
19 |
! Configuration de la "physique" de LMDZ. |
! Configuration de la "physique" de LMDZ. |
20 |
|
|
21 |
USE clesphys, ONLY: cdhmax, cdmmax, cfc11_ppt, cfc12_ppt, ch4_ppb, & |
USE clesphys, ONLY: read_clesphys |
|
co2_ppm, ecrit_day, ecrit_hf, ecrit_hf2mth, ecrit_ins, ecrit_mth, & |
|
|
ecrit_reg, ecrit_tra, ksta, ksta_ter, latmax_ins, latmin_ins, & |
|
|
lev_histday, lev_histhf, lev_histmth, lonmax_ins, lonmin_ins, & |
|
|
n2o_ppb, ok_isccp, ok_kzmin, ok_regdyn, overlap, rcfc11, rcfc12, & |
|
|
rch4, rco2, rn2o, solaire, top_height, type_run |
|
22 |
use clesphys2, only: read_clesphys2 |
use clesphys2, only: read_clesphys2 |
23 |
USE comfisrtilp, ONLY: cld_lc_con, cld_lc_lsc, cld_tau_con, & |
USE comfisrtilp, ONLY: cld_lc_con, cld_lc_lsc, cld_tau_con, & |
24 |
cld_tau_lsc, coef_eva, ffallv_con, ffallv_lsc, iflag_pdf, reevap_ice |
cld_tau_lsc, coef_eva, ffallv_con, ffallv_lsc, iflag_pdf, reevap_ice |
25 |
USE conema3_m, ONLY: epmax, iflag_clw, ok_adj_ema |
use nr_util, only: assert |
26 |
use unit_nml_m, only: unit_nml |
use unit_nml_m, only: unit_nml |
27 |
USE yomcst, ONLY: read_YOMCST |
USE yomcst, ONLY: read_YOMCST |
28 |
|
|
29 |
namelist /conf_phys_nml/ solaire, co2_ppm, CH4_ppb, N2O_ppb, CFC11_ppt, & |
namelist /conf_phys_nml/ epmax, iflag_clw, cld_lc_lsc, cld_lc_con, & |
|
CFC12_ppt, epmax, ok_adj_ema, iflag_clw, cld_lc_lsc, cld_lc_con, & |
|
30 |
cld_tau_lsc, cld_tau_con, ffallv_lsc, ffallv_con, coef_eva, & |
cld_tau_lsc, cld_tau_con, ffallv_lsc, ffallv_con, coef_eva, & |
31 |
reevap_ice, iflag_pdf, top_height, overlap, cdmmax, cdhmax, ksta, & |
reevap_ice, iflag_pdf, iflag_pbl |
|
ksta_ter, ok_kzmin, iflag_pbl, lev_histhf, lev_histday, lev_histmth, & |
|
|
type_run, ok_isccp, ok_regdyn, lonmin_ins, lonmax_ins, latmin_ins, & |
|
|
latmax_ins, ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day, ecrit_mth, & |
|
|
ecrit_tra, ecrit_reg |
|
32 |
|
|
33 |
namelist /nuagecom/ rad_chau1, rad_chau2 |
namelist /nuagecom/ rad_chau1, rad_chau2 |
34 |
|
|
38 |
call read_clesphys2 |
call read_clesphys2 |
39 |
call read_YOMCST |
call read_YOMCST |
40 |
|
|
|
solaire = 1365. ! AMIP II |
|
|
co2_ppm = 348. ! AMIP II |
|
|
CH4_ppb = 1650. |
|
|
N2O_ppb = 306. |
|
|
CFC11_ppt = 280. |
|
|
CFC12_ppt = 484. |
|
|
epmax = .993 |
|
|
ok_adj_ema = .false. |
|
|
iflag_clw = 0 |
|
41 |
cld_lc_lsc = 2.6e-4 |
cld_lc_lsc = 2.6e-4 |
42 |
cld_lc_con = 2.6e-4 |
cld_lc_con = 2.6e-4 |
43 |
cld_tau_lsc = 3600. |
cld_tau_lsc = 3600. |
47 |
coef_eva = 2.e-5 |
coef_eva = 2.e-5 |
48 |
reevap_ice = .false. |
reevap_ice = .false. |
49 |
iflag_pdf = 0 |
iflag_pdf = 0 |
|
top_height = 3 |
|
|
overlap = 3 |
|
|
cdmmax = 1.3E-3 |
|
|
cdhmax = 1.1E-3 |
|
|
ksta = 1.0e-10 |
|
|
ksta_ter = 1.0e-10 |
|
|
ok_kzmin = .true. |
|
|
lev_histhf = 0 |
|
|
lev_histday = 1 |
|
|
lev_histmth = 2 |
|
|
type_run = 'AMIP' |
|
|
ok_isccp = .false. |
|
|
ok_regdyn = .false. |
|
|
lonmin_ins = 100. |
|
|
lonmax_ins = 130. |
|
|
latmin_ins = -20. |
|
|
latmax_ins = 20. |
|
|
ecrit_ins = NINT(86400./48.) |
|
|
ecrit_hf = NINT(86400. *0.25) |
|
|
ecrit_hf2mth = 4*30 ! ecriture mens. a partir de val. inst. toutes les 6h |
|
|
ecrit_day = 86400 |
|
|
ecrit_mth = 86400 |
|
|
ecrit_tra = 1 |
|
|
ecrit_reg = NINT(86400. *0.25) ! 4 fois par jour |
|
50 |
|
|
51 |
print *, "Enter namelist 'conf_phys_nml'." |
print *, "Enter namelist 'conf_phys_nml'." |
52 |
read(unit=*, nml=conf_phys_nml) |
read(unit=*, nml=conf_phys_nml) |
53 |
write(unit_nml, nml=conf_phys_nml) |
write(unit_nml, nml=conf_phys_nml) |
54 |
|
|
55 |
RCO2 = co2_ppm * 1.0e-06 * 44.011/28.97 |
call assert(any(iflag_pbl == [0, 1, 6, 8, 9]), & |
56 |
RCH4 = CH4_ppb * 1.0E-09 * 16.043/28.97 |
"conf_phys: bad value for iflag_pbl") |
57 |
RN2O = N2O_ppb * 1.0E-09 * 44.013/28.97 |
call read_clesphys |
|
RCFC11=CFC11_ppt* 1.0E-12 * 137.3686/28.97 |
|
|
RCFC12 = CFC12_ppt * 1.0E-12 * 120.9140/28.97 |
|
|
|
|
|
print *, ' RCO2 = ', RCO2 |
|
|
print *, ' RCH4 = ', RCH4 |
|
|
print *, ' RN2O = ', RN2O |
|
|
print *, ' RCFC11 = ', RCFC11 |
|
|
print *, ' RCFC12 = ', RCFC12 |
|
58 |
|
|
59 |
print *, "Enter namelist 'nuagecom'." |
print *, "Enter namelist 'nuagecom'." |
60 |
read(unit=*, nml=nuagecom) |
read(unit=*, nml=nuagecom) |