/[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 225 - (show annotations)
Mon Oct 16 12:35:41 2017 UTC (6 years, 6 months ago) by guez
File size: 14172 byte(s)
LMDZE is now in Fortran 2003 (use of allocatable arguments).

gradsdef was not used.

Change names: [uv]10m to [uv]10m_srf in clmain, y[uv]1 to
[uv]1lay. Remove useless complication: zx_alf[12]. Do not modify
[uv]1lay after initial definition from [uv].

Add [uv]10m_srf to output.

Change names in physiq: [uv]10m to [uv]10m_srf, z[uv]10m to [uv]10m,
corresponding to NetCDF output names.

Remove unused complication couchelimite and useless variable inirnpb
in phytrac.

1 module ini_histins_m
2
3 implicit none
4
5 integer, save:: nid_ins
6
7 contains
8
9 subroutine ini_histins(dtime, 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 dimens_m, only: iim, jjm, llm, nqmx
16 use disvert_m, only: presnivs
17 use dynetat0_m, only: day_ref, annee_ref, rlatu, rlonv
18 USE histbeg_totreg_m, ONLY : histbeg_totreg
19 USE histdef_m, ONLY : histdef
20 USE histend_m, ONLY : histend
21 USE histvert_m, ONLY : histvert
22 use indicesol, only: nbsrf, clnsurf
23 use iniadvtrac_m, only: tname, ttext
24 use nr_util, only: pi
25 use phyetat0_m, only: itau_phy
26 USE ymds2ju_m, only: ymds2ju
27
28 REAL, intent(in):: dtime ! pas temporel de la physique (s)
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 = dtime * ecrit_ins
41 zout = dtime * 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, dtime, 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 CALL histdef(nid_ins, "phis", "Surface geop. height", "-", &
52 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
53 "once", zsto, zout)
54 CALL histdef(nid_ins, "aire", "Grid area", "-", &
55 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
56 "once", zsto, zout)
57
58 ! Champs 2D:
59
60 CALL histdef(nid_ins, "tsol", "Surface Temperature", "K", &
61 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
62 "inst(X)", zsto, zout)
63 CALL histdef(nid_ins, "t2m", "Temperature 2m", "K", &
64 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
65 "inst(X)", zsto, zout)
66 CALL histdef(nid_ins, "q2m", "Specific humidity 2m", "Kg/Kg", &
67 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
68 "inst(X)", zsto, zout)
69 CALL histdef(nid_ins, "u10m", "Vent zonal 10m", "m/s", &
70 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
71 "inst(X)", zsto, zout)
72 CALL histdef(nid_ins, "v10m", "Vent meridien 10m", "m/s", &
73 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
74 "inst(X)", zsto, zout)
75 CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa", &
76 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
77 "inst(X)", zsto, zout)
78 CALL histdef(nid_ins, "plul", "Large-scale Precip.", "mm/day", &
79 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
80 "inst(X)", zsto, zout)
81 CALL histdef(nid_ins, "pluc", "Convective Precip.", "mm/day", &
82 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
83 "inst(X)", zsto, zout)
84 CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-", &
85 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
86 "inst(X)", zsto, zout)
87 CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-", &
88 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
89 "inst(X)", zsto, zout)
90 CALL histdef(nid_ins, "precip", "Precipitation Totale liq+sol", &
91 "kg/(s*m2)", &
92 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
93 "inst(X)", zsto, zout)
94 CALL histdef(nid_ins, "snow", "Snow fall", "kg/(s*m2)", &
95 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
96 "inst(X)", zsto, zout)
97 CALL histdef(nid_ins, "topl", "OLR", "W/m2", &
98 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
99 "inst(X)", zsto, zout)
100 CALL histdef(nid_ins, "evap", "Evaporation", "kg/(s*m2)", &
101 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
102 "inst(X)", zsto, zout)
103 CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2", &
104 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
105 "inst(X)", zsto, zout)
106 CALL histdef(nid_ins, "soll", "IR rad. at surface", "W/m2", &
107 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
108 "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
136 DO nsrf = 1, nbsrf
137 call histdef(nid_ins, "pourc_"//clnsurf(nsrf), &
138 "% "//clnsurf(nsrf), "%", &
139 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
140 "inst(X)", zsto, zout)
141 call histdef(nid_ins, "fract_"//clnsurf(nsrf), &
142 "Fraction "//clnsurf(nsrf), "1", &
143 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
144 "inst(X)", zsto, zout)
145 call histdef(nid_ins, "sens_"//clnsurf(nsrf), &
146 "Sensible heat flux "//clnsurf(nsrf), "W/m2", &
147 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
148 "inst(X)", zsto, zout)
149 call histdef(nid_ins, "tsol_"//clnsurf(nsrf), &
150 "Surface Temperature"//clnsurf(nsrf), "W/m2", &
151 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
152 "inst(X)", zsto, zout)
153 call histdef(nid_ins, "lat_"//clnsurf(nsrf), &
154 "Latent heat flux "//clnsurf(nsrf), "W/m2", &
155 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
156 "inst(X)", zsto, zout)
157 call histdef(nid_ins, "taux_"//clnsurf(nsrf), &
158 "Zonal wind stress"//clnsurf(nsrf), "Pa", &
159 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
160 "inst(X)", zsto, zout)
161 call histdef(nid_ins, "tauy_"//clnsurf(nsrf), &
162 "Meridional xind stress "//clnsurf(nsrf), "Pa", &
163 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
164 "inst(X)", zsto, zout)
165 call histdef(nid_ins, "albe_"//clnsurf(nsrf), &
166 "Albedo "//clnsurf(nsrf), "-", &
167 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
168 "inst(X)", zsto, zout)
169 call histdef(nid_ins, "rugs_"//clnsurf(nsrf), &
170 "rugosite "//clnsurf(nsrf), "-", &
171 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
172 "inst(X)", zsto, zout)
173 call histdef(nid_ins, "u10m_"//clnsurf(nsrf), &
174 "zonal wind 10 m "//clnsurf(nsrf), "m s-1", &
175 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
176 "inst(X)", zsto, zout)
177 call histdef(nid_ins, "v10m_"//clnsurf(nsrf), &
178 "meridional wind 10 m "//clnsurf(nsrf), "m s-1", &
179 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
180 "inst(X)", zsto, zout)
181 END DO
182
183 CALL histdef(nid_ins, "rugs", "rugosity", "-", &
184 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
185 "inst(X)", zsto, zout)
186 CALL histdef(nid_ins, "albs", "Surface albedo", "-", &
187 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
188 "inst(X)", zsto, zout)
189 CALL histdef(nid_ins, "s_pblh", "Boundary Layer Height", "m", &
190 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
191 "inst(X)", zsto, zout)
192 CALL histdef(nid_ins, "s_pblt", "T at Boundary Layer Height", &
193 "K", &
194 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
195 "inst(X)", zsto, zout)
196 CALL histdef(nid_ins, "s_lcl", "Condensation level", "m", &
197 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
198 "inst(X)", zsto, zout)
199 CALL histdef(nid_ins, "s_capCL", "Conv avlbl pot ener for ABL", "J/m2", &
200 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
201 "inst(X)", zsto, zout)
202 CALL histdef(nid_ins, "s_oliqCL", "Liq Water in BL", "kg/m2", &
203 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
204 "inst(X)", zsto, zout)
205 CALL histdef(nid_ins, "s_cteiCL", "Instability criteria (ABL)", "K", &
206 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
207 "inst(X)", zsto, zout)
208 CALL histdef(nid_ins, "s_therm", "Exces du thermique", "K", &
209 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
210 "inst(X)", zsto, zout)
211 CALL histdef(nid_ins, "s_trmb1", "deep_cape(HBTM2)", "J/m2", &
212 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
213 "inst(X)", zsto, zout)
214 CALL histdef(nid_ins, "s_trmb2", "inhibition (HBTM2)", "J/m2", &
215 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
216 "inst(X)", zsto, zout)
217 CALL histdef(nid_ins, "s_trmb3", "Point Omega (HBTM2)", "m", &
218 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
219 "inst(X)", zsto, zout)
220 CALL histdef(nid_ins, "qsurf", "Surface Air humidity", "", &
221 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
222 "inst(X)", zsto, zout)
223
224 if (conv_emanuel) then
225 CALL histdef(nid_ins, "ptop", "cloud top pressure", &
226 "Pa", iim, jjm + 1, nhori, 1, 1, 1, -99, "inst(X)", zsto, zout)
227 CALL histdef(nid_ins, "dnwd0", "unsaturated downdraft", &
228 "kg/m2/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
229 zsto, zout)
230 end if
231
232 ! Champs 3D:
233
234 CALL histdef(nid_ins, "tro3", "ozone mole fraction", "-", &
235 iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
236 CALL histdef(nid_ins, "temp", "Temperature", "K", &
237 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
238 "inst(X)", zsto, zout)
239 CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s", &
240 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
241 "inst(X)", zsto, zout)
242 CALL histdef(nid_ins, "vitv", "Merid wind", "m/s", &
243 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
244 "inst(X)", zsto, zout)
245 CALL histdef(nid_ins, "geop", "Geopotential height", "m", &
246 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
247 "inst(X)", zsto, zout)
248 CALL histdef(nid_ins, "pres", "Air pressure", "Pa", &
249 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
250 "inst(X)", zsto, zout)
251 CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s", &
252 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
253 "inst(X)", zsto, zout)
254 CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s", &
255 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
256 "inst(X)", zsto, zout)
257 CALL histdef(nid_ins, "zmasse", "column density of air in cell", &
258 "kg m-2", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
259 zsto, zout)
260 CALL histdef(nid_ins, "rhum", "Relative humidity", &
261 "", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
262 zsto, zout)
263 CALL histdef(nid_ins, "d_t_ec", "kinetic dissipation dT", &
264 "K/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
265 zsto, zout)
266 CALL histdef(nid_ins, "dtsw0", "CS SW radiation dT", &
267 "K/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
268 zsto, zout)
269 CALL histdef(nid_ins, "dtlw0", "CS LW radiation dT", &
270 "K/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
271 zsto, zout)
272
273 if (ok_newmicro) then
274 CALL histdef(nid_ins, "re", "cloud droplet effective radius", &
275 "micrometer", iim, jjm + 1, nhori, llm, 1, llm, nvert, &
276 "inst(X)", zsto, zout)
277 CALL histdef(nid_ins, "fl", &
278 "denominator of Cloud droplet effective radius", "", iim, &
279 jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
280 end if
281
282 DO it = 1, nqmx - 2
283 ! champ 2D
284 iq=it+2
285 CALL histdef(nid_ins, tname(iq), ttext(iq), "U/kga", iim, jjm+1, &
286 nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
287 CALL histdef(nid_ins, "fl"//tname(iq), "Flux "//ttext(iq), &
288 "U/m2/s", iim, jjm+1, nhori, llm, 1, llm, nvert, &
289 "inst(X)", zsto, zout)
290 CALL histdef(nid_ins, "d_tr_th_"//tname(iq), &
291 "tendance thermique"// ttext(iq), "?", &
292 iim, jjm+1, nhori, llm, 1, llm, nvert, &
293 "inst(X)", zsto, zout)
294 CALL histdef(nid_ins, "d_tr_cv_"//tname(iq), &
295 "tendance convection"// ttext(iq), "?", &
296 iim, jjm+1, nhori, llm, 1, llm, nvert, &
297 "inst(X)", zsto, zout)
298 CALL histdef(nid_ins, "d_tr_cl_"//tname(iq), &
299 "tendance couche limite"// ttext(iq), "?", &
300 iim, jjm+1, nhori, llm, 1, llm, nvert, &
301 "inst(X)", zsto, zout)
302 ENDDO
303
304 CALL histend(nid_ins)
305 ENDIF test_ok_instan
306
307 end subroutine ini_histins
308
309 end module ini_histins_m

  ViewVC Help
Powered by ViewVC 1.1.21