source: LMDZ4/branches/LMDZ4_AR5/libf/phylmd/write_histforcing.h @ 5385

Last change on this file since 5385 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: 10.0 KB
Line 
1! Ecriture des champs de forcage radiatif
2
3      ndex2d = 0
4      ndex3d = 0
5
6c Champs 2D:
7
8        print*,'itap',m
9c
10      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1, albsfi,zx_tmp_2d)
11      CALL histwrite(nid_day,"albs",m,zx_tmp_2d,
12     s                iim*(jjm+1),ndex2d)
13!
14!     Profil de reference
15c toa
16      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1, toa_sw_ref,zx_tmp_2d)
17      CALL histwrite(nid_day,"toa_sw_ref",m,zx_tmp_2d,
18     s               iim*(jjm+1),ndex2d)
19C
20      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,toa_sw_ref0,zx_tmp_2d)
21      CALL histwrite(nid_day,"toa_sw_ref0",m,zx_tmp_2d,
22     s               iim*(jjm+1),ndex2d)
23c
24      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,toa_lw_ref,zx_tmp_2d)
25      CALL histwrite(nid_day,"toa_lw_ref",m,zx_tmp_2d,
26     .               iim*(jjm+1),ndex2d)
27c
28      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,toa_lw_ref0,zx_tmp_2d)
29      CALL histwrite(nid_day,"toa_lw_ref0",m,zx_tmp_2d,
30     .               iim*(jjm+1),ndex2d)
31c tps
32      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1, tps_sw_ref,zx_tmp_2d)
33      CALL histwrite(nid_day,"tps_sw_ref",m,zx_tmp_2d,
34     s                iim*(jjm+1),ndex2d)
35C
36      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,tps_sw_ref0,zx_tmp_2d)
37      CALL histwrite(nid_day,"tps_sw_ref0",m,zx_tmp_2d,
38     s               iim*(jjm+1),ndex2d)
39c
40      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,tps_lw_ref,zx_tmp_2d)
41      CALL histwrite(nid_day,"tps_lw_ref",m,zx_tmp_2d,
42     .               iim*(jjm+1),ndex2d)
43c
44      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,tps_lw_ref0,zx_tmp_2d)
45      CALL histwrite(nid_day,"tps_lw_ref0",m,zx_tmp_2d,
46     .               iim*(jjm+1),ndex2d)
47c srf
48      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1, srf_sw_ref,zx_tmp_2d)
49      CALL histwrite(nid_day,"srf_sw_ref",m,zx_tmp_2d,
50     s               iim*(jjm+1),ndex2d)
51C
52      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,srf_sw_ref0,zx_tmp_2d)
53      CALL histwrite(nid_day,"srf_sw_ref0",m,zx_tmp_2d,
54     s               iim*(jjm+1),ndex2d)
55c
56      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,srf_lw_ref,zx_tmp_2d)
57      CALL histwrite(nid_day,"srf_lw_ref",m,zx_tmp_2d,
58     .               iim*(jjm+1),ndex2d)
59c
60      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,srf_lw_ref0,zx_tmp_2d)
61      CALL histwrite(nid_day,"srf_lw_ref0",m,zx_tmp_2d,
62     .               iim*(jjm+1),ndex2d)
63!
64! Flux initiaux après perturbation, sans ajustement strato
65!
66c toa
67      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,toa_sw_ini,zx_tmp_2d)
68      CALL histwrite(nid_day,"toa_sw_ini",m,zx_tmp_2d,
69     s                iim*(jjm+1),ndex2d)
70c
71      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,toa_sw_ini0,zx_tmp_2d)
72      CALL histwrite(nid_day,"toa_sw_ini0",m,zx_tmp_2d,
73     s                iim*(jjm+1),ndex2d)
74c
75      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,toa_lw_ini,zx_tmp_2d)
76      CALL histwrite(nid_day,"toa_lw_ini",m,zx_tmp_2d,
77     s                iim*(jjm+1),ndex2d)
78c
79      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,toa_lw_ini0,zx_tmp_2d)
80      CALL histwrite(nid_day,"toa_lw_ini0",m,zx_tmp_2d,
81     s                iim*(jjm+1),ndex2d)
82c tps
83      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1, tps_sw_ini,zx_tmp_2d)
84      CALL histwrite(nid_day,"tps_sw_ini",m,zx_tmp_2d,
85     s                iim*(jjm+1),ndex2d)
86c
87      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,tps_sw_ini0,zx_tmp_2d)
88      CALL histwrite(nid_day,"tps_sw_ini0",m,zx_tmp_2d,
89     s                iim*(jjm+1),ndex2d)
90c
91      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1, tps_lw_ini,zx_tmp_2d)
92      CALL histwrite(nid_day,"tps_lw_ini",m,zx_tmp_2d,
93     s                iim*(jjm+1),ndex2d)
94c
95      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,tps_lw_ini0,zx_tmp_2d)
96      CALL histwrite(nid_day,"tps_lw_ini0",m,zx_tmp_2d,
97     s                iim*(jjm+1),ndex2d)
98!
99! Forcages initiaux après perturbation, sans ajustement strato
100!
101c toa
102      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,d_toa_sw_ini,zx_tmp_2d)
103      CALL histwrite(nid_day,"d_toa_sw_ini",m,zx_tmp_2d,
104     s                iim*(jjm+1),ndex2d)
105c
106      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,d_toa_sw_ini0,zx_tmp_2d)
107      CALL histwrite(nid_day,"d_toa_sw_ini0",m,zx_tmp_2d,
108     s               iim*(jjm+1),ndex2d)
109c
110      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,d_toa_lw_ini,zx_tmp_2d)
111      CALL histwrite(nid_day,"d_toa_lw_ini",m,zx_tmp_2d,
112     s               iim*(jjm+1),ndex2d)
113c
114      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,d_toa_lw_ini0,zx_tmp_2d)
115      CALL histwrite(nid_day,"d_toa_lw_ini0",m,zx_tmp_2d,
116     s               iim*(jjm+1),ndex2d)
117c tps
118      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,d_tps_sw_ini,zx_tmp_2d)
119      CALL histwrite(nid_day,"d_tps_sw_ini",m,zx_tmp_2d,
120     s                iim*(jjm+1),ndex2d)
121c
122      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,d_tps_sw_ini0,zx_tmp_2d)
123      CALL histwrite(nid_day,"d_tps_sw_ini0",m,zx_tmp_2d,
124     s               iim*(jjm+1),ndex2d)
125c
126      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,d_tps_lw_ini,zx_tmp_2d)
127      CALL histwrite(nid_day,"d_tps_lw_ini",m,zx_tmp_2d,
128     s                iim*(jjm+1),ndex2d)
129c
130      CALL gr_fi_ecrit(1, ngridmx,iim,jjm+1,d_tps_lw_ini0,zx_tmp_2d)
131      CALL histwrite(nid_day,"d_tps_lw_ini0",m,zx_tmp_2d,
132     s               iim*(jjm+1),ndex2d)
133!
134! Forcages après ajustement strato
135!
136c toa
137      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_toa_sw_adj,zx_tmp_2d)
138      CALL histwrite(nid_day,"d_toa_sw_adj",m,zx_tmp_2d,
139     s               iim*(jjm+1),ndex2d)
140c
141      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_toa_sw_adj0,zx_tmp_2d)
142      CALL histwrite(nid_day,"d_toa_sw_adj0",m,zx_tmp_2d,
143     .               iim*(jjm+1),ndex2d)
144c
145      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_toa_lw_adj,zx_tmp_2d)
146      CALL histwrite(nid_day,"d_toa_lw_adj",m,zx_tmp_2d,
147     .               iim*(jjm+1),ndex2d)
148c
149      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_toa_lw_adj0,zx_tmp_2d)
150      CALL histwrite(nid_day,"d_toa_lw_adj0",m,zx_tmp_2d,
151     .               iim*(jjm+1),ndex2d)
152c tps
153      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_tps_sw_adj,zx_tmp_2d)
154      CALL histwrite(nid_day,"d_tps_sw_adj",m,zx_tmp_2d,
155     s               iim*(jjm+1),ndex2d)
156c
157      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_tps_sw_adj0,zx_tmp_2d)
158      CALL histwrite(nid_day,"d_tps_sw_adj0",m,zx_tmp_2d,
159     .              iim*(jjm+1), ndex2d)
160c
161      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_tps_lw_adj,zx_tmp_2d)
162      CALL histwrite(nid_day,"d_tps_lw_adj",m,zx_tmp_2d,
163     .               iim*(jjm+1),ndex2d)
164c
165      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_tps_lw_adj0,zx_tmp_2d)
166      CALL histwrite(nid_day,"d_tps_lw_adj0",m,zx_tmp_2d,
167     .               iim*(jjm+1),ndex2d)
168c srf
169      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_srf_sw_adj,zx_tmp_2d)
170      CALL histwrite(nid_day,"d_srf_sw_adj",m,zx_tmp_2d,
171     s               iim*(jjm+1),ndex2d)
172c
173      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_srf_sw_adj0,zx_tmp_2d)
174      CALL histwrite(nid_day,"d_srf_sw_adj0",m,zx_tmp_2d,
175     .               iim*(jjm+1),ndex2d)
176c
177      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_srf_lw_adj,zx_tmp_2d)
178      CALL histwrite(nid_day,"d_srf_lw_adj",m,zx_tmp_2d,
179     .               iim*(jjm+1),ndex2d)
180c
181      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,d_srf_lw_adj0,zx_tmp_2d)
182      CALL histwrite(nid_day,"d_srf_lw_adj0",m,zx_tmp_2d,
183     .               iim*(jjm+1),ndex2d)
184!
185! Bilan radiatif de la stratosphere
186!
187      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,bilq_ref,zx_tmp_2d)
188      CALL histwrite(nid_day,"bilq_ref",m,zx_tmp_2d,
189     .               iim*(jjm+1),ndex2d)
190c
191      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,bilq_ini,zx_tmp_2d)
192      CALL histwrite(nid_day,"bilq_ini",m,zx_tmp_2d,
193     .               iim*(jjm+1),ndex2d)
194c
195      CALL gr_fi_ecrit(1,ngridmx,iim,jjm+1,bilq_adj,zx_tmp_2d)
196      CALL histwrite(nid_day,"bilq_adj",m,zx_tmp_2d,
197     .               iim*(jjm+1),ndex2d)
198c
199c Champs 3D:
200c
201      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,tfi,zx_tmp_3d)
202      CALL histwrite(nid_day,"temp",m,zx_tmp_3d,iim*(jjm+1)*llm,ndex3d)
203c
204      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,tfi_adj,zx_tmp_3d)
205      CALL histwrite(nid_day,"temp_adj",m,zx_tmp_3d
206     $    ,iim*(jjm+1)*llm,ndex3d)
207c
208      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,qfi,zx_tmp_3d)
209      CALL histwrite(nid_day,"ovap",m,zx_tmp_3d,iim*(jjm+1)*llm,ndex3d)
210c
211      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,dHrad_dT,zx_tmp_3d)
212      CALL histwrite(nid_day,"dHrad_dT",m,zx_tmp_3d
213     $    ,iim*(jjm+1)*llm,ndex3d)
214c
215!     Heating and cooling rates
216      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,heat_ref,zx_tmp_3d)
217      CALL histwrite(nid_day,"heat_ref",m,zx_tmp_3d
218     $    ,iim*(jjm+1)*llm,ndex3d)
219c
220      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,heat0_ref,zx_tmp_3d)
221      CALL histwrite(nid_day,"heat0_ref",m,zx_tmp_3d
222     $    ,iim*(jjm+1)*llm,ndex3d)
223c
224      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,cool_ref,zx_tmp_3d)
225      CALL histwrite(nid_day,"cool_ref",m,zx_tmp_3d
226     $    ,iim*(jjm+1)*llm,ndex3d)
227c
228      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,cool0_ref,zx_tmp_3d)
229      CALL histwrite(nid_day,"cool0_ref",m,zx_tmp_3d
230     $    ,iim*(jjm+1)*llm,ndex3d)
231c
232      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,d_heat_ini,zx_tmp_3d)
233      CALL histwrite(nid_day,"d_heat_ini",m,zx_tmp_3d
234     $    ,iim*(jjm+1)*llm,ndex3d)
235c
236      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,d_heat0_ini,zx_tmp_3d)
237      CALL histwrite(nid_day,"d_heat0_ini",m,zx_tmp_3d
238     $    ,iim*(jjm+1)*llm,ndex3d)
239c
240      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,d_cool_ini,zx_tmp_3d)
241      CALL histwrite(nid_day,"d_cool_ini",m,zx_tmp_3d
242     $    ,iim*(jjm+1)*llm,ndex3d)
243c
244      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,d_cool0_ini,zx_tmp_3d)
245      CALL histwrite(nid_day,"d_cool0_ini",m,zx_tmp_3d
246     $    ,iim*(jjm+1)*llm,ndex3d)
247c
248      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,d_heat_adj,zx_tmp_3d)
249      CALL histwrite(nid_day,"d_heat_adj",m,zx_tmp_3d
250     $    ,iim*(jjm+1)*llm,ndex3d)
251c
252      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,d_heat0_adj,zx_tmp_3d)
253      CALL histwrite(nid_day,"d_heat0_adj",m,zx_tmp_3d
254     $    ,iim*(jjm+1)*llm,ndex3d)
255c
256      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,d_cool_adj,zx_tmp_3d)
257      CALL histwrite(nid_day,"d_cool_adj",m,zx_tmp_3d
258     $    ,iim*(jjm+1)*llm,ndex3d)
259c
260      CALL gr_fi_ecrit(llm,ngridmx,iim,jjm+1,d_cool0_adj,zx_tmp_3d)
261      CALL histwrite(nid_day,"d_cool0_adj",m,zx_tmp_3d
262     $    ,iim*(jjm+1)*llm,ndex3d)
263c
264      call histsync(nid_day)
265        print*,'ok histwrite'
Note: See TracBrowser for help on using the repository browser.