source: LMDZ4/branches/LMDZ4_AR5/libf/phylmd/ini_histforcing.h @ 3138

Last change on this file since 3138 was 1547, checked in by idelkadi, 13 years ago

Rajout des routines pour le calcul du forcage radiatif "offline" dans LMDZ !
Note technique disponible sur :
http://www.lmd.jussieu.fr/~idelkadi/Welcome_diagnos.html

  • Property svn:executable set to *
File size: 12.5 KB
Line 
1c       CALL ioconf_calendar('360d')
2       annee_ref=1988
3       day_ref= 1
4
5        CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian)
6!       CALL ioget_calendar(un_an)
7
8     
9
10!       zstophy = un_an/12.
11!       zout = un_an/12.
12!        zstophy = 1036800.
13!        zout = 1036800.
14        zstophy = dtime
15        zout = dtime
16
17        print*,'annee_ref day_ref zjulian ',annee_ref,day_ref,zjulian
18!        print*,'un_an itau_phy dtime nhori nid_day ',un_an,itau_phy,
19!     s                 dtime,nhori
20        print*,'zstophy,zout ',zstophy,zout
21c
22    !- itau_phy    : time step at which the history tape starts
23    !- zjulian    : The Julian date at which the itau was equal to 0
24    !- dtime   : Time step in seconds. Time step of the counter itau
25    !-             used in histwrt for instance
26
27         CALL histbeg("histforcing", iim,rlon_1d, jjm+1,rlat_1d,
28     .                 1,iim,1,jjm+1,itau_phy,zjulian,dtime, 
29     .                 nhori, nid_day)
30         CALL histvert(nid_day, "presnivs", "Vertical levels", "mb",
31     .                 llm, presl_1d/100., nvert)
32c
33c Flux nets radiatifs de reference a la tropopause
34!- zstophy: Frequency of this operation (in seconds)
35!- zout: Frequency at which the variable should be
36!-            written (in seconds)
37
38!         CALL histdef(nid_day, "aire", "Temp sol", "K",
39!     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
40!     .                "once", zstophy,zout)
41c
42         CALL histdef(nid_day, "albs", "Surf. albedo", "-",
43     .                iim,jjm+1,nhori, 1,1,1, -99, 32, 
44     .                "inst(X)", zstophy,zout)
45c
46c Flux nets radiatifs de reference
47c toa
48         CALL histdef(nid_day, "toa_sw_ref", "SW flux at TOA ", "w/m2",
49     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
50     .                "inst(X)", zstophy,zout)
51c
52         CALL histdef(nid_day, "toa_sw_ref0", "SW flux at TOA", "w/m2",
53     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
54     .                "inst(X)", zstophy,zout)
55c
56         CALL histdef(nid_day, "toa_lw_ref","LW flux at toa", "w/m2",
57     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
58     .                "inst(X)", zstophy,zout)
59c
60         CALL histdef(nid_day, "toa_lw_ref0", "LW flux at toa", "w/m2",
61     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
62     .                "inst(X)", zstophy,zout)
63c tps
64         CALL histdef(nid_day, "tps_sw_ref", "SW flux at TPS", "w/m2",
65     .                iim,jjm+1,nhori, 1,1,1, -99, 32, 
66     .                "inst(X)", zstophy,zout)
67c
68         CALL histdef(nid_day, "tps_sw_ref0", "SW flux at TPS", "w/m2",
69     .                iim,jjm+1,nhori, 1,1,1, -99, 32, 
70     .                "inst(X)", zstophy,zout)
71c
72         CALL histdef(nid_day, "tps_lw_ref","LW flux at tps", "w/m2",
73     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
74     .                "inst(X)", zstophy,zout)
75c
76         CALL histdef(nid_day, "tps_lw_ref0", "LW flux at tps", "w/m2",
77     .                iim,jjm+1,nhori, 1,1,1, -99, 32, 
78     .                "inst(X)", zstophy,zout)
79c srf
80         CALL histdef(nid_day, "srf_sw_ref", "SW flux at SRF ", "w/m2",
81     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
82     .                "inst(X)", zstophy,zout)
83c
84         CALL histdef(nid_day, "srf_sw_ref0", "SW flux at SRF", "w/m2",
85     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
86     .                "inst(X)", zstophy,zout)
87c
88         CALL histdef(nid_day, "srf_lw_ref","LW flux at srf", "w/m2",
89     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
90     .                "inst(X)", zstophy,zout)
91c
92         CALL histdef(nid_day, "srf_lw_ref0", "LW flux at srf", "w/m2",
93     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
94     .                "inst(X)", zstophy,zout)
95!
96! Flux initiaux après perturbation, sans ajustement strato
97!
98c toa
99         CALL histdef(nid_day, "toa_sw_ini","LW flux at toa", "w/m2",
100     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
101     .                "inst(X)", zstophy,zout)
102c
103         CALL histdef(nid_day, "toa_sw_ini0","LW flux at toa", "w/m2",
104     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
105     .                "inst(X)", zstophy,zout)
106c
107         CALL histdef(nid_day, "toa_lw_ini", "LW flux at toa", "w/m2",
108     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
109     .                "inst(X)", zstophy,zout)
110c
111         CALL histdef(nid_day, "toa_lw_ini0", "LW flux at toa", "w/m2",
112     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
113     .                "inst(X)", zstophy,zout)
114c tps
115c
116         CALL histdef(nid_day, "tps_sw_ini", "SW flux at TPS", "w/m2",
117     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
118     .                "inst(X)", zstophy,zout)
119c
120         CALL histdef(nid_day, "tps_sw_ini0", "SW flux at TPS", "w/m2",
121     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
122     .                "inst(X)", zstophy,zout)
123c
124         CALL histdef(nid_day, "tps_lw_ini", "LW flux at TPS", "w/m2",
125     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
126     .                "inst(X)", zstophy,zout)
127c
128         CALL histdef(nid_day, "tps_lw_ini0", "LW flux at TPS", "w/m2",
129     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
130     .                "inst(X)", zstophy,zout)
131!
132! Forcages initiaux après perturbation, sans ajustement strato
133!
134c toa
135         CALL histdef(nid_day, "d_toa_sw_ini", "I SW forcing", "w/m2",
136     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
137     .                "inst(X)", zstophy,zout)
138
139         CALL histdef(nid_day, "d_toa_sw_ini0", "I SW forcing", "w/m2",
140     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
141     .                "inst(X)", zstophy,zout)
142
143         CALL histdef(nid_day, "d_toa_lw_ini", "I SW forcing", "w/m2",
144     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
145     .                "inst(X)", zstophy,zout)
146
147         CALL histdef(nid_day, "d_toa_lw_ini0", "I SW forcing", "w/m2",
148     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
149     .                "inst(X)", zstophy,zout)
150c tps
151         CALL histdef(nid_day,"d_tps_sw_ini","I SW rad forc",
152     .                "w/m2",iim,jjm+1,nhori, 1,1,1, -99, 32,
153     .                "inst(X)", zstophy,zout)
154
155         CALL histdef(nid_day,"d_tps_sw_ini0","I SW rad forc",
156     .                "w/m2",iim,jjm+1,nhori, 1,1,1, -99, 32,
157     .                "inst(X)", zstophy,zout)
158
159         CALL histdef(nid_day,"d_tps_lw_ini","I LW rad forc","w/m2",
160     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
161     .                "inst(X)", zstophy,zout)
162
163         CALL histdef(nid_day,"d_tps_lw_ini0","I LW rad forc","w/m2",
164     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
165     .                "inst(X)", zstophy,zout)
166!
167! Forcages après ajustement strato
168!
169c toa
170         CALL histdef(nid_day, "d_toa_sw_adj", "Adj SW forcing", "w/m2",
171     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
172     .                "inst(X)", zstophy,zout)
173
174         CALL histdef(nid_day, "d_toa_sw_adj0", "I SW forcing", "w/m2",
175     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
176     .                "inst(X)", zstophy,zout)
177
178         CALL histdef(nid_day, "d_toa_lw_adj", "Adj LW forcing", "w/m2",
179     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
180     .                "inst(X)", zstophy,zout)
181
182         CALL histdef(nid_day, "d_toa_lw_adj0", "I LW forcing", "w/m2",
183     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
184     .                "inst(X)", zstophy,zout)
185c tps
186         CALL histdef(nid_day,"d_tps_sw_adj","Adj SW forcing","w/m2",
187     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
188     .                "inst(X)", zstophy,zout)
189
190         CALL histdef(nid_day,"d_tps_sw_adj0","Adj SW forcing","w/m2",
191     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
192     .                "inst(X)", zstophy,zout)
193
194         CALL histdef(nid_day, "d_tps_lw_adj", "Adj LW forcing", "w/m2",
195     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
196     .                "inst(X)", zstophy,zout)
197
198         CALL histdef(nid_day, "d_tps_lw_adj0", "I LW forcing", "w/m2",
199     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
200     .                "inst(X)", zstophy,zout)
201c srf
202         CALL histdef(nid_day, "d_srf_sw_adj", "Adj SW forcing", "w/m2",
203     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
204     .                "inst(X)", zstophy,zout)
205
206         CALL histdef(nid_day, "d_srf_sw_adj0", "I SW forcing", "w/m2",
207     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
208     .                "inst(X)", zstophy,zout)
209
210         CALL histdef(nid_day, "d_srf_lw_adj", "Adj LW forcing", "w/m2",
211     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
212     .                "inst(X)", zstophy,zout)
213
214         CALL histdef(nid_day, "d_srf_lw_adj0", "I LW forcing", "w/m2",
215     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
216     .                "inst(X)", zstophy,zout)
217!
218! Bilan radiatif de la stratosphere
219!
220       CALL histdef(nid_day,"bilq_ref","reference radiatiave inbalance",
221     .                "w/m2",iim,jjm+1,nhori, 1,1,1, -99, 32,
222     .                "inst(X)", zstophy,zout)
223
224      CALL histdef(nid_day,"bilq_ini","initial radiatiave inbalance",
225     .                "w/m2",iim,jjm+1,nhori, 1,1,1, -99, 32,
226     .                "inst(X)", zstophy,zout)
227
228      CALL histdef(nid_day,"bilq_adj","adjusted radiatiave inbalance",
229     .                "w/m2",iim,jjm+1,nhori, 1,1,1, -99, 32,
230     .                "inst(X)", zstophy,zout)
231c
232c Champs 3D:
233c
234c
235         CALL histdef(nid_day, "temp", "Air temperature", "K",
236     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
237     .                "inst(X)", zstophy,zout)
238c
239         CALL histdef(nid_day, "temp_adj", "Adj. Air temp.", "K",
240     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
241     .                "inst(X)", zstophy,zout)
242c
243         CALL histdef(nid_day, "ovap", "Specific humidity", "kg/kg",
244     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
245     .                "inst(X)", zstophy,zout)
246c
247         CALL histdef(nid_day, 
248     $                "dHrad_dT", "Rad. heating rate deriv", "K/s/K",
249     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
250     .                "inst(X)", zstophy,zout)
251c
252         CALL histdef(nid_day, 
253     $                "heat_ref", "Reference heating rate", "K/s",
254     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
255     .                "inst(X)", zstophy,zout)
256c
257         CALL histdef(nid_day, 
258     $                "heat0_ref", "Reference heating rate CS", "K/s",
259     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
260     .                "inst(X)", zstophy,zout)
261c
262         CALL histdef(nid_day, 
263     $                "cool_ref", "Reference cooling rate", "K/s",
264     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
265     .                "inst(X)", zstophy,zout)
266c
267         CALL histdef(nid_day, 
268     $                "cool0_ref", "Reference cooling rate CS", "K/s",
269     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
270     .                "inst(X)", zstophy,zout)
271c
272         CALL histdef(nid_day, 
273     $                "d_heat_ini", "Heating rate ini diff", "K/s",
274     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
275     .                "inst(X)", zstophy,zout)
276c
277         CALL histdef(nid_day, 
278     $                "d_heat0_ini", "Heating rate CS ini diff", "K/s",
279     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
280     .                "inst(X)", zstophy,zout)
281c
282         CALL histdef(nid_day, 
283     $                "d_cool_ini", "Cooling rate ini diff", "K/s",
284     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
285     .                "inst(X)", zstophy,zout)
286c
287         CALL histdef(nid_day, 
288     $                "d_cool0_ini", "Cooling rate CS ini diff", "K/s",
289     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
290     .                "inst(X)", zstophy,zout)
291c
292         CALL histdef(nid_day, 
293     $                "d_heat_adj", "Heating rate adj diff", "K/s",
294     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
295     .                "inst(X)", zstophy,zout)
296c
297         CALL histdef(nid_day, 
298     $                "d_heat0_adj", "Heating rate CS adj diff", "K/s",
299     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
300     .                "inst(X)", zstophy,zout)
301c
302         CALL histdef(nid_day, 
303     $                "d_cool_adj", "Cooling rate adj diff", "K/s",
304     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
305     .                "inst(X)", zstophy,zout)
306c
307         CALL histdef(nid_day, 
308     $                "d_cool0_adj", "Cooling rate CS adj diff", "K/s",
309     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
310     .                "inst(X)", zstophy,zout)
311
312         CALL histend(nid_day)
313
Note: See TracBrowser for help on using the repository browser.