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

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

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

revision 1.2 by edhill, Sun Oct 10 06:08:48 2004 UTC revision 1.12 by heimbach, Sun Apr 9 14:46:00 2006 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
5    
6  #include "PACKAGES_CONFIG.h"  #include "AUTODIFF_OPTIONS.h"
 #include "CPP_OPTIONS.h"  
7    
8  CBOP  CBOP
9  C     !ROUTINE: AUTODIFF_INI_MODEL_IO  C     !ROUTINE: AUTODIFF_INI_MODEL_IO
# Line 38  CEOP Line 37  CEOP
37    
38        IF (useMNC) THEN        IF (useMNC) THEN
39    
 C     Create MNC definitions for DYNVARS.h variables  
 c      CALL MNC_CW_ADD_VNAME('iter', '-_-_--__-__t', 0,0, myThid)  
 c      CALL MNC_CW_ADD_VATTR_TEXT('iter',  
 c     &     'long_name','iteration_count', myThid)  
   
 c      CALL MNC_CW_ADD_VNAME('model_time', '-_-_--__-__t', 0,0, myThid)  
 c      CALL MNC_CW_ADD_VATTR_TEXT('model_time',  
 c     &     'long_name','Model Time', myThid)  
 c      CALL MNC_CW_ADD_VATTR_TEXT('model_time','units','s', myThid)  
   
40        CALL MNC_CW_ADD_VNAME('adU', 'U_xy_Hn__C__t', 4,5, myThid)        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)        CALL MNC_CW_ADD_VATTR_TEXT('adU','units','[cost]/[m/s]', myThid)
42        CALL MNC_CW_ADD_VATTR_TEXT('adU','long_name',        CALL MNC_CW_ADD_VATTR_TEXT('adU','long_name',
43       &     'adj. zonal velocity', myThid)       &     'adjoint zonal velocity', myThid)
44        CALL MNC_CW_ADD_VATTR_TEXT('adU',        CALL MNC_CW_ADD_VATTR_TEXT('adU',
45       &     'coordinates','XU YU RC iter', myThid)       &     'coordinates','XU YU RC iter', myThid)
46    
47        CALL MNC_CW_ADD_VNAME('adV', 'V_xy_Hn__C__t', 4,5, myThid)        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)        CALL MNC_CW_ADD_VATTR_TEXT('adV','units','[cost]/[m/s]', myThid)
49        CALL MNC_CW_ADD_VATTR_TEXT('adV','long_name',        CALL MNC_CW_ADD_VATTR_TEXT('adV','long_name',
50       &     'adj. merid. velocity', myThid)       &     'adjoint merid. velocity', myThid)
51        CALL MNC_CW_ADD_VATTR_TEXT('adV',        CALL MNC_CW_ADD_VATTR_TEXT('adV',
52       &     'coordinates','XV YV RC iter', myThid)       &     'coordinates','XV YV RC iter', myThid)
53    
54        CALL MNC_CW_ADD_VNAME('adT', 'Cen_xy_Hn__C__t', 4,5, myThid)        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)        CALL MNC_CW_ADD_VATTR_TEXT('adT','units','[cost]/[degC]', myThid)
56        CALL MNC_CW_ADD_VATTR_TEXT('adT','long_name',        CALL MNC_CW_ADD_VATTR_TEXT('adT','long_name',
57       &     'adj. potential_temperature', myThid)       &     'adjoint potential_temperature', myThid)
58        CALL MNC_CW_ADD_VATTR_TEXT('adT',        CALL MNC_CW_ADD_VATTR_TEXT('adT',
59       &     'coordinates','XC YC RC iter', myThid)       &     'coordinates','XC YC RC iter', myThid)
60    
61        CALL MNC_CW_ADD_VNAME('adS', 'Cen_xy_Hn__C__t', 4,5, myThid)        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)        CALL MNC_CW_ADD_VATTR_TEXT('adS','units','[cost]/[psu]', myThid)
63        CALL MNC_CW_ADD_VATTR_TEXT('adS','long_name',        CALL MNC_CW_ADD_VATTR_TEXT('adS','long_name',
64       &     'adj. salinity', myThid)       &     'adjoint salinity', myThid)
65        CALL MNC_CW_ADD_VATTR_TEXT('adS',        CALL MNC_CW_ADD_VATTR_TEXT('adS',
66       &     'coordinates','XC YC RC iter', myThid)       &     'coordinates','XC YC RC iter', myThid)
67    
68        CALL MNC_CW_ADD_VNAME('adEta', 'Cen_xy_Hn__-__t', 3,4, myThid)        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)        CALL MNC_CW_ADD_VATTR_TEXT('adEta','units','[cost]/[m]', myThid)
70        CALL MNC_CW_ADD_VATTR_TEXT('adEta','long_name',        CALL MNC_CW_ADD_VATTR_TEXT('adEta','long_name',
71       &     'adj. free-surface_r-anomaly', myThid)       &     'adjoint free-surface_r-anomaly', myThid)
72        CALL MNC_CW_ADD_VATTR_TEXT('adEta',        CALL MNC_CW_ADD_VATTR_TEXT('adEta',
73       &     'coordinates','XC YC RC iter', myThid)       &     'coordinates','XC YC RC iter', myThid)
74    
75        CALL MNC_CW_ADD_VNAME('adW', 'Cen_xy_Hn__C__t', 4,5, myThid)        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)        CALL MNC_CW_ADD_VATTR_TEXT('adW','units','[cost]/[m/s]', myThid)
77        CALL MNC_CW_ADD_VATTR_TEXT('adW','long_name',        CALL MNC_CW_ADD_VATTR_TEXT('adW','long_name',
78       &     'adj. vertical velocity', myThid)       &     'adjoint vertical velocity', myThid)
79        CALL MNC_CW_ADD_VATTR_TEXT('adW',        CALL MNC_CW_ADD_VATTR_TEXT('adW',
80       &     'coordinates','XC YC RC iter', myThid)       &     '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  C     Write coordinates to "adstate" file
298        CALL MNC_CW_SET_UDIM('adstate', 0, myThid)        CALL MNC_CW_SET_UDIM('adstate', 0, myThid)
# Line 104  C     Write coordinates to "adstate" fil Line 307  C     Write coordinates to "adstate" fil
307        CALL MNC_CW_RS_W('R','adstate',0,0,'RC',rC, myThid)        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)        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        ENDIF
339  #endif  #endif
340    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.22