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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 213 - (show annotations)
Mon Feb 27 15:44:55 2017 UTC (7 years, 2 months ago) by guez
File size: 12940 byte(s)
Removed module conema3_m. Moved variables epmax and iflag_clw of
conema3_m to conf_phys_m, where they are defined. Removed unused
variable ok_adj_ema of conema3_m.

Added variables d_t_ec, dtsw0 and dtlw0 to histins.nc (following LMDZ).

Removed case not lessivage in phytrac. (Not used in LMDZ without INCA
either.)

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

  ViewVC Help
Powered by ViewVC 1.1.21