1 |
module conf_phys_m |
2 |
|
3 |
implicit none |
4 |
|
5 |
integer:: iflag_pbl = 1 ! for the planetary boundary layer |
6 |
REAL:: rad_chau1 = 13., rad_chau2 = 9. |
7 |
|
8 |
contains |
9 |
|
10 |
subroutine conf_phys |
11 |
|
12 |
! From phylmd/conf_phys.F90, version 1.7 2005/07/05 07:21:23 |
13 |
|
14 |
! Configuration de la "physique" de LMDZ. |
15 |
|
16 |
USE clesphys, ONLY: cdhmax, cdmmax, cfc11_ppt, cfc12_ppt, ch4_ppb, & |
17 |
co2_ppm, ecrit_day, ecrit_hf, ecrit_hf2mth, ecrit_ins, ecrit_mth, & |
18 |
ecrit_reg, ecrit_tra, ksta, ksta_ter, latmax_ins, latmin_ins, & |
19 |
lev_histday, lev_histhf, lev_histmth, lonmax_ins, lonmin_ins, & |
20 |
n2o_ppb, ok_isccp, ok_kzmin, ok_regdyn, overlap, rcfc11, rcfc12, & |
21 |
rch4, rco2, rn2o, solaire, top_height, type_run |
22 |
use clesphys2, only: read_clesphys2 |
23 |
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 |
25 |
USE conema3_m, ONLY: epmax, iflag_clw, ok_adj_ema |
26 |
use unit_nml_m, only: unit_nml |
27 |
USE yomcst, ONLY: read_YOMCST |
28 |
|
29 |
namelist /conf_phys_nml/ solaire, co2_ppm, CH4_ppb, N2O_ppb, CFC11_ppt, & |
30 |
CFC12_ppt, epmax, ok_adj_ema, iflag_clw, cld_lc_lsc, cld_lc_con, & |
31 |
cld_tau_lsc, cld_tau_con, ffallv_lsc, ffallv_con, coef_eva, & |
32 |
reevap_ice, iflag_pdf, top_height, overlap, cdmmax, cdhmax, ksta, & |
33 |
ksta_ter, ok_kzmin, iflag_pbl, lev_histhf, lev_histday, lev_histmth, & |
34 |
type_run, ok_isccp, ok_regdyn, lonmin_ins, lonmax_ins, latmin_ins, & |
35 |
latmax_ins, ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day, ecrit_mth, & |
36 |
ecrit_tra, ecrit_reg |
37 |
|
38 |
namelist /nuagecom/ rad_chau1, rad_chau2 |
39 |
|
40 |
!----------------------------------------------------------- |
41 |
|
42 |
print *, "Call sequence information: conf_phys" |
43 |
call read_clesphys2 |
44 |
call read_YOMCST |
45 |
|
46 |
solaire = 1365. ! AMIP II |
47 |
co2_ppm = 348. ! AMIP II |
48 |
CH4_ppb = 1650. |
49 |
N2O_ppb = 306. |
50 |
CFC11_ppt = 280. |
51 |
CFC12_ppt = 484. |
52 |
epmax = .993 |
53 |
ok_adj_ema = .false. |
54 |
iflag_clw = 0 |
55 |
cld_lc_lsc = 2.6e-4 |
56 |
cld_lc_con = 2.6e-4 |
57 |
cld_tau_lsc = 3600. |
58 |
cld_tau_con = 3600. |
59 |
ffallv_lsc = 1. |
60 |
ffallv_con = 1. |
61 |
coef_eva = 2.e-5 |
62 |
reevap_ice = .false. |
63 |
iflag_pdf = 0 |
64 |
top_height = 3 |
65 |
overlap = 3 |
66 |
cdmmax = 1.3E-3 |
67 |
cdhmax = 1.1E-3 |
68 |
ksta = 1.0e-10 |
69 |
ksta_ter = 1.0e-10 |
70 |
ok_kzmin = .true. |
71 |
lev_histhf = 0 |
72 |
lev_histday = 1 |
73 |
lev_histmth = 2 |
74 |
type_run = 'AMIP' |
75 |
ok_isccp = .false. |
76 |
ok_regdyn = .false. |
77 |
lonmin_ins = 100. |
78 |
lonmax_ins = 130. |
79 |
latmin_ins = -20. |
80 |
latmax_ins = 20. |
81 |
ecrit_ins = NINT(86400./48.) |
82 |
ecrit_hf = NINT(86400. *0.25) |
83 |
ecrit_hf2mth = 4*30 ! ecriture mens. a partir de val. inst. toutes les 6h |
84 |
ecrit_day = 86400 |
85 |
ecrit_mth = 86400 |
86 |
ecrit_tra = 1 |
87 |
ecrit_reg = NINT(86400. *0.25) ! 4 fois par jour |
88 |
|
89 |
print *, "Enter namelist 'conf_phys_nml'." |
90 |
read(unit=*, nml=conf_phys_nml) |
91 |
write(unit_nml, nml=conf_phys_nml) |
92 |
|
93 |
RCO2 = co2_ppm * 1.0e-06 * 44.011/28.97 |
94 |
RCH4 = CH4_ppb * 1.0E-09 * 16.043/28.97 |
95 |
RN2O = N2O_ppb * 1.0E-09 * 44.013/28.97 |
96 |
RCFC11=CFC11_ppt* 1.0E-12 * 137.3686/28.97 |
97 |
RCFC12 = CFC12_ppt * 1.0E-12 * 120.9140/28.97 |
98 |
|
99 |
print *, ' RCO2 = ', RCO2 |
100 |
print *, ' RCH4 = ', RCH4 |
101 |
print *, ' RN2O = ', RN2O |
102 |
print *, ' RCFC11 = ', RCFC11 |
103 |
print *, ' RCFC12 = ', RCFC12 |
104 |
|
105 |
print *, "Enter namelist 'nuagecom'." |
106 |
read(unit=*, nml=nuagecom) |
107 |
write(unit_nml, nml=nuagecom) |
108 |
|
109 |
end subroutine conf_phys |
110 |
|
111 |
end module conf_phys_m |