source: LMDZ4/branches/LMDZ4V5.0-dev/libf/dyn3d/write_paramLMDZ_dyn.h @ 3365

Last change on this file since 3365 was 1299, checked in by Laurent Fairhead, 15 years ago

Nettoyage general pour se rapprocher des normes et éviter des erreurs a la
compilation:

  • tous les FLOAT() sont remplacés par des REAL()
  • tous les STOP dans phylmd sont remplacés par des appels à abort_gcm
  • le common control défini dans le fichier control.h est remplacé par le module control_mod pour éviter des messages sur l'alignement des variables dans les déclarations
  • des $Header$ remplacés par des $Id$ pour svn

Quelques remplacements à faire ont pu m'échapper


General cleanup of the code to try and adhere to norms and to prevent some
compilation errors:

  • all FLOAT() instructions have been replaced by REAL() instructions
  • all STOP instructions in phylmd have been replaced by calls to abort_gcm
  • the common block control defined in the control.h file has been replaced by the control_mod to prevent compilation warnings on the alignement of declared variables
  • $Header$ replaced by $Id$ for svn

Some changes which should have been made might have escaped me

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 8.0 KB
Line 
1! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
2! Attention : il n'y a aucune raison pour ecrire ces constantes
3! comme des champs 2D. A corriger un jour ...
4
5c
6      ndex2d = 0
7      itau_w=itau_dyn+itau
8c
9      zx_tmp_2d(1:iip1,1:jjp1)=REAL(prt_level) 
10      CALL histwrite(nid_ctesGCM, "prt_level", itau_w,
11     .               zx_tmp_2d,iip1*jjp1,ndex2d)
12c
13      zx_tmp_2d(1:iip1,1:jjp1)=REAL(dayref)
14      CALL histwrite(nid_ctesGCM, "dayref", itau_w,
15     .               zx_tmp_2d,iip1*jjp1,ndex2d)
16c
17      zx_tmp_2d(1:iip1,1:jjp1)=REAL(anneeref)
18      CALL histwrite(nid_ctesGCM, "anneeref", itau_w,
19     .               zx_tmp_2d,iip1*jjp1,ndex2d)
20c
21      zx_tmp_2d(1:iip1,1:jjp1)=REAL(raz_date)
22      CALL histwrite(nid_ctesGCM, "raz_date", itau_w,
23     .               zx_tmp_2d,iip1*jjp1,ndex2d)
24c
25      zx_tmp_2d(1:iip1,1:jjp1)=REAL(nday)
26      CALL histwrite(nid_ctesGCM, "nday", itau_w,
27     .               zx_tmp_2d,iip1*jjp1,ndex2d)
28c
29      zx_tmp_2d(1:iip1,1:jjp1)=REAL(day_step)
30      CALL histwrite(nid_ctesGCM, "day_step", itau_w,
31     .               zx_tmp_2d,iip1*jjp1,ndex2d)
32c
33      zx_tmp_2d(1:iip1,1:jjp1)=REAL(iperiod)
34      CALL histwrite(nid_ctesGCM, "iperiod", itau_w,
35     .               zx_tmp_2d,iip1*jjp1,ndex2d)
36c
37      zx_tmp_2d(1:iip1,1:jjp1)=REAL(iapp_tracvl)
38      CALL histwrite(nid_ctesGCM, "iapp_tracvl", itau_w,
39     .               zx_tmp_2d,iip1*jjp1,ndex2d)
40c
41      zx_tmp_2d(1:iip1,1:jjp1)=REAL(iconser)
42      CALL histwrite(nid_ctesGCM, "iconser", itau_w,
43     .               zx_tmp_2d,iip1*jjp1,ndex2d)
44c
45      zx_tmp_2d(1:iip1,1:jjp1)=REAL(iecri)
46      CALL histwrite(nid_ctesGCM, "iecri", itau_w,
47     .               zx_tmp_2d,iip1*jjp1,ndex2d)
48c
49      zx_tmp_2d(1:iip1,1:jjp1)=periodav
50      CALL histwrite(nid_ctesGCM, "periodav", itau_w,
51     .               zx_tmp_2d,iip1*jjp1,ndex2d)
52c
53      zx_tmp_2d(1:iip1,1:jjp1)=REAL(idissip)
54      CALL histwrite(nid_ctesGCM, "idissip", itau_w,
55     .               zx_tmp_2d,iip1*jjp1,ndex2d)
56c
57      IF(lstardis) THEN
58       zx_tmp_2d(1:iip1,1:jjp1)=1.
59      ELSE
60       zx_tmp_2d(1:iip1,1:jjp1)=0.
61      ENDIF
62      CALL histwrite(nid_ctesGCM, "lstardis", itau_w,
63     .               zx_tmp_2d,iip1*jjp1,ndex2d)
64c
65      zx_tmp_2d(1:iip1,1:jjp1)=REAL(nitergdiv)
66      CALL histwrite(nid_ctesGCM, "nitergdiv", itau_w,
67     .               zx_tmp_2d,iip1*jjp1,ndex2d)
68c
69      zx_tmp_2d(1:iip1,1:jjp1)=REAL(nitergrot)
70      CALL histwrite(nid_ctesGCM, "nitergrot", itau_w,
71     .               zx_tmp_2d,iip1*jjp1,ndex2d)
72c
73      zx_tmp_2d(1:iip1,1:jjp1)=REAL(niterh) 
74      CALL histwrite(nid_ctesGCM, "niterh", itau_w,
75     .               zx_tmp_2d,iip1*jjp1,ndex2d)
76c
77      zx_tmp_2d(1:iip1,1:jjp1)=tetagdiv
78      CALL histwrite(nid_ctesGCM, "tetagdiv", itau_w,
79     .               zx_tmp_2d,iip1*jjp1,ndex2d)
80c
81      zx_tmp_2d(1:iip1,1:jjp1)=tetagrot
82      CALL histwrite(nid_ctesGCM, "tetagrot", itau_w,
83     .               zx_tmp_2d,iip1*jjp1,ndex2d)
84c
85      zx_tmp_2d(1:iip1,1:jjp1)=tetatemp
86      CALL histwrite(nid_ctesGCM, "tetatemp", itau_w,
87     .               zx_tmp_2d,iip1*jjp1,ndex2d)
88c
89      zx_tmp_2d(1:iip1,1:jjp1)=coefdis
90      CALL histwrite(nid_ctesGCM, "coefdis", itau_w,
91     .               zx_tmp_2d,iip1*jjp1,ndex2d)
92c
93      IF(purmats) THEN
94       zx_tmp_2d(1:iip1,1:jjp1)=1.
95      ELSE
96       zx_tmp_2d(1:iip1,1:jjp1)=0.
97      ENDIF
98      CALL histwrite(nid_ctesGCM, "purmats", itau_w,
99     .               zx_tmp_2d,iip1*jjp1,ndex2d)
100c
101      IF(ok_guide) THEN
102       zx_tmp_2d(1:iip1,1:jjp1)=1.
103      ELSE
104       zx_tmp_2d(1:iip1,1:jjp1)=0.
105      ENDIF
106      CALL histwrite(nid_ctesGCM, "ok_guide", itau_w,
107     .               zx_tmp_2d,iip1*jjp1,ndex2d)
108c
109      if (calend == 'earth_360d') then
110        zx_tmp_2d(1:iip1,1:jjp1)=1.
111      else if (calend == 'earth_365d') then
112        zx_tmp_2d(1:iip1,1:jjp1)=2.
113      else if (calend == 'earth_366d') then
114        zx_tmp_2d(1:iip1,1:jjp1)=3.
115      endif
116
117      CALL histwrite(nid_ctesGCM, "true_calendar", itau_w,
118     .               zx_tmp_2d,iip1*jjp1,ndex2d)
119c
120      zx_tmp_2d(1:iip1,1:jjp1)=REAL(iflag_phys)
121      CALL histwrite(nid_ctesGCM, "iflag_phys", itau_w,
122     .               zx_tmp_2d,iip1*jjp1,ndex2d)
123c
124      zx_tmp_2d(1:iip1,1:jjp1)=REAL(iphysiq)
125      CALL histwrite(nid_ctesGCM, "iphysiq", itau_w,
126     .               zx_tmp_2d,iip1*jjp1,ndex2d)
127c
128!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
129! FH 2008/05/02
130! La variable cycle_diurne n'est pas vue par la dynamique
131!     IF(cycle_diurne) THEN
132!      zx_tmp_2d(1:iip1,1:jjp1)=1.
133!     ELSE
134!      zx_tmp_2d(1:iip1,1:jjp1)=0.
135!     ENDIF
136!     CALL histwrite(nid_ctesGCM, "cycle_diurne", itau_w,
137!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
138!
139!     IF(soil_model) THEN
140!      zx_tmp_2d(1:iip1,1:jjp1)=1.
141!     ELSE
142!      zx_tmp_2d(1:iip1,1:jjp1)=0.
143!     ENDIF
144!     CALL histwrite(nid_ctesGCM, "soil_model", itau_w,
145!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
146!
147!     IF(new_oliq) THEN
148!      zx_tmp_2d(1:iip1,1:jjp1)=1.
149!     ELSE
150!      zx_tmp_2d(1:iip1,1:jjp1)=0.
151!     ENDIF
152!     CALL histwrite(nid_ctesGCM, "new_oliq", itau_w,
153!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
154!
155!     IF(ok_orodr) THEN
156!      zx_tmp_2d(1:iip1,1:jjp1)=1.
157!     ELSE
158!      zx_tmp_2d(1:iip1,1:jjp1)=0.
159!     ENDIF
160!     CALL histwrite(nid_ctesGCM, "ok_orodr", itau_w,
161!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
162!
163!     IF(ok_orolf) THEN
164!      zx_tmp_2d(1:iip1,1:jjp1)=1.
165!     ELSE
166!      zx_tmp_2d(1:iip1,1:jjp1)=0.
167!     ENDIF
168!     CALL histwrite(nid_ctesGCM, "ok_orolf", itau_w,
169!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
170!
171!     IF(ok_limitvrai) THEN
172!      zx_tmp_2d(1:iip1,1:jjp1)=1.
173!     ELSE
174!      zx_tmp_2d(1:iip1,1:jjp1)=0.
175!     ENDIF
176!     CALL histwrite(nid_ctesGCM, "ok_limitvrai", itau_w,
177!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
178!
179!     zx_tmp_2d(1:iip1,1:jjp1)=nbapp_rad
180!     CALL histwrite(nid_ctesGCM, "nbapp_rad", itau_w,
181!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
182!
183!     zx_tmp_2d(1:iip1,1:jjp1)=iflag_con
184!     CALL histwrite(nid_ctesGCM, "iflag_con", itau_w,
185!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
186!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
187c
188      zx_tmp_2d(1:iip1,1:jjp1)=clon
189      CALL histwrite(nid_ctesGCM, "clon", itau_w,
190     .               zx_tmp_2d,iip1*jjp1,ndex2d)
191c
192      zx_tmp_2d(1:iip1,1:jjp1)=clat
193      CALL histwrite(nid_ctesGCM, "clat", itau_w,
194     .               zx_tmp_2d,iip1*jjp1,ndex2d)
195c
196      zx_tmp_2d(1:iip1,1:jjp1)=grossismx
197      CALL histwrite(nid_ctesGCM, "grossismx", itau_w,
198     .               zx_tmp_2d,iip1*jjp1,ndex2d)
199c
200      zx_tmp_2d(1:iip1,1:jjp1)=grossismy
201      CALL histwrite(nid_ctesGCM, "grossismy", itau_w,
202     .               zx_tmp_2d,iip1*jjp1,ndex2d)
203c
204      IF(fxyhypb) THEN
205       zx_tmp_2d(1:iip1,1:jjp1)=1.
206      ELSE
207       zx_tmp_2d(1:iip1,1:jjp1)=0.
208      ENDIF
209      CALL histwrite(nid_ctesGCM, "fxyhypb", itau_w,
210     .               zx_tmp_2d,iip1*jjp1,ndex2d)
211c
212      zx_tmp_2d(1:iip1,1:jjp1)=dzoomx
213      CALL histwrite(nid_ctesGCM, "dzoomx", itau_w,
214     .               zx_tmp_2d,iip1*jjp1,ndex2d)
215c
216      zx_tmp_2d(1:iip1,1:jjp1)=dzoomy
217      CALL histwrite(nid_ctesGCM, "dzoomy", itau_w,
218     .               zx_tmp_2d,iip1*jjp1,ndex2d)
219c
220      zx_tmp_2d(1:iip1,1:jjp1)=taux
221      CALL histwrite(nid_ctesGCM, "taux", itau_w,
222     .               zx_tmp_2d,iip1*jjp1,ndex2d)
223c
224      zx_tmp_2d(1:iip1,1:jjp1)=tauy
225      CALL histwrite(nid_ctesGCM, "tauy", itau_w,
226     .               zx_tmp_2d,iip1*jjp1,ndex2d)
227c
228      IF(ysinus) THEN
229       zx_tmp_2d(1:iip1,1:jjp1)=1.
230      ELSE
231       zx_tmp_2d(1:iip1,1:jjp1)=0.
232      ENDIF
233      CALL histwrite(nid_ctesGCM, "ysinus", itau_w,
234     .               zx_tmp_2d,iip1*jjp1,ndex2d)
235c
236      zx_tmp_2d(1:iip1,1:jjp1)=ip_ebil_dyn
237      CALL histwrite(nid_ctesGCM, "ip_ebil_dyn", itau_w,
238     .               zx_tmp_2d,iip1*jjp1,ndex2d)
239c
240c=================================================================
241c
242      if (ok_sync) then
243        call histsync(nid_ctesGCM)
244      endif
245c
246c=================================================================
Note: See TracBrowser for help on using the repository browser.