/[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 213 - (hide 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 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 191 subroutine ini_histins(dtime)
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 159 use dimens_m, only: iim, jjm, llm, nqmx
16 guez 92 use disvert_m, only: presnivs
17 guez 190 use dynetat0_m, only: day_ref, annee_ref, rlatu, rlonv
18 guez 61 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 guez 92 use indicesol, only: nbsrf, clnsurf
23 guez 159 use iniadvtrac_m, only: tname, ttext
24 guez 190 use nr_util, only: pi
25 guez 191 use phyetat0_m, only: itau_phy
26 guez 92 USE ymds2ju_m, only: ymds2ju
27 guez 34
28     REAL, intent(in):: dtime ! pas temporel de la physique (s)
29    
30 guez 175 ! Local:
31 guez 34 real zjulian, zsto, zout
32 guez 190 integer nhori, nvert, nsrf, iq, it
33 guez 34
34     !-------------------------------------------------------------------
35    
36 guez 213 print *, 'Call sequence information: ini_histins'
37    
38 guez 34 IF (ok_instan) THEN
39     zsto = dtime * ecrit_ins
40     zout = dtime * ecrit_ins
41 guez 129 CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian)
42 guez 190 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 guez 213 print *, 'itau_phy = ', itau_phy
46     print *, "zjulian = ", zjulian
47 guez 34 CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb", &
48 guez 67 presnivs/100., nvert)
49 guez 213
50 guez 34 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 guez 206
172 guez 34 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 guez 206 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 guez 34
218     ! Champs 3D:
219    
220 guez 212 CALL histdef(nid_ins, "tro3", "ozone mole fraction", "-", &
221     iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout)
222 guez 34 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 guez 159 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 guez 178 CALL histdef(nid_ins, "rhum", "Relative humidity", &
247     "", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", &
248     zsto, zout)
249 guez 213 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 guez 178
259 guez 159 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 guez 34 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