/[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.10 - (hide annotations) (download)
Fri Sep 2 23:21:22 2005 UTC (18 years, 8 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint57t_post, checkpoint57v_post, checkpoint57s_post, checkpoint57y_post, checkpoint57y_pre, checkpoint57r_post, checkpoint58, checkpoint57x_post, checkpoint58c_post, checkpoint57w_post, checkpint57u_post, checkpoint58a_post, checkpoint57z_post, checkpoint58b_post
Changes since 1.9: +19 -1 lines
Adding adclimsst adclimsss output to mnc.

1 heimbach 1.10 C $Header: /u/gcmpack/MITgcm/pkg/autodiff/autodiff_ini_model_io.F,v 1.9 2005/08/31 00:04:32 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.7 #ifdef ALLOW_EXF
135     c
136     CALL MNC_CW_ADD_VNAME('adustress', 'Cen_xy_Hn__-__t', 3,4, myThid)
137     CALL MNC_CW_ADD_VATTR_TEXT('adustress',
138     & 'units','[cost]/[N/m^2]', myThid)
139     CALL MNC_CW_ADD_VATTR_TEXT('adustress','long_name',
140     & 'adjoint zonal wind stress', myThid)
141     CALL MNC_CW_ADD_VATTR_TEXT('adustress',
142     & 'coordinates','XC YC RC iter', myThid)
143     c
144     CALL MNC_CW_ADD_VNAME('advstress', 'Cen_xy_Hn__-__t', 3,4, myThid)
145     CALL MNC_CW_ADD_VATTR_TEXT('advstress',
146     & 'units','[cost]/[N/m^2]', myThid)
147     CALL MNC_CW_ADD_VATTR_TEXT('advstress','long_name',
148     & 'adjoint meridional wind stress', myThid)
149     CALL MNC_CW_ADD_VATTR_TEXT('advstress',
150     & 'coordinates','XC YC RC iter', myThid)
151     c
152     CALL MNC_CW_ADD_VNAME('adhflux', 'Cen_xy_Hn__-__t', 3,4, myThid)
153     CALL MNC_CW_ADD_VATTR_TEXT('adhflux',
154     & 'units','[cost]/[W/m^2]', myThid)
155     CALL MNC_CW_ADD_VATTR_TEXT('adhflux','long_name',
156     & 'adjoint net upward heat flux', myThid)
157     CALL MNC_CW_ADD_VATTR_TEXT('adhflux',
158     & 'coordinates','XC YC RC iter', myThid)
159     c
160     CALL MNC_CW_ADD_VNAME('adsflux', 'Cen_xy_Hn__-__t', 3,4, myThid)
161     CALL MNC_CW_ADD_VATTR_TEXT('adsflux',
162     & 'units','[cost]/[m/s]', myThid)
163     CALL MNC_CW_ADD_VATTR_TEXT('adsflux','long_name',
164     & 'adjoint net upward freshwater flux', myThid)
165     CALL MNC_CW_ADD_VATTR_TEXT('adsflux',
166     & 'coordinates','XC YC RC iter', myThid)
167     c
168     # ifdef ALLOW_ATM_TEMP
169     CALL MNC_CW_ADD_VNAME('adatemp', 'Cen_xy_Hn__-__t', 3,4, myThid)
170     CALL MNC_CW_ADD_VATTR_TEXT('adatemp',
171     & 'units','[cost]/[degK]', myThid)
172     CALL MNC_CW_ADD_VATTR_TEXT('adatemp','long_name',
173     & 'adjoint surface air temperature', myThid)
174     CALL MNC_CW_ADD_VATTR_TEXT('adatemp',
175     & 'coordinates','XC YC RC iter', myThid)
176     c
177     CALL MNC_CW_ADD_VNAME('adaqh', 'Cen_xy_Hn__-__t', 3,4, myThid)
178     CALL MNC_CW_ADD_VATTR_TEXT('adaqh',
179     & 'units','[cost]/[kg/kg]', myThid)
180     CALL MNC_CW_ADD_VATTR_TEXT('adaqh','long_name',
181     & 'adjoint specific humidity', myThid)
182     CALL MNC_CW_ADD_VATTR_TEXT('adaqh',
183     & 'coordinates','XC YC RC iter', myThid)
184     c
185     CALL MNC_CW_ADD_VNAME('adprecip', 'Cen_xy_Hn__-__t', 3,4, myThid)
186     CALL MNC_CW_ADD_VATTR_TEXT('adprecip',
187     & 'units','[cost]/[m/s]', myThid)
188     CALL MNC_CW_ADD_VATTR_TEXT('adprecip','long_name',
189     & 'adjoint precipitation', myThid)
190     CALL MNC_CW_ADD_VATTR_TEXT('adprecip',
191     & 'coordinates','XC YC RC iter', myThid)
192     # endif
193    
194     # ifdef ALLOW_ATM_WIND
195     CALL MNC_CW_ADD_VNAME('aduwind', 'Cen_xy_Hn__-__t', 3,4, myThid)
196     CALL MNC_CW_ADD_VATTR_TEXT('aduwind',
197     & 'units','[cost]/[m/s]', myThid)
198     CALL MNC_CW_ADD_VATTR_TEXT('aduwind','long_name',
199     & 'adjoint zonal wind speed', myThid)
200     CALL MNC_CW_ADD_VATTR_TEXT('aduwind',
201     & 'coordinates','XC YC RC iter', myThid)
202     c
203     CALL MNC_CW_ADD_VNAME('advwind', 'Cen_xy_Hn__-__t', 3,4, myThid)
204     CALL MNC_CW_ADD_VATTR_TEXT('advwind',
205     & 'units','[cost]/[m/s]', myThid)
206     CALL MNC_CW_ADD_VATTR_TEXT('advwind','long_name',
207     & 'adjoint meridional wind speed', myThid)
208     CALL MNC_CW_ADD_VATTR_TEXT('advwind',
209     & 'coordinates','XC YC RC iter', myThid)
210     # endif
211     # ifdef ALLOW_DOWNWARD_RADIATION
212     CALL MNC_CW_ADD_VNAME('adswdown', 'Cen_xy_Hn__-__t', 3,4, myThid)
213     CALL MNC_CW_ADD_VATTR_TEXT('adswdown',
214     & 'units','[cost]/[W/m^2]', myThid)
215     CALL MNC_CW_ADD_VATTR_TEXT('adswdown','long_name',
216     & 'adjoint downward shortwave radiation', myThid)
217     CALL MNC_CW_ADD_VATTR_TEXT('adswdown',
218     & 'coordinates','XC YC RC iter', myThid)
219     # endif
220 heimbach 1.10 # ifdef ALLOW_CLIMSST_RELAXATION
221     CALL MNC_CW_ADD_VNAME('adclimsst', 'Cen_xy_Hn__-__t', 3,4, myThid)
222     CALL MNC_CW_ADD_VATTR_TEXT('adclimsst',
223     & 'units','[cost]/[degC]', myThid)
224     CALL MNC_CW_ADD_VATTR_TEXT('adclimsst','long_name',
225     & 'adjoint sea surface temperature', myThid)
226     CALL MNC_CW_ADD_VATTR_TEXT('adclimsst',
227     & 'coordinates','XC YC RC iter', myThid)
228     # endif
229     # ifdef ALLOW_CLIMSSS_RELAXATION
230     CALL MNC_CW_ADD_VNAME('adclimsss', 'Cen_xy_Hn__-__t', 3,4, myThid)
231     CALL MNC_CW_ADD_VATTR_TEXT('adclimsss',
232     & 'units','[cost]/[ppt]', myThid)
233     CALL MNC_CW_ADD_VATTR_TEXT('adclimsss','long_name',
234     & 'adjoint sea surface salinity', myThid)
235     CALL MNC_CW_ADD_VATTR_TEXT('adclimsss',
236     & 'coordinates','XC YC RC iter', myThid)
237     # endif
238 heimbach 1.7 c
239     #endif
240    
241 heimbach 1.8 #ifdef ALLOW_SEAICE
242     c
243     CALL MNC_CW_ADD_VNAME('adarea', 'Cen_xy_Hn__-__t', 3,4, myThid)
244     CALL MNC_CW_ADD_VATTR_TEXT('adarea',
245     & 'units','[cost]/[m^2/m^2]', myThid)
246     CALL MNC_CW_ADD_VATTR_TEXT('adarea','long_name',
247     & 'adjoint fractional ice-covered area', myThid)
248     CALL MNC_CW_ADD_VATTR_TEXT('adarea',
249     & 'coordinates','XC YC RC iter', myThid)
250     c
251     CALL MNC_CW_ADD_VNAME('adheff', 'Cen_xy_Hn__-__t', 3,4, myThid)
252     CALL MNC_CW_ADD_VATTR_TEXT('adheff',
253     & 'units','[cost]/[m]', myThid)
254     CALL MNC_CW_ADD_VATTR_TEXT('adheff','long_name',
255     & 'adjoint effective ice thickness', myThid)
256     CALL MNC_CW_ADD_VATTR_TEXT('adheff',
257     & 'coordinates','XC YC RC iter', myThid)
258     c
259     CALL MNC_CW_ADD_VNAME('adhsnow', 'Cen_xy_Hn__-__t', 3,4, myThid)
260     CALL MNC_CW_ADD_VATTR_TEXT('adhsnow',
261     & 'units','[cost]/[m]', myThid)
262     CALL MNC_CW_ADD_VATTR_TEXT('adhsnow','long_name',
263     & 'adjoint snow thickness', myThid)
264     CALL MNC_CW_ADD_VATTR_TEXT('adhsnow',
265     & 'coordinates','XC YC RC iter', myThid)
266     c
267     # ifdef ALLOW_DYNAMICS
268     CALL MNC_CW_ADD_VNAME('aduice', 'U_xy_Hn__-__t', 3,4, myThid)
269     CALL MNC_CW_ADD_VATTR_TEXT('aduice',
270     & 'units','[cost]/[m/s]', myThid)
271     CALL MNC_CW_ADD_VATTR_TEXT('aduice','long_name',
272     & 'adjoint zonal ice velocity', myThid)
273     CALL MNC_CW_ADD_VATTR_TEXT('aduice',
274     & 'coordinates','XG YG RC iter', myThid)
275     c
276     CALL MNC_CW_ADD_VNAME('advice', 'V_xy_Hn__-__t', 3,4, myThid)
277     CALL MNC_CW_ADD_VATTR_TEXT('advice',
278     & 'units','[cost]/[m/s]', myThid)
279     CALL MNC_CW_ADD_VATTR_TEXT('advice','long_name',
280     & 'adjoint meridional ice velocity', myThid)
281     CALL MNC_CW_ADD_VATTR_TEXT('advice',
282     & 'coordinates','XG YG RC iter', myThid)
283     # endif
284     c
285     #endif
286 heimbach 1.7
287 heimbach 1.1 C Write coordinates to "adstate" file
288     CALL MNC_CW_SET_UDIM('adstate', 0, myThid)
289     CALL MNC_CW_RS_W('R','adstate',0,0,'XC',xC, myThid)
290     CALL MNC_CW_RS_W('R','adstate',0,0,'YC',yC, myThid)
291     CALL MNC_CW_RS_W('R','adstate',0,0,'XU',xG, myThid)
292     CALL MNC_CW_RS_W('R','adstate',0,0,'YU',yC, myThid)
293     CALL MNC_CW_RS_W('R','adstate',0,0,'XV',xC, myThid)
294     CALL MNC_CW_RS_W('R','adstate',0,0,'YV',yG, myThid)
295     CALL MNC_CW_RS_W('R','adstate',0,0,'XG',xG, myThid)
296     CALL MNC_CW_RS_W('R','adstate',0,0,'YG',yG, myThid)
297     CALL MNC_CW_RS_W('R','adstate',0,0,'RC',rC, myThid)
298     CALL MNC_CW_RS_W('R','adstate',0,0,'RF',rF, myThid)
299    
300 heimbach 1.9 #ifdef ALLOW_EXF
301     CALL MNC_CW_SET_UDIM('adexf', 0, myThid)
302     CALL MNC_CW_RS_W('R','adexf',0,0,'XC',xC, myThid)
303     CALL MNC_CW_RS_W('R','adexf',0,0,'YC',yC, myThid)
304     CALL MNC_CW_RS_W('R','adexf',0,0,'XU',xG, myThid)
305     CALL MNC_CW_RS_W('R','adexf',0,0,'YU',yC, myThid)
306     CALL MNC_CW_RS_W('R','adexf',0,0,'XV',xC, myThid)
307     CALL MNC_CW_RS_W('R','adexf',0,0,'YV',yG, myThid)
308     CALL MNC_CW_RS_W('R','adexf',0,0,'XG',xG, myThid)
309     CALL MNC_CW_RS_W('R','adexf',0,0,'YG',yG, myThid)
310     CALL MNC_CW_RS_W('R','adexf',0,0,'RC',rC, myThid)
311     CALL MNC_CW_RS_W('R','adexf',0,0,'RF',rF, myThid)
312     #endif
313    
314     #ifdef ALLOW_SEAICE
315     CALL MNC_CW_SET_UDIM('adseaice', 0, myThid)
316     CALL MNC_CW_RS_W('R','adseaice',0,0,'XC',xC, myThid)
317     CALL MNC_CW_RS_W('R','adseaice',0,0,'YC',yC, myThid)
318     CALL MNC_CW_RS_W('R','adseaice',0,0,'XU',xG, myThid)
319     CALL MNC_CW_RS_W('R','adseaice',0,0,'YU',yC, myThid)
320     CALL MNC_CW_RS_W('R','adseaice',0,0,'XV',xC, myThid)
321     CALL MNC_CW_RS_W('R','adseaice',0,0,'YV',yG, myThid)
322     CALL MNC_CW_RS_W('R','adseaice',0,0,'XG',xG, myThid)
323     CALL MNC_CW_RS_W('R','adseaice',0,0,'YG',yG, myThid)
324     CALL MNC_CW_RS_W('R','adseaice',0,0,'RC',rC, myThid)
325     CALL MNC_CW_RS_W('R','adseaice',0,0,'RF',rF, myThid)
326     #endif
327    
328 heimbach 1.1 ENDIF
329     #endif
330    
331     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
332    
333     RETURN
334     END

  ViewVC Help
Powered by ViewVC 1.1.22