/[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.7 - (show 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 C $Header: /u/gcmpack/MITgcm/pkg/autodiff/autodiff_ini_model_io.F,v 1.6 2005/04/27 14:10:06 jmc 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_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 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