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

Contents of /trunk/phylmd/ini_histins.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 309 - (show annotations)
Thu Sep 27 14:58:10 2018 UTC (5 years, 7 months ago) by guez
File size: 13900 byte(s)
Remove variable pourc_* in histins.nc, redundant with fract_*.

In procedure physiq, change the meaning of variable "sens" to avoid
changing the sign several times needlessly. Also the meaning of
variable "sens" in physiq is now the same than the meaning of netCDF
variable "sens". Also the convention for "sens" is now the same than
for radsol, zxfluxlat, and flux_t.

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, "fract_"//clnsurf(nsrf), &
145 "Fraction "//clnsurf(nsrf), "1", &
146 iim, jjm + 1, nhori, 1, 1, 1, -99, &
147 "inst(X)", zsto, zout)
148 call histdef(nid_ins, "sens_"//clnsurf(nsrf), &
149 "Sensible heat flux "//clnsurf(nsrf), "W/m2", &
150 iim, jjm + 1, nhori, 1, 1, 1, -99, &
151 "inst(X)", zsto, zout)
152 call histdef(nid_ins, "tsol_"//clnsurf(nsrf), &
153 "Surface Temperature"//clnsurf(nsrf), "W/m2", &
154 iim, jjm + 1, nhori, 1, 1, 1, -99, &
155 "inst(X)", zsto, zout)
156 call histdef(nid_ins, "lat_"//clnsurf(nsrf), &
157 "Latent heat flux "//clnsurf(nsrf), "W/m2", &
158 iim, jjm + 1, nhori, 1, 1, 1, -99, &
159 "inst(X)", zsto, zout)
160 call histdef(nid_ins, "taux_"//clnsurf(nsrf), &
161 "Zonal wind stress"//clnsurf(nsrf), "Pa", &
162 iim, jjm + 1, nhori, 1, 1, 1, -99, &
163 "inst(X)", zsto, zout)
164 call histdef(nid_ins, "tauy_"//clnsurf(nsrf), &
165 "Meridional xind stress "//clnsurf(nsrf), "Pa", &
166 iim, jjm + 1, nhori, 1, 1, 1, -99, &
167 "inst(X)", zsto, zout)
168 call histdef(nid_ins, "albe_"//clnsurf(nsrf), &
169 "Albedo "//clnsurf(nsrf), "-", &
170 iim, jjm + 1, nhori, 1, 1, 1, -99, &
171 "inst(X)", zsto, zout)
172 call histdef(nid_ins, "rugs_"//clnsurf(nsrf), &
173 "rugosite "//clnsurf(nsrf), "-", &
174 iim, jjm + 1, nhori, 1, 1, 1, -99, &
175 "inst(X)", zsto, zout)
176 call histdef(nid_ins, "u10m_"//clnsurf(nsrf), &
177 "zonal wind 10 m "//clnsurf(nsrf), "m s-1", &
178 iim, jjm + 1, nhori, 1, 1, 1, -99, &
179 "inst(X)", zsto, zout)
180 call histdef(nid_ins, "v10m_"//clnsurf(nsrf), &
181 "meridional wind 10 m "//clnsurf(nsrf), "m s-1", &
182 iim, jjm + 1, nhori, 1, 1, 1, -99, &
183 "inst(X)", zsto, zout)
184 END DO
185
186 CALL histdef(nid_ins, "rugs", "rugosity", "-", &
187 iim, jjm + 1, nhori, 1, 1, 1, -99, &
188 "inst(X)", zsto, zout)
189 CALL histdef(nid_ins, "albs", "Surface albedo", "-", &
190 iim, jjm + 1, nhori, 1, 1, 1, -99, &
191 "inst(X)", zsto, zout)
192 CALL histdef(nid_ins, "s_pblh", "Boundary Layer Height", "m", &
193 iim, jjm + 1, nhori, 1, 1, 1, -99, &
194 "inst(X)", zsto, zout)
195 CALL histdef(nid_ins, "s_pblt", "T at Boundary Layer Height", &
196 "K", &
197 iim, jjm + 1, nhori, 1, 1, 1, -99, &
198 "inst(X)", zsto, zout)
199 CALL histdef(nid_ins, "s_lcl", "Condensation level", "m", &
200 iim, jjm + 1, nhori, 1, 1, 1, -99, &
201 "inst(X)", zsto, zout)
202 CALL histdef(nid_ins, "s_capCL", &
203 "Convective available potential energy for atmospheric boundary " &
204 // "layer", "J/m2", iim, jjm + 1, nhori, 1, 1, 1, -99, &
205 "inst(X)", zsto, zout)
206 CALL histdef(nid_ins, "s_oliqCL", "Liq Water in BL", "kg/m2", &
207 iim, jjm + 1, nhori, 1, 1, 1, -99, &
208 "inst(X)", zsto, zout)
209 CALL histdef(nid_ins, "s_cteiCL", "Instability criteria (ABL)", "K", &
210 iim, jjm + 1, nhori, 1, 1, 1, -99, &
211 "inst(X)", zsto, zout)
212 CALL histdef(nid_ins, "s_therm", "Exces du thermique", "K", &
213 iim, jjm + 1, nhori, 1, 1, 1, -99, &
214 "inst(X)", zsto, zout)
215 CALL histdef(nid_ins, "qsurf", "Surface Air humidity", "", &
216 iim, jjm + 1, nhori, 1, 1, 1, -99, &
217 "inst(X)", zsto, zout)
218
219 if (conv_emanuel) then
220 CALL histdef(nid_ins, "ptop", "cloud top pressure", &
221 "Pa", iim, jjm + 1, nhori, 1, 1, 1, -99, "inst(X)", zsto, zout)
222 CALL histdef(nid_ins, "dnwd0", "unsaturated downdraft", &
223 "kg/m2/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
224 zsto, zout)
225 end if
226
227 ! Champs 3D:
228
229 CALL histdef(nid_ins, "tro3", "ozone mole fraction", "-", &
230 iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
231 CALL histdef(nid_ins, "temp", "Temperature", "K", &
232 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
233 "inst(X)", zsto, zout)
234 CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s", &
235 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
236 "inst(X)", zsto, zout)
237 CALL histdef(nid_ins, "vitv", "Merid wind", "m/s", &
238 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
239 "inst(X)", zsto, zout)
240 CALL histdef(nid_ins, "geop", "Geopotential height", "m", &
241 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
242 "inst(X)", zsto, zout)
243 CALL histdef(nid_ins, "pres", "Air pressure", "Pa", &
244 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
245 "inst(X)", zsto, zout)
246 CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s", &
247 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
248 "inst(X)", zsto, zout)
249 CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s", &
250 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
251 "inst(X)", zsto, zout)
252 CALL histdef(nid_ins, "zmasse", "column density of air in cell", &
253 "kg m-2", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
254 zsto, zout)
255 CALL histdef(nid_ins, "rhum", "Relative humidity", &
256 "", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
257 zsto, zout)
258 CALL histdef(nid_ins, "d_t_ec", "kinetic dissipation dT", &
259 "K/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
260 zsto, zout)
261 CALL histdef(nid_ins, "dtsw0", "CS SW radiation dT", &
262 "K/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
263 zsto, zout)
264 CALL histdef(nid_ins, "dtlw0", "CS LW radiation dT", &
265 "K/s", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
266 zsto, zout)
267
268 if (ok_newmicro) then
269 CALL histdef(nid_ins, "re", "cloud droplet effective radius", &
270 "micrometer", iim, jjm + 1, nhori, llm, 1, llm, nvert, &
271 "inst(X)", zsto, zout)
272 CALL histdef(nid_ins, "fl", &
273 "denominator of Cloud droplet effective radius", "", iim, &
274 jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
275 end if
276
277 DO it = 1, nqmx - 2
278 ! champ 2D
279 iq=it+2
280 CALL histdef(nid_ins, tname(iq), ttext(iq), "U/kga", iim, jjm+1, &
281 nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
282 CALL histdef(nid_ins, "fl"//tname(iq), "Flux "//ttext(iq), &
283 "U/m2/s", iim, jjm+1, nhori, llm, 1, llm, nvert, &
284 "inst(X)", zsto, zout)
285 CALL histdef(nid_ins, "d_tr_th_"//tname(iq), &
286 "tendance thermique"// ttext(iq), "?", &
287 iim, jjm+1, nhori, llm, 1, llm, nvert, &
288 "inst(X)", zsto, zout)
289 CALL histdef(nid_ins, "d_tr_cv_"//tname(iq), &
290 "tendance convection"// ttext(iq), "?", &
291 iim, jjm+1, nhori, llm, 1, llm, nvert, &
292 "inst(X)", zsto, zout)
293 CALL histdef(nid_ins, "d_tr_cl_"//tname(iq), &
294 "tendance couche limite"// ttext(iq), "?", &
295 iim, jjm+1, nhori, llm, 1, llm, nvert, &
296 "inst(X)", zsto, zout)
297 ENDDO
298
299 CALL histend(nid_ins)
300 ENDIF test_ok_instan
301
302 end subroutine ini_histins
303
304 end module ini_histins_m

  ViewVC Help
Powered by ViewVC 1.1.21