source: LMDZ4/branches/LMDZ4V5.0-LF/libf/phylmd/write_paramLMDZ_phy.h @ 5427

Last change on this file since 5427 was 996, checked in by lsce, 16 years ago
  • Modifications liées au calcul des nouveau sous-fractions
  • Nettoyage de ocean slab : il reste uniquement la version avec glace de mer forcé
  • Nouveaux variables pour distiguer la version et type d'ocean : type_ocean=force/slab/couple, version_ocean=opa8/nemo pour couplé ou version_ocean=sicOBS pour slab

JG

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 11.5 KB
Line 
1c
2      IF (is_sequential) THEN
3     
4      ndex2d = 0
5      itau_w = itau_phy + itap
6c
7c Variables type caractere : plusieurs valeurs possibles
8c
9      IF(type_ocean.EQ.'force ') THEN
10       zx_tmp_2d(1:iim,1:jjmp1)=1.
11      ELSE IF(type_ocean.EQ.'slab  ') THEN
12       zx_tmp_2d(1:iim,1:jjmp1)=2.
13      ELSE IF(type_ocean.EQ.'couple') THEN
14       zx_tmp_2d(1:iim,1:jjmp1)=3.
15      ENDIF
16      CALL histwrite(nid_ctesGCM,"ocean",itau_w,
17     .               zx_tmp_2d,iim*jjmp1,ndex2d)
18c
19      IF(type_run.EQ.'CLIM'.OR.type_run.EQ.'ENSP') THEN
20       zx_tmp_2d(1:iim,1:jjmp1)=1.
21      ELSE IF(type_run.EQ.'AMIP'.OR.type_run.EQ.'CFMI') THEN
22       zx_tmp_2d(1:iim,1:jjmp1)=2.
23      ENDIF
24      CALL histwrite(nid_ctesGCM,"type_run",itau_w,
25     .               zx_tmp_2d,iim*jjmp1,ndex2d)
26c
27c Variables logiques (1=true, 2=false)
28c
29      IF(ok_veget) THEN
30       zx_tmp_2d(1:iim,1:jjmp1)=1.
31      ELSE
32       zx_tmp_2d(1:iim,1:jjmp1)=0.
33      ENDIF
34      CALL histwrite(nid_ctesGCM,"ok_veget",itau_w,
35     .               zx_tmp_2d,iim*jjmp1,ndex2d)
36c
37      IF(ok_journe) THEN
38       zx_tmp_2d(1:iim,1:jjmp1)=1.
39      ELSE
40       zx_tmp_2d(1:iim,1:jjmp1)=0.
41      ENDIF
42      CALL histwrite(nid_ctesGCM,"ok_journe",itau_w,
43     .               zx_tmp_2d,iim*jjmp1,ndex2d)
44c
45      IF(ok_mensuel) THEN
46       zx_tmp_2d(1:iim,1:jjmp1)=1.
47      ELSE
48       zx_tmp_2d(1:iim,1:jjmp1)=0.
49      ENDIF
50      CALL histwrite(nid_ctesGCM,"ok_mensuel",itau_w,
51     .               zx_tmp_2d,iim*jjmp1,ndex2d)
52c
53      IF(ok_instan) THEN
54       zx_tmp_2d(1:iim,1:jjmp1)=1.
55      ELSE
56       zx_tmp_2d(1:iim,1:jjmp1)=0.
57      ENDIF
58      CALL histwrite(nid_ctesGCM,"ok_instan",itau_w,
59     .               zx_tmp_2d,iim*jjmp1,ndex2d)
60c
61      IF(ok_ade) THEN
62       zx_tmp_2d(1:iim,1:jjmp1)=1.
63      ELSE
64       zx_tmp_2d(1:iim,1:jjmp1)=0.
65      ENDIF
66      CALL histwrite(nid_ctesGCM,"ok_ade",itau_w,
67     .               zx_tmp_2d,iim*jjmp1,ndex2d)
68c
69      IF(ok_aie) THEN
70       zx_tmp_2d(1:iim,1:jjmp1)=1.
71      ELSE
72       zx_tmp_2d(1:iim,1:jjmp1)=0.
73      ENDIF
74      CALL histwrite(nid_ctesGCM,"ok_aie",itau_w,
75     .               zx_tmp_2d,iim*jjmp1,ndex2d)
76c
77
78c
79c Champs 2D:
80c
81      zx_tmp_2d(1:iim,1:jjmp1)=bl95_b0
82      CALL histwrite(nid_ctesGCM,"bl95_b0",itau_w,
83     .               zx_tmp_2d,iim*jjmp1,ndex2d)
84c
85      zx_tmp_2d(1:iim,1:jjmp1)=bl95_b1
86      CALL histwrite(nid_ctesGCM,"bl95_b1",itau_w,
87     .               zx_tmp_2d,iim*jjmp1,ndex2d)
88c
89      zx_tmp_2d(1:iim,1:jjmp1)=ip_ebil_phy
90      CALL histwrite(nid_ctesGCM,"ip_ebil_phy",itau_w,
91     .               zx_tmp_2d,iim*jjmp1,ndex2d)
92c
93      zx_tmp_2d(1:iim,1:jjmp1)=R_ecc
94      CALL histwrite(nid_ctesGCM,"R_ecc",itau_w,
95     .               zx_tmp_2d,iim*jjmp1,ndex2d)
96c
97      zx_tmp_2d(1:iim,1:jjmp1)=R_peri
98      CALL histwrite(nid_ctesGCM,"R_peri",itau_w,
99     .               zx_tmp_2d,iim*jjmp1,ndex2d)
100c
101      zx_tmp_2d(1:iim,1:jjmp1)=R_incl
102      CALL histwrite(nid_ctesGCM,"R_incl",itau_w,
103     .               zx_tmp_2d,iim*jjmp1,ndex2d)
104c
105      zx_tmp_2d(1:iim,1:jjmp1)=solaire
106      CALL histwrite(nid_ctesGCM,"solaire",itau_w,
107     .               zx_tmp_2d,iim*jjmp1,ndex2d)
108c
109      zx_tmp_2d(1:iim,1:jjmp1)=co2_ppm
110      CALL histwrite(nid_ctesGCM,"co2_ppm",itau_w,
111     .               zx_tmp_2d,iim*jjmp1,ndex2d)
112c
113      zx_tmp_2d(1:iim,1:jjmp1)=CH4_ppb
114      CALL histwrite(nid_ctesGCM,"CH4_ppb",itau_w,
115     .               zx_tmp_2d,iim*jjmp1,ndex2d)
116c
117      zx_tmp_2d(1:iim,1:jjmp1)=N2O_ppb
118      CALL histwrite(nid_ctesGCM,"N2O_ppb",itau_w,
119     .               zx_tmp_2d,iim*jjmp1,ndex2d)
120c
121      zx_tmp_2d(1:iim,1:jjmp1)=CFC11_ppt
122      CALL histwrite(nid_ctesGCM,"CFC11_ppt",itau_w,
123     .               zx_tmp_2d,iim*jjmp1,ndex2d)
124c
125      zx_tmp_2d(1:iim,1:jjmp1)=CFC12_ppt
126      CALL histwrite(nid_ctesGCM,"CFC12_ppt",itau_w,
127     .               zx_tmp_2d,iim*jjmp1,ndex2d)
128c
129      zx_tmp_2d(1:iim,1:jjmp1)=epmax
130      CALL histwrite(nid_ctesGCM,"epmax",itau_w,
131     .               zx_tmp_2d,iim*jjmp1,ndex2d)
132c
133!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
134! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
135! Mais est-il bien raisonable de stoker ces fichiers comme des
136! champs 2D...
137! WARNING :
138! Il faudrait ici ajoute l'ecriture des champs
139!      cycle_diurne = cycle_diurne_omp
140!   soil_model = soil_model_omp
141!   new_oliq = new_oliq_omp
142!   ok_orodr = ok_orodr_omp
143!   ok_orolf = ok_orolf_omp
144!   ok_limitvrai = ok_limitvrai_omp
145!   nbapp_rad = nbapp_rad_omp
146!   iflag_con = iflag_con_omp
147! qui se trouvaient auparavant dans gcm.def et maintenant dans
148! physiq.def.
149! Mais regarder d'abord a quoi ca sert ...
150!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
151
152
153c
154      IF(ok_adj_ema) THEN
155       zx_tmp_2d(1:iim,1:jjmp1)=1.
156      ELSE
157       zx_tmp_2d(1:iim,1:jjmp1)=0.
158      ENDIF
159      CALL histwrite(nid_ctesGCM,"ok_adj_ema",itau_w,
160     .               zx_tmp_2d,iim*jjmp1,ndex2d)
161c
162      zx_tmp_2d(1:iim,1:jjmp1)=iflag_clw
163      CALL histwrite(nid_ctesGCM,"iflag_clw",itau_w,
164     .               zx_tmp_2d,iim*jjmp1,ndex2d)
165c
166      zx_tmp_2d(1:iim,1:jjmp1)=cld_lc_lsc
167      CALL histwrite(nid_ctesGCM,"cld_lc_lsc",itau_w,
168     .               zx_tmp_2d,iim*jjmp1,ndex2d)
169c
170      zx_tmp_2d(1:iim,1:jjmp1)=cld_lc_con
171      CALL histwrite(nid_ctesGCM,"cld_lc_con",itau_w,
172     .               zx_tmp_2d,iim*jjmp1,ndex2d)
173c
174      zx_tmp_2d(1:iim,1:jjmp1)=cld_tau_lsc
175      CALL histwrite(nid_ctesGCM,"cld_tau_lsc",itau_w,
176     .               zx_tmp_2d,iim*jjmp1,ndex2d)
177c
178      zx_tmp_2d(1:iim,1:jjmp1)=cld_tau_con
179      CALL histwrite(nid_ctesGCM,"cld_tau_con",itau_w,
180     .               zx_tmp_2d,iim*jjmp1,ndex2d)
181c
182      zx_tmp_2d(1:iim,1:jjmp1)=ffallv_lsc
183      CALL histwrite(nid_ctesGCM,"ffallv_lsc",itau_w,
184     .               zx_tmp_2d,iim*jjmp1,ndex2d)
185c
186      zx_tmp_2d(1:iim,1:jjmp1)=ffallv_con
187      CALL histwrite(nid_ctesGCM,"ffallv_con",itau_w,
188     .               zx_tmp_2d,iim*jjmp1,ndex2d)
189c
190      zx_tmp_2d(1:iim,1:jjmp1)=coef_eva
191      CALL histwrite(nid_ctesGCM,"coef_eva",itau_w,
192     .               zx_tmp_2d,iim*jjmp1,ndex2d)
193c
194      IF(reevap_ice) THEN
195       zx_tmp_2d(1:iim,1:jjmp1)=1.
196      ELSE
197       zx_tmp_2d(1:iim,1:jjmp1)=0.
198      ENDIF
199      CALL histwrite(nid_ctesGCM,"reevap_ice",itau_w,
200     .               zx_tmp_2d,iim*jjmp1,ndex2d)
201c
202      zx_tmp_2d(1:iim,1:jjmp1)=iflag_cldcon
203      CALL histwrite(nid_ctesGCM,"iflag_cldcon",itau_w,
204     .               zx_tmp_2d,iim*jjmp1,ndex2d)
205c
206      zx_tmp_2d(1:iim,1:jjmp1)=iflag_pdf
207      CALL histwrite(nid_ctesGCM,"iflag_pdf",itau_w,
208     .               zx_tmp_2d,iim*jjmp1,ndex2d)
209c
210      zx_tmp_2d(1:iim,1:jjmp1)=fact_cldcon
211      CALL histwrite(nid_ctesGCM,"fact_cldcon",itau_w,
212     .               zx_tmp_2d,iim*jjmp1,ndex2d)
213c
214      zx_tmp_2d(1:iim,1:jjmp1)=facttemps
215      CALL histwrite(nid_ctesGCM,"facttemps",itau_w,
216     .               zx_tmp_2d,iim*jjmp1,ndex2d)
217c
218      IF(ok_newmicro) THEN
219       zx_tmp_2d(1:iim,1:jjmp1)=1.
220      ELSE
221       zx_tmp_2d(1:iim,1:jjmp1)=0.
222      ENDIF
223      CALL histwrite(nid_ctesGCM,"ok_newmicro",itau_w,
224     .               zx_tmp_2d,iim*jjmp1,ndex2d)
225c
226      zx_tmp_2d(1:iim,1:jjmp1)=ratqsbas
227      CALL histwrite(nid_ctesGCM,"ratqsbas",itau_w,
228     .               zx_tmp_2d,iim*jjmp1,ndex2d)
229c
230      zx_tmp_2d(1:iim,1:jjmp1)=ratqshaut
231      CALL histwrite(nid_ctesGCM,"ratqshaut",itau_w,
232     .               zx_tmp_2d,iim*jjmp1,ndex2d)
233c
234      zx_tmp_2d(1:iim,1:jjmp1)=rad_froid
235      CALL histwrite(nid_ctesGCM,"rad_froid",itau_w,
236     .               zx_tmp_2d,iim*jjmp1,ndex2d)
237c
238      zx_tmp_2d(1:iim,1:jjmp1)=rad_chau1
239      CALL histwrite(nid_ctesGCM,"rad_chau1",itau_w,
240     .               zx_tmp_2d,iim*jjmp1,ndex2d)
241c
242      zx_tmp_2d(1:iim,1:jjmp1)=rad_chau2
243      CALL histwrite(nid_ctesGCM,"rad_chau2",itau_w,
244     .               zx_tmp_2d,iim*jjmp1,ndex2d)
245c
246      zx_tmp_2d(1:iim,1:jjmp1)=top_height
247      CALL histwrite(nid_ctesGCM,"top_height",itau_w,
248     .               zx_tmp_2d,iim*jjmp1,ndex2d)
249c
250      zx_tmp_2d(1:iim,1:jjmp1)=overlap
251      CALL histwrite(nid_ctesGCM,"overlap",itau_w,
252     .               zx_tmp_2d,iim*jjmp1,ndex2d)
253c
254      zx_tmp_2d(1:iim,1:jjmp1)=cdmmax
255      CALL histwrite(nid_ctesGCM,"cdmmax",itau_w,
256     .               zx_tmp_2d,iim*jjmp1,ndex2d)
257c
258      zx_tmp_2d(1:iim,1:jjmp1)=cdhmax
259      CALL histwrite(nid_ctesGCM,"cdhmax",itau_w,
260     .               zx_tmp_2d,iim*jjmp1,ndex2d)
261c
262      zx_tmp_2d(1:iim,1:jjmp1)=ksta
263      CALL histwrite(nid_ctesGCM,"ksta",itau_w,
264     .               zx_tmp_2d,iim*jjmp1,ndex2d)
265c
266      zx_tmp_2d(1:iim,1:jjmp1)=ksta_ter
267      CALL histwrite(nid_ctesGCM,"ksta_ter",itau_w,
268     .               zx_tmp_2d,iim*jjmp1,ndex2d)
269c
270      IF(ok_kzmin) THEN
271       zx_tmp_2d(1:iim,1:jjmp1)=1.
272      ELSE
273       zx_tmp_2d(1:iim,1:jjmp1)=0.
274      ENDIF
275      CALL histwrite(nid_ctesGCM,"ok_kzmin",itau_w,
276     .               zx_tmp_2d,iim*jjmp1,ndex2d)
277c
278      zx_tmp_2d(1:iim,1:jjmp1)=iflag_pbl
279      CALL histwrite(nid_ctesGCM,"iflag_pbl",itau_w,
280     .               zx_tmp_2d,iim*jjmp1,ndex2d)
281c
282      zx_tmp_2d(1:iim,1:jjmp1)=lev_histhf
283      CALL histwrite(nid_ctesGCM,"lev_histhf",itau_w,
284     .               zx_tmp_2d,iim*jjmp1,ndex2d)
285c
286      zx_tmp_2d(1:iim,1:jjmp1)=lev_histday
287      CALL histwrite(nid_ctesGCM,"lev_histday",itau_w,
288     .               zx_tmp_2d,iim*jjmp1,ndex2d)
289c
290      zx_tmp_2d(1:iim,1:jjmp1)=lev_histmth
291      CALL histwrite(nid_ctesGCM,"lev_histmth",itau_w,
292     .               zx_tmp_2d,iim*jjmp1,ndex2d)
293c
294      IF(ok_isccp) THEN
295       zx_tmp_2d(1:iim,1:jjmp1)=1.
296      ELSE
297       zx_tmp_2d(1:iim,1:jjmp1)=0.
298      ENDIF
299      CALL histwrite(nid_ctesGCM,"ok_isccp",itau_w,
300     .               zx_tmp_2d,iim*jjmp1,ndex2d)
301c
302      zx_tmp_2d(1:iim,1:jjmp1)=lonmin_ins
303      CALL histwrite(nid_ctesGCM,"lonmin_ins",itau_w,
304     .               zx_tmp_2d,iim*jjmp1,ndex2d)
305c
306      zx_tmp_2d(1:iim,1:jjmp1)=lonmax_ins
307      CALL histwrite(nid_ctesGCM,"lonmax_ins",itau_w,
308     .               zx_tmp_2d,iim*jjmp1,ndex2d)
309c
310      zx_tmp_2d(1:iim,1:jjmp1)=latmin_ins
311      CALL histwrite(nid_ctesGCM,"latmin_ins",itau_w,
312     .               zx_tmp_2d,iim*jjmp1,ndex2d)
313c
314      zx_tmp_2d(1:iim,1:jjmp1)=latmax_ins
315      CALL histwrite(nid_ctesGCM,"latmax_ins",itau_w,
316     .               zx_tmp_2d,iim*jjmp1,ndex2d)
317c
318      zx_tmp_2d(1:iim,1:jjmp1)=ecrit_ins
319      CALL histwrite(nid_ctesGCM,"ecrit_ins",itau_w,
320     .               zx_tmp_2d,iim*jjmp1,ndex2d)
321c
322      zx_tmp_2d(1:iim,1:jjmp1)=ecrit_hf
323      CALL histwrite(nid_ctesGCM,"ecrit_hf",itau_w,
324     .               zx_tmp_2d,iim*jjmp1,ndex2d)
325c
326      zx_tmp_2d(1:iim,1:jjmp1)=ecrit_day
327      CALL histwrite(nid_ctesGCM,"ecrit_day",itau_w,
328     .               zx_tmp_2d,iim*jjmp1,ndex2d)
329c
330      zx_tmp_2d(1:iim,1:jjmp1)=ecrit_mth
331      CALL histwrite(nid_ctesGCM,"ecrit_mth",itau_w,
332     .               zx_tmp_2d,iim*jjmp1,ndex2d)
333c
334      zx_tmp_2d(1:iim,1:jjmp1)=ecrit_tra
335      CALL histwrite(nid_ctesGCM,"ecrit_tra",itau_w,
336     .               zx_tmp_2d,iim*jjmp1,ndex2d)
337c
338      zx_tmp_2d(1:iim,1:jjmp1)=ecrit_reg
339      CALL histwrite(nid_ctesGCM,"ecrit_reg",itau_w,
340     .               zx_tmp_2d,iim*jjmp1,ndex2d)
341c
342      zx_tmp_2d(1:iim,1:jjmp1)=freq_ISCCP
343      CALL histwrite(nid_ctesGCM,"freq_ISCCP",itau_w,
344     .               zx_tmp_2d,iim*jjmp1,ndex2d)
345c
346      zx_tmp_2d(1:iim,1:jjmp1)=ecrit_ISCCP
347      CALL histwrite(nid_ctesGCM,"ecrit_ISCCP",itau_w,
348     .               zx_tmp_2d,iim*jjmp1,ndex2d)
349c
350c=================================================================
351c=================================================================
352c=================================================================
353c
354      if (ok_sync) then
355        call histsync(nid_ctesGCM)
356      endif
357c
358      ENDIF ! mono_cpu
Note: See TracBrowser for help on using the repository browser.