/[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.12 - (show annotations) (download)
Sun Apr 9 14:46:00 2006 UTC (18 years, 2 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint58l_post, checkpoint58e_post, checkpoint58u_post, checkpoint58r_post, checkpoint58n_post, checkpoint58t_post, checkpoint58h_post, checkpoint58q_post, checkpoint58j_post, checkpoint58f_post, checkpoint58d_post, checkpoint58i_post, checkpoint58g_post, checkpoint58o_post, checkpoint58k_post, checkpoint58s_post, checkpoint58p_post, checkpoint58m_post
Changes since 1.11: +7 -6 lines
Fix 72 char. per line limit.

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

  ViewVC Help
Powered by ViewVC 1.1.22