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

Contents of /trunk/Sources/phylmd/ini_histins.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 183 - (show annotations)
Wed Mar 16 14:42:58 2016 UTC (8 years, 2 months ago) by guez
File size: 12670 byte(s)
Removed argument snow_con of concvl. Just set snow_con to 0 in physiq
instead of in concvl.

Removed unused argument cbmf1 of cv_driver.

Added computation and output of ptop (following LMDZ).

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

  ViewVC Help
Powered by ViewVC 1.1.21