/[lmdze]/trunk/phylmd/conf_phys.f
ViewVC logotype

Annotation of /trunk/phylmd/conf_phys.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 68 - (hide annotations)
Wed Nov 14 16:59:30 2012 UTC (11 years, 6 months ago) by guez
Original Path: trunk/libf/phylmd/conf_phys.f90
File size: 3575 byte(s)
Split "flincom.f90" into "flinclo.f90", "flinfindcood.f90",
"flininfo.f90" and "flinopen_nozoom.f90", in directory
"IOIPSL/Flincom".

Renamed "etat0_lim" to "ce0l", as in LMDZ.

Split "readsulfate.f" into "readsulfate.f90", "readsulfate_preind.f90"
and "getso4fromfile.f90".

In etat0, renamed variable q3d to q, as in "dynredem1". Replaced calls
to Flicom procedures by calls to NetCDF95.

In leapfrog, added call to writehist.

Extracted ASCII art from "grid_noro" into a file
"grid_noro.txt". Transformed explicit-shape local arrays into
automatic arrays, so that test on values of iim and jjm is no longer
needed. Test on weight:
          IF (weight(ii, jj) /= 0.) THEN
is useless. There is already a test before:
    if (any(weight == 0.)) stop "zero weight in grid_noro"

In "aeropt", replaced duplicated lines with different values of inu by
a loop on inu.

Removed arguments of "conf_phys". Corresponding variables are now
defined in "physiq", in a namelist. In "conf_phys", read a namelist
instead of using getin.

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

  ViewVC Help
Powered by ViewVC 1.1.21