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

Annotation of /trunk/Sources/phylmd/ini_histins.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 183 - (hide annotations)
Wed Mar 16 14:42:58 2016 UTC (8 years, 2 months ago) by guez
File size: 12670 byte(s)
Removed argument snow_con of concvl. Just set snow_con to 0 in physiq
instead of in concvl.

Removed unused argument cbmf1 of cv_driver.

Added computation and output of ptop (following LMDZ).

1 guez 34 module ini_histins_m
2    
3     implicit none
4    
5     contains
6    
7 guez 175 subroutine ini_histins(dtime, ok_instan, nid_ins, itau_phy)
8 guez 34
9     ! From phylmd/ini_histins.h, v 1.2 2005/05/25 13:10:09
10    
11 guez 92 use clesphys, only: ecrit_ins
12 guez 183 use clesphys2, only: conv_emanuel
13 guez 159 use dimens_m, only: iim, jjm, llm, nqmx
14 guez 34 use dimphy, only: klon
15 guez 92 use disvert_m, only: presnivs
16 guez 129 use dynetat0_m, only: day_ref, annee_ref
17 guez 61 USE histbeg_totreg_m, ONLY : histbeg_totreg
18     USE histdef_m, ONLY : histdef
19     USE histend_m, ONLY : histend
20     USE histvert_m, ONLY : histvert
21 guez 92 use indicesol, only: nbsrf, clnsurf
22 guez 159 use iniadvtrac_m, only: tname, ttext
23 guez 34 use phyetat0_m, only: rlon, rlat
24 guez 92 USE ymds2ju_m, only: ymds2ju
25 guez 34
26     REAL, intent(in):: dtime ! pas temporel de la physique (s)
27     logical, intent(in):: ok_instan
28     integer, intent(out):: nid_ins
29 guez 175 integer, intent(in):: itau_phy
30 guez 34
31 guez 175 ! Local:
32 guez 34 REAL zx_lon(iim, jjm + 1), zx_lat(iim, jjm + 1)
33     real zjulian, zsto, zout
34 guez 159 integer i, nhori, nvert, nsrf, iq, it
35 guez 34
36     !-------------------------------------------------------------------
37    
38     IF (ok_instan) THEN
39     zsto = dtime * ecrit_ins
40     zout = dtime * ecrit_ins
41    
42 guez 129 CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian)
43 guez 34
44     CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), rlon, zx_lon)
45     DO i = 1, iim
46     zx_lon(i, 1) = rlon(i+1)
47     zx_lon(i, (jjm + 1)) = rlon(i+1)
48     ENDDO
49     CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), rlat, zx_lat)
50     CALL histbeg_totreg("histins", zx_lon(:, 1), zx_lat(1, :), 1, iim, 1, &
51     jjm + 1, itau_phy, zjulian, dtime, nhori, nid_ins)
52     write(*, *)'Inst ', itau_phy, zjulian
53     CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb", &
54 guez 67 presnivs/100., nvert)
55 guez 34
56     CALL histdef(nid_ins, "phis", "Surface geop. height", "-", &
57     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
58     "once", zsto, zout)
59    
60     CALL histdef(nid_ins, "aire", "Grid area", "-", &
61     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
62     "once", zsto, zout)
63    
64     ! Champs 2D:
65    
66     CALL histdef(nid_ins, "tsol", "Surface Temperature", "K", &
67     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
68     "inst(X)", zsto, zout)
69    
70     CALL histdef(nid_ins, "t2m", "Temperature 2m", "K", &
71     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
72     "inst(X)", zsto, zout)
73    
74     CALL histdef(nid_ins, "q2m", "Specific humidity 2m", "Kg/Kg", &
75     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
76     "inst(X)", zsto, zout)
77    
78     CALL histdef(nid_ins, "u10m", "Vent zonal 10m", "m/s", &
79     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
80     "inst(X)", zsto, zout)
81    
82     CALL histdef(nid_ins, "v10m", "Vent meridien 10m", "m/s", &
83     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
84     "inst(X)", zsto, zout)
85    
86     CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa", &
87     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
88     "inst(X)", zsto, zout)
89    
90     CALL histdef(nid_ins, "plul", "Large-scale Precip.", "mm/day", &
91     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
92     "inst(X)", zsto, zout)
93    
94     CALL histdef(nid_ins, "pluc", "Convective Precip.", "mm/day", &
95     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
96     "inst(X)", zsto, zout)
97    
98     CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-", &
99     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
100     "inst(X)", zsto, zout)
101    
102     CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-", &
103     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
104     "inst(X)", zsto, zout)
105    
106     CALL histdef(nid_ins, "precip", "Precipitation Totale liq+sol", &
107     "kg/(s*m2)", &
108     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
109     "inst(X)", zsto, zout)
110    
111     CALL histdef(nid_ins, "snow", "Snow fall", "kg/(s*m2)", &
112     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
113     "inst(X)", zsto, zout)
114    
115     ! CALL histdef(nid_ins, "snow_mass", "Snow Mass", "kg/m2",
116     ! . iim, (jjm + 1), nhori, 1, 1, 1, -99,
117     ! . "inst(X)", zsto, zout)
118    
119     CALL histdef(nid_ins, "topl", "OLR", "W/m2", &
120     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
121     "inst(X)", zsto, zout)
122    
123     CALL histdef(nid_ins, "evap", "Evaporation", "kg/(s*m2)", &
124     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
125     "inst(X)", zsto, zout)
126    
127     CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2", &
128     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
129     "inst(X)", zsto, zout)
130    
131     CALL histdef(nid_ins, "soll", "IR rad. at surface", "W/m2", &
132     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
133     "inst(X)", zsto, zout)
134    
135     CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface", &
136     "W/m2", iim, (jjm + 1), nhori, 1, 1, 1, -99, &
137     "inst(X)", zsto, zout)
138    
139     CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2", &
140     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
141     "inst(X)", zsto, zout)
142    
143     CALL histdef(nid_ins, "sens", "Sensible heat flux", "W/m2", &
144     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
145     "inst(X)", zsto, zout)
146    
147     CALL histdef(nid_ins, "fder", "Heat flux derivation", "W/m2", &
148     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
149     "inst(X)", zsto, zout)
150    
151     CALL histdef(nid_ins, "dtsvdfo", "Boundary-layer dTs(o)", "K/s", &
152     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
153     "inst(X)", zsto, zout)
154    
155     CALL histdef(nid_ins, "dtsvdft", "Boundary-layer dTs(t)", "K/s", &
156     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
157     "inst(X)", zsto, zout)
158    
159     CALL histdef(nid_ins, "dtsvdfg", "Boundary-layer dTs(g)", "K/s", &
160     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
161     "inst(X)", zsto, zout)
162    
163     CALL histdef(nid_ins, "dtsvdfi", "Boundary-layer dTs(g)", "K/s", &
164     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
165     "inst(X)", zsto, zout)
166    
167     DO nsrf = 1, nbsrf
168    
169     call histdef(nid_ins, "pourc_"//clnsurf(nsrf), &
170     "% "//clnsurf(nsrf), "%", &
171     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
172     "inst(X)", zsto, zout)
173    
174     call histdef(nid_ins, "fract_"//clnsurf(nsrf), &
175     "Fraction "//clnsurf(nsrf), "1", &
176     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
177     "inst(X)", zsto, zout)
178    
179     call histdef(nid_ins, "sens_"//clnsurf(nsrf), &
180     "Sensible heat flux "//clnsurf(nsrf), "W/m2", &
181     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
182     "inst(X)", zsto, zout)
183    
184     call histdef(nid_ins, "tsol_"//clnsurf(nsrf), &
185     "Surface Temperature"//clnsurf(nsrf), "W/m2", &
186     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
187     "inst(X)", zsto, zout)
188    
189     call histdef(nid_ins, "lat_"//clnsurf(nsrf), &
190     "Latent heat flux "//clnsurf(nsrf), "W/m2", &
191     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
192     "inst(X)", zsto, zout)
193    
194     call histdef(nid_ins, "taux_"//clnsurf(nsrf), &
195     "Zonal wind stress"//clnsurf(nsrf), "Pa", &
196     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
197     "inst(X)", zsto, zout)
198    
199     call histdef(nid_ins, "tauy_"//clnsurf(nsrf), &
200     "Meridional xind stress "//clnsurf(nsrf), "Pa", &
201     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
202     "inst(X)", zsto, zout)
203    
204     call histdef(nid_ins, "albe_"//clnsurf(nsrf), &
205     "Albedo "//clnsurf(nsrf), "-", &
206     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
207     "inst(X)", zsto, zout)
208    
209     call histdef(nid_ins, "rugs_"//clnsurf(nsrf), &
210     "rugosite "//clnsurf(nsrf), "-", &
211     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
212     "inst(X)", zsto, zout)
213     !XXX
214     END DO
215     CALL histdef(nid_ins, "rugs", "rugosity", "-", &
216     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
217     "inst(X)", zsto, zout)
218    
219     CALL histdef(nid_ins, "albs", "Surface albedo", "-", &
220     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
221     "inst(X)", zsto, zout)
222    
223     CALL histdef(nid_ins, "s_pblh", "Boundary Layer Height", "m", &
224     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
225     "inst(X)", zsto, zout)
226    
227     CALL histdef(nid_ins, "s_pblt", "T at Boundary Layer Height", &
228     "K", &
229     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
230     "inst(X)", zsto, zout)
231    
232     CALL histdef(nid_ins, "s_lcl", "Condensation level", "m", &
233     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
234     "inst(X)", zsto, zout)
235    
236     CALL histdef(nid_ins, "s_capCL", "Conv avlbl pot ener for ABL", "J/m2", &
237     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
238     "inst(X)", zsto, zout)
239    
240     CALL histdef(nid_ins, "s_oliqCL", "Liq Water in BL", "kg/m2", &
241     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
242     "inst(X)", zsto, zout)
243    
244     CALL histdef(nid_ins, "s_cteiCL", "Instability criteria (ABL)", "K", &
245     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
246     "inst(X)", zsto, zout)
247    
248     CALL histdef(nid_ins, "s_therm", "Exces du thermique", "K", &
249     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
250     "inst(X)", zsto, zout)
251    
252     CALL histdef(nid_ins, "s_trmb1", "deep_cape(HBTM2)", "J/m2", &
253     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
254     "inst(X)", zsto, zout)
255    
256     CALL histdef(nid_ins, "s_trmb2", "inhibition (HBTM2)", "J/m2", &
257     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
258     "inst(X)", zsto, zout)
259    
260     CALL histdef(nid_ins, "s_trmb3", "Point Omega (HBTM2)", "m", &
261     iim, (jjm + 1), nhori, 1, 1, 1, -99, &
262     "inst(X)", zsto, zout)
263    
264 guez 183 if (conv_emanuel) CALL histdef(nid_ins, "ptop", "cloud top pressure", &
265     "Pa", iim, jjm + 1, nhori, 1, 1, 1, -99, "inst(X)", zsto, zout)
266 guez 34
267     ! Champs 3D:
268    
269     CALL histdef(nid_ins, "temp", "Temperature", "K", &
270     iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
271     "inst(X)", zsto, zout)
272    
273     CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s", &
274     iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
275     "inst(X)", zsto, zout)
276    
277     CALL histdef(nid_ins, "vitv", "Merid wind", "m/s", &
278     iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
279     "inst(X)", zsto, zout)
280    
281     CALL histdef(nid_ins, "geop", "Geopotential height", "m", &
282     iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
283     "inst(X)", zsto, zout)
284    
285     CALL histdef(nid_ins, "pres", "Air pressure", "Pa", &
286     iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
287     "inst(X)", zsto, zout)
288    
289     CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s", &
290     iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
291     "inst(X)", zsto, zout)
292    
293     CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s", &
294     iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
295     "inst(X)", zsto, zout)
296    
297 guez 159 CALL histdef(nid_ins, "zmasse", "column density of air in cell", &
298     "kg m-2", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
299     zsto, zout)
300    
301 guez 178 CALL histdef(nid_ins, "rhum", "Relative humidity", &
302     "", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
303     zsto, zout)
304    
305 guez 159 DO it = 1, nqmx - 2
306     ! champ 2D
307     iq=it+2
308     CALL histdef(nid_ins, tname(iq), ttext(iq), "U/kga", iim, jjm+1, &
309     nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
310     CALL histdef(nid_ins, "fl"//tname(iq), "Flux "//ttext(iq), &
311     "U/m2/s", iim, jjm+1, nhori, llm, 1, llm, nvert, &
312     "inst(X)", zsto, zout)
313    
314     !---Ajout Olivia
315     CALL histdef(nid_ins, "d_tr_th_"//tname(iq), &
316     "tendance thermique"// ttext(iq), "?", &
317     iim, jjm+1, nhori, llm, 1, llm, nvert, &
318     "inst(X)", zsto, zout)
319     CALL histdef(nid_ins, "d_tr_cv_"//tname(iq), &
320     "tendance convection"// ttext(iq), "?", &
321     iim, jjm+1, nhori, llm, 1, llm, nvert, &
322     "inst(X)", zsto, zout)
323     CALL histdef(nid_ins, "d_tr_cl_"//tname(iq), &
324     "tendance couche limite"// ttext(iq), "?", &
325     iim, jjm+1, nhori, llm, 1, llm, nvert, &
326     "inst(X)", zsto, zout)
327     !---fin Olivia
328    
329     ENDDO
330    
331 guez 34 CALL histend(nid_ins)
332     ENDIF
333    
334     end subroutine ini_histins
335    
336     end module ini_histins_m

  ViewVC Help
Powered by ViewVC 1.1.21