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

Annotation of /trunk/phylmd/ini_histins.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 309 - (hide annotations)
Thu Sep 27 14:58:10 2018 UTC (5 years, 8 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 guez 34 module ini_histins_m
2    
3     implicit none
4    
5 guez 191 integer, save:: nid_ins
6    
7 guez 34 contains
8    
9 guez 298 subroutine ini_histins(ok_newmicro)
10 guez 34
11 guez 213 ! From phylmd/ini_histins.h, version 1.2, 2005/05/25 13:10:09
12 guez 34
13 guez 191 use clesphys, only: ecrit_ins, ok_instan
14 guez 183 use clesphys2, only: conv_emanuel
15 guez 298 use comconst, only: dtphys
16 guez 265 use dimensions, only: iim, jjm, llm, nqmx
17 guez 92 use disvert_m, only: presnivs
18 guez 190 use dynetat0_m, only: day_ref, annee_ref, rlatu, rlonv
19 guez 61 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 guez 92 use indicesol, only: nbsrf, clnsurf
24 guez 159 use iniadvtrac_m, only: tname, ttext
25 guez 190 use nr_util, only: pi
26 guez 191 use phyetat0_m, only: itau_phy
27 guez 92 USE ymds2ju_m, only: ymds2ju
28 guez 34
29 guez 217 logical, intent(in):: ok_newmicro
30    
31 guez 175 ! Local:
32 guez 34 real zjulian, zsto, zout
33 guez 190 integer nhori, nvert, nsrf, iq, it
34 guez 34
35     !-------------------------------------------------------------------
36    
37 guez 213 print *, 'Call sequence information: ini_histins'
38    
39 guez 215 test_ok_instan: IF (ok_instan) THEN
40 guez 298 zsto = dtphys * ecrit_ins
41     zout = dtphys * ecrit_ins
42 guez 129 CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian)
43 guez 190 CALL histbeg_totreg("histins", rlonv(:iim) / pi * 180., &
44     rlatu / pi * 180., 1, iim, &
45 guez 298 1, jjm + 1, itau_phy, zjulian, dtphys, nhori, nid_ins)
46 guez 213 print *, 'itau_phy = ', itau_phy
47     print *, "zjulian = ", zjulian
48 guez 34 CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb", &
49 guez 67 presnivs/100., nvert)
50 guez 213
51 guez 306 ! Once:
52 guez 227 CALL histdef(nid_ins, "phis", "surface geopotential", "m2 s-2", &
53 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
54 guez 34 "once", zsto, zout)
55     CALL histdef(nid_ins, "aire", "Grid area", "-", &
56 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
57 guez 34 "once", zsto, zout)
58    
59     ! Champs 2D:
60    
61     CALL histdef(nid_ins, "tsol", "Surface Temperature", "K", &
62 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
63 guez 34 "inst(X)", zsto, zout)
64     CALL histdef(nid_ins, "t2m", "Temperature 2m", "K", &
65 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
66 guez 34 "inst(X)", zsto, zout)
67     CALL histdef(nid_ins, "q2m", "Specific humidity 2m", "Kg/Kg", &
68 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
69 guez 34 "inst(X)", zsto, zout)
70     CALL histdef(nid_ins, "u10m", "Vent zonal 10m", "m/s", &
71 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
72 guez 34 "inst(X)", zsto, zout)
73     CALL histdef(nid_ins, "v10m", "Vent meridien 10m", "m/s", &
74 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
75 guez 34 "inst(X)", zsto, zout)
76     CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa", &
77 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
78 guez 34 "inst(X)", zsto, zout)
79     CALL histdef(nid_ins, "plul", "Large-scale Precip.", "mm/day", &
80 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
81 guez 34 "inst(X)", zsto, zout)
82     CALL histdef(nid_ins, "pluc", "Convective Precip.", "mm/day", &
83 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
84 guez 34 "inst(X)", zsto, zout)
85     CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-", &
86 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
87 guez 34 "inst(X)", zsto, zout)
88     CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-", &
89 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
90 guez 34 "inst(X)", zsto, zout)
91     CALL histdef(nid_ins, "precip", "Precipitation Totale liq+sol", &
92     "kg/(s*m2)", &
93 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
94 guez 34 "inst(X)", zsto, zout)
95     CALL histdef(nid_ins, "snow", "Snow fall", "kg/(s*m2)", &
96 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
97 guez 34 "inst(X)", zsto, zout)
98     CALL histdef(nid_ins, "topl", "OLR", "W/m2", &
99 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
100 guez 34 "inst(X)", zsto, zout)
101     CALL histdef(nid_ins, "evap", "Evaporation", "kg/(s*m2)", &
102 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
103 guez 34 "inst(X)", zsto, zout)
104     CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2", &
105 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
106 guez 34 "inst(X)", zsto, zout)
107 guez 308 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 guez 34 CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface", &
110 guez 306 "W/m2", iim, jjm + 1, nhori, 1, 1, 1, -99, &
111 guez 34 "inst(X)", zsto, zout)
112     CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2", &
113 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
114 guez 34 "inst(X)", zsto, zout)
115     CALL histdef(nid_ins, "sens", "Sensible heat flux", "W/m2", &
116 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
117 guez 34 "inst(X)", zsto, zout)
118     CALL histdef(nid_ins, "fder", "Heat flux derivation", "W/m2", &
119 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
120 guez 34 "inst(X)", zsto, zout)
121     CALL histdef(nid_ins, "dtsvdfo", "Boundary-layer dTs(o)", "K/s", &
122 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
123 guez 34 "inst(X)", zsto, zout)
124     CALL histdef(nid_ins, "dtsvdft", "Boundary-layer dTs(t)", "K/s", &
125 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
126 guez 34 "inst(X)", zsto, zout)
127     CALL histdef(nid_ins, "dtsvdfg", "Boundary-layer dTs(g)", "K/s", &
128 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
129 guez 34 "inst(X)", zsto, zout)
130     CALL histdef(nid_ins, "dtsvdfi", "Boundary-layer dTs(g)", "K/s", &
131 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
132 guez 34 "inst(X)", zsto, zout)
133 guez 215 CALL histdef(nid_ins, "msnow", "surface snow amount", "kg/m2", &
134     iim, jjm + 1, nhori, 1, 1, 1, -99, "inst(X)", zsto, zout)
135 guez 279 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 guez 301 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 guez 306 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 guez 34
143     DO nsrf = 1, nbsrf
144     call histdef(nid_ins, "fract_"//clnsurf(nsrf), &
145     "Fraction "//clnsurf(nsrf), "1", &
146 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
147 guez 34 "inst(X)", zsto, zout)
148     call histdef(nid_ins, "sens_"//clnsurf(nsrf), &
149     "Sensible heat flux "//clnsurf(nsrf), "W/m2", &
150 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
151 guez 34 "inst(X)", zsto, zout)
152     call histdef(nid_ins, "tsol_"//clnsurf(nsrf), &
153     "Surface Temperature"//clnsurf(nsrf), "W/m2", &
154 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
155 guez 34 "inst(X)", zsto, zout)
156     call histdef(nid_ins, "lat_"//clnsurf(nsrf), &
157     "Latent heat flux "//clnsurf(nsrf), "W/m2", &
158 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
159 guez 34 "inst(X)", zsto, zout)
160     call histdef(nid_ins, "taux_"//clnsurf(nsrf), &
161     "Zonal wind stress"//clnsurf(nsrf), "Pa", &
162 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
163 guez 34 "inst(X)", zsto, zout)
164     call histdef(nid_ins, "tauy_"//clnsurf(nsrf), &
165     "Meridional xind stress "//clnsurf(nsrf), "Pa", &
166 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
167 guez 34 "inst(X)", zsto, zout)
168     call histdef(nid_ins, "albe_"//clnsurf(nsrf), &
169     "Albedo "//clnsurf(nsrf), "-", &
170 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
171 guez 34 "inst(X)", zsto, zout)
172     call histdef(nid_ins, "rugs_"//clnsurf(nsrf), &
173     "rugosite "//clnsurf(nsrf), "-", &
174 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
175 guez 34 "inst(X)", zsto, zout)
176 guez 225 call histdef(nid_ins, "u10m_"//clnsurf(nsrf), &
177     "zonal wind 10 m "//clnsurf(nsrf), "m s-1", &
178 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
179 guez 225 "inst(X)", zsto, zout)
180     call histdef(nid_ins, "v10m_"//clnsurf(nsrf), &
181     "meridional wind 10 m "//clnsurf(nsrf), "m s-1", &
182 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
183 guez 225 "inst(X)", zsto, zout)
184 guez 34 END DO
185 guez 206
186 guez 34 CALL histdef(nid_ins, "rugs", "rugosity", "-", &
187 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
188 guez 34 "inst(X)", zsto, zout)
189     CALL histdef(nid_ins, "albs", "Surface albedo", "-", &
190 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
191 guez 34 "inst(X)", zsto, zout)
192     CALL histdef(nid_ins, "s_pblh", "Boundary Layer Height", "m", &
193 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
194 guez 34 "inst(X)", zsto, zout)
195     CALL histdef(nid_ins, "s_pblt", "T at Boundary Layer Height", &
196     "K", &
197 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
198 guez 34 "inst(X)", zsto, zout)
199     CALL histdef(nid_ins, "s_lcl", "Condensation level", "m", &
200 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
201 guez 34 "inst(X)", zsto, zout)
202 guez 259 CALL histdef(nid_ins, "s_capCL", &
203     "Convective available potential energy for atmospheric boundary " &
204 guez 306 // "layer", "J/m2", iim, jjm + 1, nhori, 1, 1, 1, -99, &
205 guez 34 "inst(X)", zsto, zout)
206     CALL histdef(nid_ins, "s_oliqCL", "Liq Water in BL", "kg/m2", &
207 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
208 guez 34 "inst(X)", zsto, zout)
209     CALL histdef(nid_ins, "s_cteiCL", "Instability criteria (ABL)", "K", &
210 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
211 guez 34 "inst(X)", zsto, zout)
212     CALL histdef(nid_ins, "s_therm", "Exces du thermique", "K", &
213 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
214 guez 34 "inst(X)", zsto, zout)
215 guez 221 CALL histdef(nid_ins, "qsurf", "Surface Air humidity", "", &
216 guez 306 iim, jjm + 1, nhori, 1, 1, 1, -99, &
217 guez 221 "inst(X)", zsto, zout)
218 guez 34
219 guez 206 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 guez 34
227     ! Champs 3D:
228    
229 guez 212 CALL histdef(nid_ins, "tro3", "ozone mole fraction", "-", &
230     iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
231 guez 34 CALL histdef(nid_ins, "temp", "Temperature", "K", &
232 guez 306 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
233 guez 34 "inst(X)", zsto, zout)
234     CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s", &
235 guez 306 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
236 guez 34 "inst(X)", zsto, zout)
237     CALL histdef(nid_ins, "vitv", "Merid wind", "m/s", &
238 guez 306 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
239 guez 34 "inst(X)", zsto, zout)
240     CALL histdef(nid_ins, "geop", "Geopotential height", "m", &
241 guez 306 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
242 guez 34 "inst(X)", zsto, zout)
243     CALL histdef(nid_ins, "pres", "Air pressure", "Pa", &
244 guez 306 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
245 guez 34 "inst(X)", zsto, zout)
246     CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s", &
247 guez 306 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
248 guez 34 "inst(X)", zsto, zout)
249     CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s", &
250 guez 306 iim, jjm + 1, nhori, llm, 1, llm, nvert, &
251 guez 34 "inst(X)", zsto, zout)
252 guez 159 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 guez 178 CALL histdef(nid_ins, "rhum", "Relative humidity", &
256     "", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
257     zsto, zout)
258 guez 213 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 guez 221
268 guez 217 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 guez 178
277 guez 159 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 guez 34 CALL histend(nid_ins)
300 guez 215 ENDIF test_ok_instan
301 guez 34
302     end subroutine ini_histins
303    
304     end module ini_histins_m

  ViewVC Help
Powered by ViewVC 1.1.21