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

Contents of /trunk/libf/phylmd/ini_histins.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 34 - (show annotations)
Wed Jun 2 11:01:12 2010 UTC (13 years, 11 months ago) by guez
File size: 11140 byte(s)
Split "ini_hist.f90" into single-procedure files.

In "calfis" and "physiq", removed dummy argument "nq" since "nq" must
be equal to "nqmx".

In "calfis", renamed dummy argument "pq" to "q", same name as actual
argument in "leapfrog". Renamed local variable "zqfi" to "qx", same
name as dummy argument in "physiq".

Removed arguments "itop_con" and "ibas_con" of "phytrac", which were
not used.

1 module ini_histins_m
2
3 implicit none
4
5 contains
6
7 subroutine ini_histins(dtime, ok_instan, nid_ins)
8
9 ! From phylmd/ini_histins.h, v 1.2 2005/05/25 13:10:09
10
11 use dimens_m, only: iim, jjm, llm
12 use dimphy, only: klon
13 use temps, only: itau_phy, day_ref, annee_ref
14 use clesphys, only: ecrit_ins
15 use indicesol, only: nbsrf, clnsurf
16 USE calendar, only: ymds2ju
17 use histcom, only: histbeg_totreg, histvert, histend, histdef
18 use phyetat0_m, only: rlon, rlat
19 use comvert, only: presnivs
20
21 REAL, intent(in):: dtime ! pas temporel de la physique (s)
22 logical, intent(in):: ok_instan
23 integer, intent(out):: nid_ins
24
25 REAL zx_lon(iim, jjm + 1), zx_lat(iim, jjm + 1)
26 real zjulian, zsto, zout
27 integer i, nhori, nvert, idayref, nsrf
28
29 !-------------------------------------------------------------------
30
31 IF (ok_instan) THEN
32
33 zsto = dtime * ecrit_ins
34 zout = dtime * ecrit_ins
35
36 idayref = day_ref
37 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
38
39 CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), rlon, zx_lon)
40 DO i = 1, iim
41 zx_lon(i, 1) = rlon(i+1)
42 zx_lon(i, (jjm + 1)) = rlon(i+1)
43 ENDDO
44 CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), rlat, zx_lat)
45 CALL histbeg_totreg("histins", zx_lon(:, 1), zx_lat(1, :), 1, iim, 1, &
46 jjm + 1, itau_phy, zjulian, dtime, nhori, nid_ins)
47 write(*, *)'Inst ', itau_phy, zjulian
48 CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb", &
49 llm, presnivs/100., nvert)
50
51 CALL histdef(nid_ins, "phis", "Surface geop. height", "-", &
52 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
53 "once", zsto, zout)
54
55 CALL histdef(nid_ins, "aire", "Grid area", "-", &
56 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
57 "once", zsto, zout)
58
59 ! Champs 2D:
60
61 CALL histdef(nid_ins, "tsol", "Surface Temperature", "K", &
62 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
63 "inst(X)", zsto, zout)
64
65 CALL histdef(nid_ins, "t2m", "Temperature 2m", "K", &
66 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
67 "inst(X)", zsto, zout)
68
69 CALL histdef(nid_ins, "q2m", "Specific humidity 2m", "Kg/Kg", &
70 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
71 "inst(X)", zsto, zout)
72
73 CALL histdef(nid_ins, "u10m", "Vent zonal 10m", "m/s", &
74 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
75 "inst(X)", zsto, zout)
76
77 CALL histdef(nid_ins, "v10m", "Vent meridien 10m", "m/s", &
78 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
79 "inst(X)", zsto, zout)
80
81 CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa", &
82 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
83 "inst(X)", zsto, zout)
84
85 CALL histdef(nid_ins, "plul", "Large-scale Precip.", "mm/day", &
86 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
87 "inst(X)", zsto, zout)
88
89 CALL histdef(nid_ins, "pluc", "Convective Precip.", "mm/day", &
90 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
91 "inst(X)", zsto, zout)
92
93 CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-", &
94 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
95 "inst(X)", zsto, zout)
96
97 CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-", &
98 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
99 "inst(X)", zsto, zout)
100
101 CALL histdef(nid_ins, "precip", "Precipitation Totale liq+sol", &
102 "kg/(s*m2)", &
103 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
104 "inst(X)", zsto, zout)
105
106 CALL histdef(nid_ins, "snow", "Snow fall", "kg/(s*m2)", &
107 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
108 "inst(X)", zsto, zout)
109
110 ! CALL histdef(nid_ins, "snow_mass", "Snow Mass", "kg/m2",
111 ! . iim, (jjm + 1), nhori, 1, 1, 1, -99,
112 ! . "inst(X)", zsto, zout)
113
114 CALL histdef(nid_ins, "topl", "OLR", "W/m2", &
115 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
116 "inst(X)", zsto, zout)
117
118 CALL histdef(nid_ins, "evap", "Evaporation", "kg/(s*m2)", &
119 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
120 "inst(X)", zsto, zout)
121
122 CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2", &
123 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
124 "inst(X)", zsto, zout)
125
126 CALL histdef(nid_ins, "soll", "IR rad. at surface", "W/m2", &
127 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
128 "inst(X)", zsto, zout)
129
130 CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface", &
131 "W/m2", iim, (jjm + 1), nhori, 1, 1, 1, -99, &
132 "inst(X)", zsto, zout)
133
134 CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2", &
135 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
136 "inst(X)", zsto, zout)
137
138 CALL histdef(nid_ins, "sens", "Sensible heat flux", "W/m2", &
139 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
140 "inst(X)", zsto, zout)
141
142 CALL histdef(nid_ins, "fder", "Heat flux derivation", "W/m2", &
143 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
144 "inst(X)", zsto, zout)
145
146 CALL histdef(nid_ins, "dtsvdfo", "Boundary-layer dTs(o)", "K/s", &
147 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
148 "inst(X)", zsto, zout)
149
150 CALL histdef(nid_ins, "dtsvdft", "Boundary-layer dTs(t)", "K/s", &
151 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
152 "inst(X)", zsto, zout)
153
154 CALL histdef(nid_ins, "dtsvdfg", "Boundary-layer dTs(g)", "K/s", &
155 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
156 "inst(X)", zsto, zout)
157
158 CALL histdef(nid_ins, "dtsvdfi", "Boundary-layer dTs(g)", "K/s", &
159 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
160 "inst(X)", zsto, zout)
161
162 DO nsrf = 1, nbsrf
163
164 call histdef(nid_ins, "pourc_"//clnsurf(nsrf), &
165 "% "//clnsurf(nsrf), "%", &
166 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
167 "inst(X)", zsto, zout)
168
169 call histdef(nid_ins, "fract_"//clnsurf(nsrf), &
170 "Fraction "//clnsurf(nsrf), "1", &
171 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
172 "inst(X)", zsto, zout)
173
174 call histdef(nid_ins, "sens_"//clnsurf(nsrf), &
175 "Sensible heat flux "//clnsurf(nsrf), "W/m2", &
176 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
177 "inst(X)", zsto, zout)
178
179 call histdef(nid_ins, "tsol_"//clnsurf(nsrf), &
180 "Surface Temperature"//clnsurf(nsrf), "W/m2", &
181 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
182 "inst(X)", zsto, zout)
183
184 call histdef(nid_ins, "lat_"//clnsurf(nsrf), &
185 "Latent heat flux "//clnsurf(nsrf), "W/m2", &
186 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
187 "inst(X)", zsto, zout)
188
189 call histdef(nid_ins, "taux_"//clnsurf(nsrf), &
190 "Zonal wind stress"//clnsurf(nsrf), "Pa", &
191 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
192 "inst(X)", zsto, zout)
193
194 call histdef(nid_ins, "tauy_"//clnsurf(nsrf), &
195 "Meridional xind stress "//clnsurf(nsrf), "Pa", &
196 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
197 "inst(X)", zsto, zout)
198
199 call histdef(nid_ins, "albe_"//clnsurf(nsrf), &
200 "Albedo "//clnsurf(nsrf), "-", &
201 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
202 "inst(X)", zsto, zout)
203
204 call histdef(nid_ins, "rugs_"//clnsurf(nsrf), &
205 "rugosite "//clnsurf(nsrf), "-", &
206 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
207 "inst(X)", zsto, zout)
208 !XXX
209 END DO
210 CALL histdef(nid_ins, "rugs", "rugosity", "-", &
211 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
212 "inst(X)", zsto, zout)
213
214 CALL histdef(nid_ins, "albs", "Surface albedo", "-", &
215 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
216 "inst(X)", zsto, zout)
217 CALL histdef(nid_ins, "albslw", "Surface albedo LW", "-", &
218 iim, (jjm + 1), nhori, 1, 1, 1, -99, &
219 "inst(X)", zsto, zout)
220
221 !IM cf. AM 081204 BEG
222 ! HBTM2
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 !IM cf. AM 081204 END
265
266 ! Champs 3D:
267
268 CALL histdef(nid_ins, "temp", "Temperature", "K", &
269 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
270 "inst(X)", zsto, zout)
271
272 CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s", &
273 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
274 "inst(X)", zsto, zout)
275
276 CALL histdef(nid_ins, "vitv", "Merid wind", "m/s", &
277 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
278 "inst(X)", zsto, zout)
279
280 CALL histdef(nid_ins, "geop", "Geopotential height", "m", &
281 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
282 "inst(X)", zsto, zout)
283
284 CALL histdef(nid_ins, "pres", "Air pressure", "Pa", &
285 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
286 "inst(X)", zsto, zout)
287
288 CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s", &
289 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
290 "inst(X)", zsto, zout)
291
292 CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s", &
293 iim, (jjm + 1), nhori, llm, 1, llm, nvert, &
294 "inst(X)", zsto, zout)
295
296 CALL histend(nid_ins)
297 ENDIF
298
299 end subroutine ini_histins
300
301 end module ini_histins_m

  ViewVC Help
Powered by ViewVC 1.1.21