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