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

Contents of /trunk/phylmd/ini_histins.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 308 - (show annotations)
Tue Sep 18 15:14:40 2018 UTC (5 years, 8 months ago) by guez
File size: 14095 byte(s)
In procedure calcul_fluxs, rename coef1lay to cdragh (following
LMDZ). Use named constant min_wind_speed (following LMDZ).

Change name of NetCDF variable soll to CF standard rls.

1 module ini_histins_m
2
3 implicit none
4
5 integer, save:: nid_ins
6
7 contains
8
9 subroutine ini_histins(ok_newmicro)
10
11 ! From phylmd/ini_histins.h, version 1.2, 2005/05/25 13:10:09
12
13 use clesphys, only: ecrit_ins, ok_instan
14 use clesphys2, only: conv_emanuel
15 use comconst, only: dtphys
16 use dimensions, only: iim, jjm, llm, nqmx
17 use disvert_m, only: presnivs
18 use dynetat0_m, only: day_ref, annee_ref, rlatu, rlonv
19 USE histbeg_totreg_m, ONLY : histbeg_totreg
20 USE histdef_m, ONLY : histdef
21 USE histend_m, ONLY : histend
22 USE histvert_m, ONLY : histvert
23 use indicesol, only: nbsrf, clnsurf
24 use iniadvtrac_m, only: tname, ttext
25 use nr_util, only: pi
26 use phyetat0_m, only: itau_phy
27 USE ymds2ju_m, only: ymds2ju
28
29 logical, intent(in):: ok_newmicro
30
31 ! Local:
32 real zjulian, zsto, zout
33 integer nhori, nvert, nsrf, iq, it
34
35 !-------------------------------------------------------------------
36
37 print *, 'Call sequence information: ini_histins'
38
39 test_ok_instan: IF (ok_instan) THEN
40 zsto = dtphys * ecrit_ins
41 zout = dtphys * ecrit_ins
42 CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian)
43 CALL histbeg_totreg("histins", rlonv(:iim) / pi * 180., &
44 rlatu / pi * 180., 1, iim, &
45 1, jjm + 1, itau_phy, zjulian, dtphys, nhori, nid_ins)
46 print *, 'itau_phy = ', itau_phy
47 print *, "zjulian = ", zjulian
48 CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb", &
49 presnivs/100., nvert)
50
51 ! Once:
52 CALL histdef(nid_ins, "phis", "surface geopotential", "m2 s-2", &
53 iim, jjm + 1, nhori, 1, 1, 1, -99, &
54 "once", zsto, zout)
55 CALL histdef(nid_ins, "aire", "Grid area", "-", &
56 iim, jjm + 1, nhori, 1, 1, 1, -99, &
57 "once", zsto, zout)
58
59 ! Champs 2D:
60
61 CALL histdef(nid_ins, "tsol", "Surface Temperature", "K", &
62 iim, jjm + 1, nhori, 1, 1, 1, -99, &
63 "inst(X)", zsto, zout)
64 CALL histdef(nid_ins, "t2m", "Temperature 2m", "K", &
65 iim, jjm + 1, nhori, 1, 1, 1, -99, &
66 "inst(X)", zsto, zout)
67 CALL histdef(nid_ins, "q2m", "Specific humidity 2m", "Kg/Kg", &
68 iim, jjm + 1, nhori, 1, 1, 1, -99, &
69 "inst(X)", zsto, zout)
70 CALL histdef(nid_ins, "u10m", "Vent zonal 10m", "m/s", &
71 iim, jjm + 1, nhori, 1, 1, 1, -99, &
72 "inst(X)", zsto, zout)
73 CALL histdef(nid_ins, "v10m", "Vent meridien 10m", "m/s", &
74 iim, jjm + 1, nhori, 1, 1, 1, -99, &
75 "inst(X)", zsto, zout)
76 CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa", &
77 iim, jjm + 1, nhori, 1, 1, 1, -99, &
78 "inst(X)", zsto, zout)
79 CALL histdef(nid_ins, "plul", "Large-scale Precip.", "mm/day", &
80 iim, jjm + 1, nhori, 1, 1, 1, -99, &
81 "inst(X)", zsto, zout)
82 CALL histdef(nid_ins, "pluc", "Convective Precip.", "mm/day", &
83 iim, jjm + 1, nhori, 1, 1, 1, -99, &
84 "inst(X)", zsto, zout)
85 CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-", &
86 iim, jjm + 1, nhori, 1, 1, 1, -99, &
87 "inst(X)", zsto, zout)
88 CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-", &
89 iim, jjm + 1, nhori, 1, 1, 1, -99, &
90 "inst(X)", zsto, zout)
91 CALL histdef(nid_ins, "precip", "Precipitation Totale liq+sol", &
92 "kg/(s*m2)", &
93 iim, jjm + 1, nhori, 1, 1, 1, -99, &
94 "inst(X)", zsto, zout)
95 CALL histdef(nid_ins, "snow", "Snow fall", "kg/(s*m2)", &
96 iim, jjm + 1, nhori, 1, 1, 1, -99, &
97 "inst(X)", zsto, zout)
98 CALL histdef(nid_ins, "topl", "OLR", "W/m2", &
99 iim, jjm + 1, nhori, 1, 1, 1, -99, &
100 "inst(X)", zsto, zout)
101 CALL histdef(nid_ins, "evap", "Evaporation", "kg/(s*m2)", &
102 iim, jjm + 1, nhori, 1, 1, 1, -99, &
103 "inst(X)", zsto, zout)
104 CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2", &
105 iim, jjm + 1, nhori, 1, 1, 1, -99, &
106 "inst(X)", zsto, zout)
107 CALL histdef(nid_ins, "rls", "surface net downward longwave flux", &
108 "W/m2", iim, jjm + 1, nhori, 1, 1, 1, -99, "inst(X)", zsto, zout)
109 CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface", &
110 "W/m2", iim, jjm + 1, nhori, 1, 1, 1, -99, &
111 "inst(X)", zsto, zout)
112 CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2", &
113 iim, jjm + 1, nhori, 1, 1, 1, -99, &
114 "inst(X)", zsto, zout)
115 CALL histdef(nid_ins, "sens", "Sensible heat flux", "W/m2", &
116 iim, jjm + 1, nhori, 1, 1, 1, -99, &
117 "inst(X)", zsto, zout)
118 CALL histdef(nid_ins, "fder", "Heat flux derivation", "W/m2", &
119 iim, jjm + 1, nhori, 1, 1, 1, -99, &
120 "inst(X)", zsto, zout)
121 CALL histdef(nid_ins, "dtsvdfo", "Boundary-layer dTs(o)", "K/s", &
122 iim, jjm + 1, nhori, 1, 1, 1, -99, &
123 "inst(X)", zsto, zout)
124 CALL histdef(nid_ins, "dtsvdft", "Boundary-layer dTs(t)", "K/s", &
125 iim, jjm + 1, nhori, 1, 1, 1, -99, &
126 "inst(X)", zsto, zout)
127 CALL histdef(nid_ins, "dtsvdfg", "Boundary-layer dTs(g)", "K/s", &
128 iim, jjm + 1, nhori, 1, 1, 1, -99, &
129 "inst(X)", zsto, zout)
130 CALL histdef(nid_ins, "dtsvdfi", "Boundary-layer dTs(g)", "K/s", &
131 iim, jjm + 1, nhori, 1, 1, 1, -99, &
132 "inst(X)", zsto, zout)
133 CALL histdef(nid_ins, "msnow", "surface snow amount", "kg/m2", &
134 iim, jjm + 1, nhori, 1, 1, 1, -99, "inst(X)", zsto, zout)
135 CALL histdef(nid_ins, "zxfqcalving", "ice calving", "kg m-2 s-1", &
136 iim, jjm + 1, nhori, 1, 1, 1, -99, "inst(X)", zsto, zout)
137 CALL histdef(nid_ins, "run_off_lic", "land ice melt to ocean", &
138 "kg m-2 s-1", iim, jjm + 1, nhori, 1, 1, 1, -99, "inst(X)", zsto, &
139 zout)
140 CALL histdef(nid_ins, "flat", "latent heat flux", "W m-2", iim, &
141 jjm + 1, nhori, 1, 1, 1, -99, "inst(X)", zsto, zout)
142
143 DO nsrf = 1, nbsrf
144 call histdef(nid_ins, "pourc_"//clnsurf(nsrf), &
145 "% "//clnsurf(nsrf), "%", &
146 iim, jjm + 1, nhori, 1, 1, 1, -99, &
147 "inst(X)", zsto, zout)
148 call histdef(nid_ins, "fract_"//clnsurf(nsrf), &
149 "Fraction "//clnsurf(nsrf), "1", &
150 iim, jjm + 1, nhori, 1, 1, 1, -99, &
151 "inst(X)", zsto, zout)
152 call histdef(nid_ins, "sens_"//clnsurf(nsrf), &
153 "Sensible heat flux "//clnsurf(nsrf), "W/m2", &
154 iim, jjm + 1, nhori, 1, 1, 1, -99, &
155 "inst(X)", zsto, zout)
156 call histdef(nid_ins, "tsol_"//clnsurf(nsrf), &
157 "Surface Temperature"//clnsurf(nsrf), "W/m2", &
158 iim, jjm + 1, nhori, 1, 1, 1, -99, &
159 "inst(X)", zsto, zout)
160 call histdef(nid_ins, "lat_"//clnsurf(nsrf), &
161 "Latent heat flux "//clnsurf(nsrf), "W/m2", &
162 iim, jjm + 1, nhori, 1, 1, 1, -99, &
163 "inst(X)", zsto, zout)
164 call histdef(nid_ins, "taux_"//clnsurf(nsrf), &
165 "Zonal wind stress"//clnsurf(nsrf), "Pa", &
166 iim, jjm + 1, nhori, 1, 1, 1, -99, &
167 "inst(X)", zsto, zout)
168 call histdef(nid_ins, "tauy_"//clnsurf(nsrf), &
169 "Meridional xind stress "//clnsurf(nsrf), "Pa", &
170 iim, jjm + 1, nhori, 1, 1, 1, -99, &
171 "inst(X)", zsto, zout)
172 call histdef(nid_ins, "albe_"//clnsurf(nsrf), &
173 "Albedo "//clnsurf(nsrf), "-", &
174 iim, jjm + 1, nhori, 1, 1, 1, -99, &
175 "inst(X)", zsto, zout)
176 call histdef(nid_ins, "rugs_"//clnsurf(nsrf), &
177 "rugosite "//clnsurf(nsrf), "-", &
178 iim, jjm + 1, nhori, 1, 1, 1, -99, &
179 "inst(X)", zsto, zout)
180 call histdef(nid_ins, "u10m_"//clnsurf(nsrf), &
181 "zonal wind 10 m "//clnsurf(nsrf), "m s-1", &
182 iim, jjm + 1, nhori, 1, 1, 1, -99, &
183 "inst(X)", zsto, zout)
184 call histdef(nid_ins, "v10m_"//clnsurf(nsrf), &
185 "meridional wind 10 m "//clnsurf(nsrf), "m s-1", &
186 iim, jjm + 1, nhori, 1, 1, 1, -99, &
187 "inst(X)", zsto, zout)
188 END DO
189
190 CALL histdef(nid_ins, "rugs", "rugosity", "-", &
191 iim, jjm + 1, nhori, 1, 1, 1, -99, &
192 "inst(X)", zsto, zout)
193 CALL histdef(nid_ins, "albs", "Surface albedo", "-", &
194 iim, jjm + 1, nhori, 1, 1, 1, -99, &
195 "inst(X)", zsto, zout)
196 CALL histdef(nid_ins, "s_pblh", "Boundary Layer Height", "m", &
197 iim, jjm + 1, nhori, 1, 1, 1, -99, &
198 "inst(X)", zsto, zout)
199 CALL histdef(nid_ins, "s_pblt", "T at Boundary Layer Height", &
200 "K", &
201 iim, jjm + 1, nhori, 1, 1, 1, -99, &
202 "inst(X)", zsto, zout)
203 CALL histdef(nid_ins, "s_lcl", "Condensation level", "m", &
204 iim, jjm + 1, nhori, 1, 1, 1, -99, &
205 "inst(X)", zsto, zout)
206 CALL histdef(nid_ins, "s_capCL", &
207 "Convective available potential energy for atmospheric boundary " &
208 // "layer", "J/m2", iim, jjm + 1, nhori, 1, 1, 1, -99, &
209 "inst(X)", zsto, zout)
210 CALL histdef(nid_ins, "s_oliqCL", "Liq Water in BL", "kg/m2", &
211 iim, jjm + 1, nhori, 1, 1, 1, -99, &
212 "inst(X)", zsto, zout)
213 CALL histdef(nid_ins, "s_cteiCL", "Instability criteria (ABL)", "K", &
214 iim, jjm + 1, nhori, 1, 1, 1, -99, &
215 "inst(X)", zsto, zout)
216 CALL histdef(nid_ins, "s_therm", "Exces du thermique", "K", &
217 iim, jjm + 1, nhori, 1, 1, 1, -99, &
218 "inst(X)", zsto, zout)
219 CALL histdef(nid_ins, "qsurf", "Surface Air humidity", "", &
220 iim, jjm + 1, nhori, 1, 1, 1, -99, &
221 "inst(X)", zsto, zout)
222
223 if (conv_emanuel) then
224 CALL histdef(nid_ins, "ptop", "cloud top pressure", &
225 "Pa", iim, jjm + 1, nhori, 1, 1, 1, -99, "inst(X)", zsto, zout)
226 CALL histdef(nid_ins, "dnwd0", "unsaturated downdraft", &
227 "kg/m2/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
228 zsto, zout)
229 end if
230
231 ! Champs 3D:
232
233 CALL histdef(nid_ins, "tro3", "ozone mole fraction", "-", &
234 iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
235 CALL histdef(nid_ins, "temp", "Temperature", "K", &
236 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
237 "inst(X)", zsto, zout)
238 CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s", &
239 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
240 "inst(X)", zsto, zout)
241 CALL histdef(nid_ins, "vitv", "Merid wind", "m/s", &
242 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
243 "inst(X)", zsto, zout)
244 CALL histdef(nid_ins, "geop", "Geopotential height", "m", &
245 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
246 "inst(X)", zsto, zout)
247 CALL histdef(nid_ins, "pres", "Air pressure", "Pa", &
248 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
249 "inst(X)", zsto, zout)
250 CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s", &
251 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
252 "inst(X)", zsto, zout)
253 CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s", &
254 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
255 "inst(X)", zsto, zout)
256 CALL histdef(nid_ins, "zmasse", "column density of air in cell", &
257 "kg m-2", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
258 zsto, zout)
259 CALL histdef(nid_ins, "rhum", "Relative humidity", &
260 "", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
261 zsto, zout)
262 CALL histdef(nid_ins, "d_t_ec", "kinetic dissipation dT", &
263 "K/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
264 zsto, zout)
265 CALL histdef(nid_ins, "dtsw0", "CS SW radiation dT", &
266 "K/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
267 zsto, zout)
268 CALL histdef(nid_ins, "dtlw0", "CS LW radiation dT", &
269 "K/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
270 zsto, zout)
271
272 if (ok_newmicro) then
273 CALL histdef(nid_ins, "re", "cloud droplet effective radius", &
274 "micrometer", iim, jjm + 1, nhori, llm, 1, llm, nvert, &
275 "inst(X)", zsto, zout)
276 CALL histdef(nid_ins, "fl", &
277 "denominator of Cloud droplet effective radius", "", iim, &
278 jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
279 end if
280
281 DO it = 1, nqmx - 2
282 ! champ 2D
283 iq=it+2
284 CALL histdef(nid_ins, tname(iq), ttext(iq), "U/kga", iim, jjm+1, &
285 nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
286 CALL histdef(nid_ins, "fl"//tname(iq), "Flux "//ttext(iq), &
287 "U/m2/s", iim, jjm+1, nhori, llm, 1, llm, nvert, &
288 "inst(X)", zsto, zout)
289 CALL histdef(nid_ins, "d_tr_th_"//tname(iq), &
290 "tendance thermique"// ttext(iq), "?", &
291 iim, jjm+1, nhori, llm, 1, llm, nvert, &
292 "inst(X)", zsto, zout)
293 CALL histdef(nid_ins, "d_tr_cv_"//tname(iq), &
294 "tendance convection"// ttext(iq), "?", &
295 iim, jjm+1, nhori, llm, 1, llm, nvert, &
296 "inst(X)", zsto, zout)
297 CALL histdef(nid_ins, "d_tr_cl_"//tname(iq), &
298 "tendance couche limite"// ttext(iq), "?", &
299 iim, jjm+1, nhori, llm, 1, llm, nvert, &
300 "inst(X)", zsto, zout)
301 ENDDO
302
303 CALL histend(nid_ins)
304 ENDIF test_ok_instan
305
306 end subroutine ini_histins
307
308 end module ini_histins_m

  ViewVC Help
Powered by ViewVC 1.1.21