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

Annotation 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 - (hide annotations) (download)
Sun Apr 9 14:46:00 2006 UTC (18 years, 1 month 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 heimbach 1.12 C $Header: /u/gcmpack/MITgcm/pkg/autodiff/autodiff_ini_model_io.F,v 1.11 2006/04/07 10:10:25 heimbach Exp $
2 heimbach 1.1 C $Name: $
3    
4     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
5    
6 jmc 1.6 #include "AUTODIFF_OPTIONS.h"
7 heimbach 1.1
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 heimbach 1.4 & 'adjoint zonal velocity', myThid)
44 heimbach 1.1 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 heimbach 1.4 & 'adjoint merid. velocity', myThid)
51 heimbach 1.1 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 heimbach 1.4 & 'adjoint potential_temperature', myThid)
58 heimbach 1.1 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 heimbach 1.4 & 'adjoint salinity', myThid)
65 heimbach 1.1 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 heimbach 1.4 & 'adjoint free-surface_r-anomaly', myThid)
72 heimbach 1.1 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 heimbach 1.4 & 'adjoint vertical velocity', myThid)
79 heimbach 1.1 CALL MNC_CW_ADD_VATTR_TEXT('adW',
80     & 'coordinates','XC YC RC iter', myThid)
81    
82 heimbach 1.4 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 heimbach 1.3 CALL MNC_CW_ADD_VATTR_TEXT('adSST',
117     & 'units','[cost]/[degC]', myThid)
118     CALL MNC_CW_ADD_VATTR_TEXT('adSST','long_name',
119 heimbach 1.4 & 'adjoint sea_surface_temperature', myThid)
120 heimbach 1.3 CALL MNC_CW_ADD_VATTR_TEXT('adSST',
121     & 'coordinates','XC YC RC iter', myThid)
122 heimbach 1.4 #endif
123 heimbach 1.3
124 heimbach 1.4 #ifdef ALLOW_SSS0_CONTROL
125     CALL MNC_CW_ADD_VNAME( 'adSSS', 'Cen_xy_Hn__-__t', 3,4, myThid)
126 heimbach 1.3 CALL MNC_CW_ADD_VATTR_TEXT('adSSS',
127 heimbach 1.4 & 'units','[cost]/[psu]', myThid)
128 heimbach 1.3 CALL MNC_CW_ADD_VATTR_TEXT('adSSS','long_name',
129 heimbach 1.4 & 'adjoint sea_surface_salinity', myThid)
130 heimbach 1.3 CALL MNC_CW_ADD_VATTR_TEXT('adSSS',
131     & 'coordinates','XC YC RC iter', myThid)
132 heimbach 1.4 #endif
133 heimbach 1.1
134 heimbach 1.11 #ifdef ALLOW_DIFFKR_CONTROL
135 heimbach 1.12 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 heimbach 1.11 & 'coordinates','XC YC RC iter', myThid)
142     #endif
143    
144 heimbach 1.7 #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 heimbach 1.10 # 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 heimbach 1.7 c
249     #endif
250    
251 heimbach 1.8 #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 heimbach 1.7
297 heimbach 1.1 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 heimbach 1.9 #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 heimbach 1.1 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