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

Annotation of /trunk/phylmd/ini_histins.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 343 - (hide annotations)
Mon Oct 28 08:14:26 2019 UTC (4 years, 7 months ago) by guez
File size: 14281 byte(s)
Add output variables rld and rldcs

Add output variables rld and rldcs (following LMDZ).

In procedure cdrag, rename variables zdu2, ztsolv, ztvd, zri to du2,
tsolv, tvd, ri. Replace `exp(log(psol))` by psol.

In procedure `pbl_surface`, rename u, v to `u_seri`, `v_seri`.

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 338 subroutine ini_histins
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 313 use dynetat0_m, only: rlatu, rlonv
19     use dynetat0_chosen_m, only: day_ref, annee_ref
20 guez 61 USE histbeg_totreg_m, ONLY : histbeg_totreg
21     USE histdef_m, ONLY : histdef
22     USE histend_m, ONLY : histend
23     USE histvert_m, ONLY : histvert
24 guez 92 use indicesol, only: nbsrf, clnsurf
25 guez 321 use infotrac_init_m, only: tname, ttext
26 guez 190 use nr_util, only: pi
27 guez 191 use phyetat0_m, only: itau_phy
28 guez 92 USE ymds2ju_m, only: ymds2ju
29 guez 34
30 guez 175 ! Local:
31 guez 335 double precision julian
32     real 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 335 CALL ymds2ju(annee_ref, 1, day_ref, 0.0, julian)
43 guez 190 CALL histbeg_totreg("histins", rlonv(:iim) / pi * 180., &
44     rlatu / pi * 180., 1, iim, &
45 guez 335 1, jjm + 1, itau_phy, julian, dtphys, nhori, nid_ins)
46 guez 213 print *, 'itau_phy = ', itau_phy
47 guez 335 print *, "julian = ", julian
48 guez 34 CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb", &
49 guez 67 presnivs/100., nvert)
50 guez 338
51     ! 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 326 CALL histdef(nid_ins, "pmflxr", "convective precipitation liquid", "", &
268     iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
269 guez 338 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 guez 343 CALL histdef(nid_ins, "rld", "LW downward radiation", "W m-2", iim, &
276     jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
277     CALL histdef(nid_ins, "rldcs", "LW CS downward radiation", "W m-2", &
278     iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
279 guez 221
280 guez 159 DO it = 1, nqmx - 2
281     ! champ 2D
282     iq=it+2
283     CALL histdef(nid_ins, tname(iq), ttext(iq), "U/kga", iim, jjm+1, &
284     nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
285     CALL histdef(nid_ins, "fl"//tname(iq), "Flux "//ttext(iq), &
286     "U/m2/s", iim, jjm+1, nhori, llm, 1, llm, nvert, &
287     "inst(X)", zsto, zout)
288     CALL histdef(nid_ins, "d_tr_th_"//tname(iq), &
289     "tendance thermique"// ttext(iq), "?", &
290     iim, jjm+1, nhori, llm, 1, llm, nvert, &
291     "inst(X)", zsto, zout)
292     CALL histdef(nid_ins, "d_tr_cv_"//tname(iq), &
293     "tendance convection"// ttext(iq), "?", &
294     iim, jjm+1, nhori, llm, 1, llm, nvert, &
295     "inst(X)", zsto, zout)
296     CALL histdef(nid_ins, "d_tr_cl_"//tname(iq), &
297     "tendance couche limite"// ttext(iq), "?", &
298     iim, jjm+1, nhori, llm, 1, llm, nvert, &
299     "inst(X)", zsto, zout)
300     ENDDO
301    
302 guez 34 CALL histend(nid_ins)
303 guez 215 ENDIF test_ok_instan
304 guez 34
305     end subroutine ini_histins
306    
307     end module ini_histins_m

  ViewVC Help
Powered by ViewVC 1.1.21