/[MITgcm]/MITgcm/pkg/autodiff/autodiff_ini_model_io.F
ViewVC logotype

Contents of /MITgcm/pkg/autodiff/autodiff_ini_model_io.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.16 - (show annotations) (download)
Thu Oct 8 08:22:52 2009 UTC (14 years, 7 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint62, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62q, checkpoint62p, checkpoint61w, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.15: +41 -41 lines
comment out writing of grid information to netcdf files: at this time
the grid fields are a bunch of zeros (this is analogous to ini_mnc_vars.F)

1 C $Header: /u/gcmpack/MITgcm/pkg/autodiff/autodiff_ini_model_io.F,v 1.15 2008/02/02 02:35:26 gforget Exp $
2 C $Name: $
3
4 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
5
6 #include "AUTODIFF_OPTIONS.h"
7 #ifdef ALLOW_EXF
8 # include "EXF_OPTIONS.h"
9 #endif
10 #ifdef ALLOW_SEAICE
11 # include "SEAICE_OPTIONS.h"
12 #endif
13
14 CBOP
15 C !ROUTINE: AUTODIFF_INI_MODEL_IO
16 C !INTERFACE:
17 SUBROUTINE AUTODIFF_INI_MODEL_IO( myThid )
18
19 C !DESCRIPTION: \bv
20 C autodiff_ini_model_io() is where run-time/experiment specific data are
21 C passed to any I/O packages ready that will be used for I/O of model state
22 C variables.
23 C This is specifically for setting up once only information such as
24 C shape/size of variables, units, etc... and is only for state variables.
25 C \ev
26
27 IMPLICIT NONE
28 #include "SIZE.h"
29 #include "GRID.h"
30 #include "EEPARAMS.h"
31 #include "PARAMS.h"
32 #ifdef ALLOW_AUTODIFF_MONITOR
33 #include "adcommon.h"
34 #endif
35
36 C !INPUT/OUTPUT PARAMETERS:
37 C myThid - Number of this instances
38 INTEGER myThid
39 CEOP
40
41
42 #if (defined (ALLOW_MNC) && defined (ALLOW_AUTODIFF_MONITOR))
43
44 IF (useMNC) THEN
45
46 CALL MNC_CW_ADD_VNAME('adU', 'U_xy_Hn__C__t', 4,5, myThid)
47 CALL MNC_CW_ADD_VATTR_TEXT('adU','units','[cost]/[m/s]', myThid)
48 CALL MNC_CW_ADD_VATTR_TEXT('adU','long_name',
49 & 'adjoint zonal velocity', myThid)
50 CALL MNC_CW_ADD_VATTR_TEXT('adU',
51 & 'coordinates','XU YU RC iter', myThid)
52
53 CALL MNC_CW_ADD_VNAME('adV', 'V_xy_Hn__C__t', 4,5, myThid)
54 CALL MNC_CW_ADD_VATTR_TEXT('adV','units','[cost]/[m/s]', myThid)
55 CALL MNC_CW_ADD_VATTR_TEXT('adV','long_name',
56 & 'adjoint merid. velocity', myThid)
57 CALL MNC_CW_ADD_VATTR_TEXT('adV',
58 & 'coordinates','XV YV RC iter', myThid)
59
60 CALL MNC_CW_ADD_VNAME('adT', 'Cen_xy_Hn__C__t', 4,5, myThid)
61 CALL MNC_CW_ADD_VATTR_TEXT('adT','units','[cost]/[degC]', myThid)
62 CALL MNC_CW_ADD_VATTR_TEXT('adT','long_name',
63 & 'adjoint potential_temperature', myThid)
64 CALL MNC_CW_ADD_VATTR_TEXT('adT',
65 & 'coordinates','XC YC RC iter', myThid)
66
67 CALL MNC_CW_ADD_VNAME('adS', 'Cen_xy_Hn__C__t', 4,5, myThid)
68 CALL MNC_CW_ADD_VATTR_TEXT('adS','units','[cost]/[psu]', myThid)
69 CALL MNC_CW_ADD_VATTR_TEXT('adS','long_name',
70 & 'adjoint salinity', myThid)
71 CALL MNC_CW_ADD_VATTR_TEXT('adS',
72 & 'coordinates','XC YC RC iter', myThid)
73
74 CALL MNC_CW_ADD_VNAME('adEta', 'Cen_xy_Hn__-__t', 3,4, myThid)
75 CALL MNC_CW_ADD_VATTR_TEXT('adEta','units','[cost]/[m]', myThid)
76 CALL MNC_CW_ADD_VATTR_TEXT('adEta','long_name',
77 & 'adjoint free-surface_r-anomaly', myThid)
78 CALL MNC_CW_ADD_VATTR_TEXT('adEta',
79 & 'coordinates','XC YC RC iter', myThid)
80
81 CALL MNC_CW_ADD_VNAME('adW', 'Cen_xy_Hn__C__t', 4,5, myThid)
82 CALL MNC_CW_ADD_VATTR_TEXT('adW','units','[cost]/[m/s]', myThid)
83 CALL MNC_CW_ADD_VATTR_TEXT('adW','long_name',
84 & 'adjoint vertical velocity', myThid)
85 CALL MNC_CW_ADD_VATTR_TEXT('adW',
86 & 'coordinates','XC YC RC iter', myThid)
87
88 CALL MNC_CW_ADD_VNAME('adQnet', 'Cen_xy_Hn__-__t', 3,4, myThid)
89 CALL MNC_CW_ADD_VATTR_TEXT('adQnet',
90 & 'units','[cost]/[W/m^2]', myThid)
91 CALL MNC_CW_ADD_VATTR_TEXT('adQnet','long_name',
92 & 'adjoint net upward heat flux', myThid)
93 CALL MNC_CW_ADD_VATTR_TEXT('adQnet',
94 & 'coordinates','XC YC RC iter', myThid)
95
96 CALL MNC_CW_ADD_VNAME('adEmpmr', 'Cen_xy_Hn__-__t', 3,4, myThid)
97 CALL MNC_CW_ADD_VATTR_TEXT('adEmpmr',
98 & 'units','[cost]/[m/s]', myThid)
99 CALL MNC_CW_ADD_VATTR_TEXT('adEmpmr','long_name',
100 & 'adjoint net upward freshwater flux', myThid)
101 CALL MNC_CW_ADD_VATTR_TEXT('adEmpmr',
102 & 'coordinates','XC YC RC iter', myThid)
103
104 CALL MNC_CW_ADD_VNAME( 'adFu', 'Cen_xy_Hn__-__t', 3,4, myThid)
105 CALL MNC_CW_ADD_VATTR_TEXT('adFu',
106 & 'units','[cost]/[N/m^2]', myThid)
107 CALL MNC_CW_ADD_VATTR_TEXT('adFu','long_name',
108 & 'adjoint zonal wind stress', myThid)
109 CALL MNC_CW_ADD_VATTR_TEXT('adFu',
110 & 'coordinates','XC YC RC iter', myThid)
111
112 CALL MNC_CW_ADD_VNAME( 'adFv', 'Cen_xy_Hn__-__t', 3,4, myThid)
113 CALL MNC_CW_ADD_VATTR_TEXT('adFv',
114 & 'units','[cost]/[N/m^2]', myThid)
115 CALL MNC_CW_ADD_VATTR_TEXT('adFv','long_name',
116 & 'adjoint zonal meridional stress', myThid)
117 CALL MNC_CW_ADD_VATTR_TEXT('adFv',
118 & 'coordinates','XC YC RC iter', myThid)
119
120 #ifdef ALLOW_SST0_CONTROL
121 CALL MNC_CW_ADD_VNAME( 'adSST', 'Cen_xy_Hn__-__t', 3,4, myThid)
122 CALL MNC_CW_ADD_VATTR_TEXT('adSST',
123 & 'units','[cost]/[degC]', myThid)
124 CALL MNC_CW_ADD_VATTR_TEXT('adSST','long_name',
125 & 'adjoint sea_surface_temperature', myThid)
126 CALL MNC_CW_ADD_VATTR_TEXT('adSST',
127 & 'coordinates','XC YC RC iter', myThid)
128 #endif
129
130 #ifdef ALLOW_SSS0_CONTROL
131 CALL MNC_CW_ADD_VNAME( 'adSSS', 'Cen_xy_Hn__-__t', 3,4, myThid)
132 CALL MNC_CW_ADD_VATTR_TEXT('adSSS',
133 & 'units','[cost]/[psu]', myThid)
134 CALL MNC_CW_ADD_VATTR_TEXT('adSSS','long_name',
135 & 'adjoint sea_surface_salinity', myThid)
136 CALL MNC_CW_ADD_VATTR_TEXT('adSSS',
137 & 'coordinates','XC YC RC iter', myThid)
138 #endif
139
140 #ifdef ALLOW_DIFFKR_CONTROL
141 CALL MNC_CW_ADD_VNAME('adDiffkr', 'Cen_xy_Hn__C__t', 4,5, myThid)
142 CALL MNC_CW_ADD_VATTR_TEXT('adDiffkr',
143 & 'units','[cost]/[m^2/s]', myThid)
144 CALL MNC_CW_ADD_VATTR_TEXT('adDiffkr',
145 & 'long_name','adjoint vertical diffusion', myThid)
146 CALL MNC_CW_ADD_VATTR_TEXT('adDiffkr',
147 & 'coordinates','XC YC RC iter', myThid)
148 #endif
149
150 #ifdef ALLOW_KAPGM_CONTROL
151 CALL MNC_CW_ADD_VNAME('adkapgm', 'Cen_xy_Hn__C__t', 4,5, myThid)
152 CALL MNC_CW_ADD_VATTR_TEXT('adkapgm',
153 & 'units','[cost]/[m^2/s]', myThid)
154 CALL MNC_CW_ADD_VATTR_TEXT('adkapgm',
155 & 'long_name','adjoint isopycnal diffusion', myThid)
156 CALL MNC_CW_ADD_VATTR_TEXT('adkapgm',
157 & 'coordinates','XC YC RC iter', myThid)
158 #endif
159
160 #ifdef ALLOW_KAPREDI_CONTROL
161 CALL MNC_CW_ADD_VNAME('adkapredi', 'Cen_xy_Hn__C__t', 4,5, myThid)
162 CALL MNC_CW_ADD_VATTR_TEXT('adkapredi',
163 & 'units','[cost]/[m^2/s]', myThid)
164 CALL MNC_CW_ADD_VATTR_TEXT('adkapredi',
165 & 'long_name','adjoint isopycnal diffusion', myThid)
166 CALL MNC_CW_ADD_VATTR_TEXT('adkapredi',
167 & 'coordinates','XC YC RC iter', myThid)
168 #endif
169
170 #ifdef ALLOW_EXF
171 c
172 CALL MNC_CW_ADD_VNAME('adustress', 'Cen_xy_Hn__-__t', 3,4, myThid)
173 CALL MNC_CW_ADD_VATTR_TEXT('adustress',
174 & 'units','[cost]/[N/m^2]', myThid)
175 CALL MNC_CW_ADD_VATTR_TEXT('adustress','long_name',
176 & 'adjoint zonal wind stress', myThid)
177 CALL MNC_CW_ADD_VATTR_TEXT('adustress',
178 & 'coordinates','XC YC RC iter', myThid)
179 c
180 CALL MNC_CW_ADD_VNAME('advstress', 'Cen_xy_Hn__-__t', 3,4, myThid)
181 CALL MNC_CW_ADD_VATTR_TEXT('advstress',
182 & 'units','[cost]/[N/m^2]', myThid)
183 CALL MNC_CW_ADD_VATTR_TEXT('advstress','long_name',
184 & 'adjoint meridional wind stress', myThid)
185 CALL MNC_CW_ADD_VATTR_TEXT('advstress',
186 & 'coordinates','XC YC RC iter', myThid)
187 c
188 CALL MNC_CW_ADD_VNAME('adhflux', 'Cen_xy_Hn__-__t', 3,4, myThid)
189 CALL MNC_CW_ADD_VATTR_TEXT('adhflux',
190 & 'units','[cost]/[W/m^2]', myThid)
191 CALL MNC_CW_ADD_VATTR_TEXT('adhflux','long_name',
192 & 'adjoint net upward heat flux', myThid)
193 CALL MNC_CW_ADD_VATTR_TEXT('adhflux',
194 & 'coordinates','XC YC RC iter', myThid)
195 c
196 CALL MNC_CW_ADD_VNAME('adsflux', 'Cen_xy_Hn__-__t', 3,4, myThid)
197 CALL MNC_CW_ADD_VATTR_TEXT('adsflux',
198 & 'units','[cost]/[m/s]', myThid)
199 CALL MNC_CW_ADD_VATTR_TEXT('adsflux','long_name',
200 & 'adjoint net upward freshwater flux', myThid)
201 CALL MNC_CW_ADD_VATTR_TEXT('adsflux',
202 & 'coordinates','XC YC RC iter', myThid)
203 c
204 # ifdef ALLOW_ATM_TEMP
205 CALL MNC_CW_ADD_VNAME('adatemp', 'Cen_xy_Hn__-__t', 3,4, myThid)
206 CALL MNC_CW_ADD_VATTR_TEXT('adatemp',
207 & 'units','[cost]/[degK]', myThid)
208 CALL MNC_CW_ADD_VATTR_TEXT('adatemp','long_name',
209 & 'adjoint surface air temperature', myThid)
210 CALL MNC_CW_ADD_VATTR_TEXT('adatemp',
211 & 'coordinates','XC YC RC iter', myThid)
212 c
213 CALL MNC_CW_ADD_VNAME('adaqh', 'Cen_xy_Hn__-__t', 3,4, myThid)
214 CALL MNC_CW_ADD_VATTR_TEXT('adaqh',
215 & 'units','[cost]/[kg/kg]', myThid)
216 CALL MNC_CW_ADD_VATTR_TEXT('adaqh','long_name',
217 & 'adjoint specific humidity', myThid)
218 CALL MNC_CW_ADD_VATTR_TEXT('adaqh',
219 & 'coordinates','XC YC RC iter', myThid)
220 c
221 CALL MNC_CW_ADD_VNAME('adprecip', 'Cen_xy_Hn__-__t', 3,4, myThid)
222 CALL MNC_CW_ADD_VATTR_TEXT('adprecip',
223 & 'units','[cost]/[m/s]', myThid)
224 CALL MNC_CW_ADD_VATTR_TEXT('adprecip','long_name',
225 & 'adjoint precipitation', myThid)
226 CALL MNC_CW_ADD_VATTR_TEXT('adprecip',
227 & 'coordinates','XC YC RC iter', myThid)
228 # endif
229
230 # ifdef ALLOW_ATM_WIND
231 CALL MNC_CW_ADD_VNAME('aduwind', 'Cen_xy_Hn__-__t', 3,4, myThid)
232 CALL MNC_CW_ADD_VATTR_TEXT('aduwind',
233 & 'units','[cost]/[m/s]', myThid)
234 CALL MNC_CW_ADD_VATTR_TEXT('aduwind','long_name',
235 & 'adjoint zonal wind speed', myThid)
236 CALL MNC_CW_ADD_VATTR_TEXT('aduwind',
237 & 'coordinates','XC YC RC iter', myThid)
238 c
239 CALL MNC_CW_ADD_VNAME('advwind', 'Cen_xy_Hn__-__t', 3,4, myThid)
240 CALL MNC_CW_ADD_VATTR_TEXT('advwind',
241 & 'units','[cost]/[m/s]', myThid)
242 CALL MNC_CW_ADD_VATTR_TEXT('advwind','long_name',
243 & 'adjoint meridional wind speed', myThid)
244 CALL MNC_CW_ADD_VATTR_TEXT('advwind',
245 & 'coordinates','XC YC RC iter', myThid)
246 # endif
247 # ifdef ALLOW_DOWNWARD_RADIATION
248 CALL MNC_CW_ADD_VNAME('adswdown', 'Cen_xy_Hn__-__t', 3,4, myThid)
249 CALL MNC_CW_ADD_VATTR_TEXT('adswdown',
250 & 'units','[cost]/[W/m^2]', myThid)
251 CALL MNC_CW_ADD_VATTR_TEXT('adswdown','long_name',
252 & 'adjoint downward shortwave radiation', myThid)
253 CALL MNC_CW_ADD_VATTR_TEXT('adswdown',
254 & 'coordinates','XC YC RC iter', myThid)
255 # endif
256 # ifdef ALLOW_CLIMSST_RELAXATION
257 CALL MNC_CW_ADD_VNAME('adclimsst', 'Cen_xy_Hn__-__t', 3,4, myThid)
258 CALL MNC_CW_ADD_VATTR_TEXT('adclimsst',
259 & 'units','[cost]/[degC]', myThid)
260 CALL MNC_CW_ADD_VATTR_TEXT('adclimsst','long_name',
261 & 'adjoint sea surface temperature', myThid)
262 CALL MNC_CW_ADD_VATTR_TEXT('adclimsst',
263 & 'coordinates','XC YC RC iter', myThid)
264 # endif
265 # ifdef ALLOW_CLIMSSS_RELAXATION
266 CALL MNC_CW_ADD_VNAME('adclimsss', 'Cen_xy_Hn__-__t', 3,4, myThid)
267 CALL MNC_CW_ADD_VATTR_TEXT('adclimsss',
268 & 'units','[cost]/[ppt]', myThid)
269 CALL MNC_CW_ADD_VATTR_TEXT('adclimsss','long_name',
270 & 'adjoint sea surface salinity', myThid)
271 CALL MNC_CW_ADD_VATTR_TEXT('adclimsss',
272 & 'coordinates','XC YC RC iter', myThid)
273 # endif
274 c
275 #endif
276
277 #ifdef ALLOW_SEAICE
278 c
279 CALL MNC_CW_ADD_VNAME('adarea', 'Cen_xy_Hn__-__t', 3,4, myThid)
280 CALL MNC_CW_ADD_VATTR_TEXT('adarea',
281 & 'units','[cost]/[m^2/m^2]', myThid)
282 CALL MNC_CW_ADD_VATTR_TEXT('adarea','long_name',
283 & 'adjoint fractional ice-covered area', myThid)
284 CALL MNC_CW_ADD_VATTR_TEXT('adarea',
285 & 'coordinates','XC YC RC iter', myThid)
286 c
287 CALL MNC_CW_ADD_VNAME('adheff', 'Cen_xy_Hn__-__t', 3,4, myThid)
288 CALL MNC_CW_ADD_VATTR_TEXT('adheff',
289 & 'units','[cost]/[m]', myThid)
290 CALL MNC_CW_ADD_VATTR_TEXT('adheff','long_name',
291 & 'adjoint effective ice thickness', myThid)
292 CALL MNC_CW_ADD_VATTR_TEXT('adheff',
293 & 'coordinates','XC YC RC iter', myThid)
294 c
295 CALL MNC_CW_ADD_VNAME('adhsnow', 'Cen_xy_Hn__-__t', 3,4, myThid)
296 CALL MNC_CW_ADD_VATTR_TEXT('adhsnow',
297 & 'units','[cost]/[m]', myThid)
298 CALL MNC_CW_ADD_VATTR_TEXT('adhsnow','long_name',
299 & 'adjoint snow thickness', myThid)
300 CALL MNC_CW_ADD_VATTR_TEXT('adhsnow',
301 & 'coordinates','XC YC RC iter', myThid)
302 c
303 # ifdef SEAICE_ALLOW_DYNAMICS
304 CALL MNC_CW_ADD_VNAME('aduice', 'U_xy_Hn__-__t', 3,4, myThid)
305 CALL MNC_CW_ADD_VATTR_TEXT('aduice',
306 & 'units','[cost]/[m/s]', myThid)
307 CALL MNC_CW_ADD_VATTR_TEXT('aduice','long_name',
308 & 'adjoint zonal ice velocity', myThid)
309 CALL MNC_CW_ADD_VATTR_TEXT('aduice',
310 & 'coordinates','XG YG RC iter', myThid)
311 c
312 CALL MNC_CW_ADD_VNAME('advice', 'V_xy_Hn__-__t', 3,4, myThid)
313 CALL MNC_CW_ADD_VATTR_TEXT('advice',
314 & 'units','[cost]/[m/s]', myThid)
315 CALL MNC_CW_ADD_VATTR_TEXT('advice','long_name',
316 & 'adjoint meridional ice velocity', myThid)
317 CALL MNC_CW_ADD_VATTR_TEXT('advice',
318 & 'coordinates','XG YG RC iter', myThid)
319 # endif
320 c
321 #endif
322
323 CC Write coordinates to "adstate" file
324 C CALL MNC_CW_SET_UDIM('adstate', 0, myThid)
325 C CALL MNC_CW_RS_W('R','adstate',0,0,'XC',xC, myThid)
326 C CALL MNC_CW_RS_W('R','adstate',0,0,'YC',yC, myThid)
327 C CALL MNC_CW_RS_W('R','adstate',0,0,'XU',xG, myThid)
328 C CALL MNC_CW_RS_W('R','adstate',0,0,'YU',yC, myThid)
329 C CALL MNC_CW_RS_W('R','adstate',0,0,'XV',xC, myThid)
330 C CALL MNC_CW_RS_W('R','adstate',0,0,'YV',yG, myThid)
331 C CALL MNC_CW_RS_W('R','adstate',0,0,'XG',xG, myThid)
332 C CALL MNC_CW_RS_W('R','adstate',0,0,'YG',yG, myThid)
333 C CALL MNC_CW_RS_W('R','adstate',0,0,'RC',rC, myThid)
334 C CALL MNC_CW_RS_W('R','adstate',0,0,'RF',rF, myThid)
335 C
336 C#ifdef ALLOW_EXF
337 C CALL MNC_CW_SET_UDIM('adexf', 0, myThid)
338 C CALL MNC_CW_RS_W('R','adexf',0,0,'XC',xC, myThid)
339 C CALL MNC_CW_RS_W('R','adexf',0,0,'YC',yC, myThid)
340 C CALL MNC_CW_RS_W('R','adexf',0,0,'XU',xG, myThid)
341 C CALL MNC_CW_RS_W('R','adexf',0,0,'YU',yC, myThid)
342 C CALL MNC_CW_RS_W('R','adexf',0,0,'XV',xC, myThid)
343 C CALL MNC_CW_RS_W('R','adexf',0,0,'YV',yG, myThid)
344 C CALL MNC_CW_RS_W('R','adexf',0,0,'XG',xG, myThid)
345 C CALL MNC_CW_RS_W('R','adexf',0,0,'YG',yG, myThid)
346 C CALL MNC_CW_RS_W('R','adexf',0,0,'RC',rC, myThid)
347 C CALL MNC_CW_RS_W('R','adexf',0,0,'RF',rF, myThid)
348 C#endif
349 C
350 C#ifdef ALLOW_SEAICE
351 C CALL MNC_CW_SET_UDIM('adseaice', 0, myThid)
352 C CALL MNC_CW_RS_W('R','adseaice',0,0,'XC',xC, myThid)
353 C CALL MNC_CW_RS_W('R','adseaice',0,0,'YC',yC, myThid)
354 C CALL MNC_CW_RS_W('R','adseaice',0,0,'XU',xG, myThid)
355 C CALL MNC_CW_RS_W('R','adseaice',0,0,'YU',yC, myThid)
356 C CALL MNC_CW_RS_W('R','adseaice',0,0,'XV',xC, myThid)
357 C CALL MNC_CW_RS_W('R','adseaice',0,0,'YV',yG, myThid)
358 C CALL MNC_CW_RS_W('R','adseaice',0,0,'XG',xG, myThid)
359 C CALL MNC_CW_RS_W('R','adseaice',0,0,'YG',yG, myThid)
360 C CALL MNC_CW_RS_W('R','adseaice',0,0,'RC',rC, myThid)
361 C CALL MNC_CW_RS_W('R','adseaice',0,0,'RF',rF, myThid)
362 C#endif
363
364 ENDIF
365 #endif
366
367 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
368
369 RETURN
370 END

  ViewVC Help
Powered by ViewVC 1.1.22