/[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.7 - (hide annotations) (download)
Tue Aug 30 21:38:55 2005 UTC (18 years, 8 months ago) by heimbach
Branch: MAIN
Changes since 1.6: +91 -1 lines
Adding adjoint EXF variables to AUTODIFF_MONITOR MNC output.

1 heimbach 1.7 C $Header: /u/gcmpack/MITgcm/pkg/autodiff/autodiff_ini_model_io.F,v 1.6 2005/04/27 14:10:06 jmc 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     c
221     #endif
222    
223    
224 heimbach 1.1 C Write coordinates to "adstate" file
225     CALL MNC_CW_SET_UDIM('adstate', 0, myThid)
226     CALL MNC_CW_RS_W('R','adstate',0,0,'XC',xC, myThid)
227     CALL MNC_CW_RS_W('R','adstate',0,0,'YC',yC, myThid)
228     CALL MNC_CW_RS_W('R','adstate',0,0,'XU',xG, myThid)
229     CALL MNC_CW_RS_W('R','adstate',0,0,'YU',yC, myThid)
230     CALL MNC_CW_RS_W('R','adstate',0,0,'XV',xC, myThid)
231     CALL MNC_CW_RS_W('R','adstate',0,0,'YV',yG, myThid)
232     CALL MNC_CW_RS_W('R','adstate',0,0,'XG',xG, myThid)
233     CALL MNC_CW_RS_W('R','adstate',0,0,'YG',yG, myThid)
234     CALL MNC_CW_RS_W('R','adstate',0,0,'RC',rC, myThid)
235     CALL MNC_CW_RS_W('R','adstate',0,0,'RF',rF, myThid)
236    
237     ENDIF
238     #endif
239    
240     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
241    
242     RETURN
243     END

  ViewVC Help
Powered by ViewVC 1.1.22