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

Annotation of /trunk/phylmd/ini_histins.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 338 - (hide annotations)
Mon Sep 16 17:25:30 2019 UTC (4 years, 9 months ago) by guez
File size: 13980 byte(s)
Inline the list of files in `phylmd/CMakeLists.txt`. The drawback of
reading a separate file `file_list` is that cmake seems not to
reconfigure automatically when `file_list` is modified.

Remove possibility to call nuage. So remove also variable
`ok_newmicro`. (nuage is probably never used in LMDZ any longer,
although it is still possible to use it in LMDZ.)

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 221
276 guez 159 DO it = 1, nqmx - 2
277     ! champ 2D
278     iq=it+2
279     CALL histdef(nid_ins, tname(iq), ttext(iq), "U/kga", iim, jjm+1, &
280     nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
281     CALL histdef(nid_ins, "fl"//tname(iq), "Flux "//ttext(iq), &
282     "U/m2/s", iim, jjm+1, nhori, llm, 1, llm, nvert, &
283     "inst(X)", zsto, zout)
284     CALL histdef(nid_ins, "d_tr_th_"//tname(iq), &
285     "tendance thermique"// ttext(iq), "?", &
286     iim, jjm+1, nhori, llm, 1, llm, nvert, &
287     "inst(X)", zsto, zout)
288     CALL histdef(nid_ins, "d_tr_cv_"//tname(iq), &
289     "tendance convection"// ttext(iq), "?", &
290     iim, jjm+1, nhori, llm, 1, llm, nvert, &
291     "inst(X)", zsto, zout)
292     CALL histdef(nid_ins, "d_tr_cl_"//tname(iq), &
293     "tendance couche limite"// ttext(iq), "?", &
294     iim, jjm+1, nhori, llm, 1, llm, nvert, &
295     "inst(X)", zsto, zout)
296     ENDDO
297    
298 guez 34 CALL histend(nid_ins)
299 guez 215 ENDIF test_ok_instan
300 guez 34
301     end subroutine ini_histins
302    
303     end module ini_histins_m

  ViewVC Help
Powered by ViewVC 1.1.21