/[MITgcm]/MITgcm/model/src/ini_model_io.F
ViewVC logotype

Contents of /MITgcm/model/src/ini_model_io.F

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


Revision 1.18 - (show annotations) (download)
Fri May 13 20:36:58 2005 UTC (19 years ago) by baylor
Branch: MAIN
CVS Tags: checkpoint57h_done, checkpoint57h_post
Changes since 1.17: +3 -3 lines
Change Grid for W in mnc state files.

1 C $Header: /u/gcmpack/MITgcm/model/src/ini_model_io.F,v 1.17 2005/04/03 05:16:43 edhill Exp $
2 C $Name: $
3
4 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
5
6 #include "PACKAGES_CONFIG.h"
7 #include "CPP_OPTIONS.h"
8
9 CBOP
10 C !ROUTINE: INI_MODEL_IO
11
12 C !INTERFACE:
13 SUBROUTINE INI_MODEL_IO( myThid )
14
15 C !DESCRIPTION:
16 C Pass specific setup data to any I/O packages necessary for I/O of
17 C model state variables. This is specifically for setting up (once
18 C only!) information such as shape/size of variables, units,
19 C etc... and is primarily for state and snapshot variables.
20
21 C !USES:
22 IMPLICIT NONE
23 #include "SIZE.h"
24 #include "GRID.h"
25 #include "EEPARAMS.h"
26 #include "PARAMS.h"
27
28 C !INPUT/OUTPUT PARAMETERS:
29 C myThid - Number of this instances
30 INTEGER myThid
31 CEOP
32
33
34 C Flags specific to RW and MDSIO
35 C Set globalFiles flag for READ_WRITE_FLD package
36 CALL SET_WRITE_GLOBAL_FLD( globalFiles )
37 C Set globalFiles flag for READ_WRITE_REC package
38 CALL SET_WRITE_GLOBAL_REC( globalFiles )
39 C Set globalFiles flag for READ_WRITE_REC package
40 CALL SET_WRITE_GLOBAL_PICKUP( globalFiles )
41
42 #ifdef ALLOW_MNC
43 IF (useMNC) THEN
44
45 C Define coordinates for all MNC files ---------------------------------
46 C XC
47 CALL MNC_CW_ADD_VNAME('XC', 'Cen_xy_Hn__-__-', 3,4, myThid)
48 CALL MNC_CW_ADD_VATTR_TEXT('XC','description',
49 & 'X coordinate of cell center (T-P point)',myThid)
50 CALL MNC_CW_ADD_VATTR_TEXT('XC',
51 & 'units', 'degree_east', myThid)
52
53 C YC
54 CALL MNC_CW_ADD_VNAME('YC', 'Cen_xy_Hn__-__-', 3,4, myThid)
55 CALL MNC_CW_ADD_VATTR_TEXT('YC','description',
56 & 'Y coordinate of cell center (T-P point)',myThid)
57 CALL MNC_CW_ADD_VATTR_TEXT('YC',
58 & 'units', 'degree_north', myThid)
59
60 C XU
61 CALL MNC_CW_ADD_VNAME('XU', 'U_xy_Hn__-__-', 3,4, myThid)
62 CALL MNC_CW_ADD_VATTR_TEXT('XU','description',
63 & 'X coordinate of U point',myThid)
64 CALL MNC_CW_ADD_VATTR_TEXT('XU',
65 & 'units', 'degree_east', myThid)
66
67 C YU
68 CALL MNC_CW_ADD_VNAME('YU', 'U_xy_Hn__-__-', 3,4, myThid)
69 CALL MNC_CW_ADD_VATTR_TEXT('YU','description',
70 & 'Y coordinate of U point',myThid)
71 CALL MNC_CW_ADD_VATTR_TEXT('YU',
72 & 'units', 'degree_north', myThid)
73
74 C XV
75 CALL MNC_CW_ADD_VNAME('XV', 'V_xy_Hn__-__-', 3,4, myThid)
76 CALL MNC_CW_ADD_VATTR_TEXT('XV','description',
77 & 'X coordinate of V point',myThid)
78 CALL MNC_CW_ADD_VATTR_TEXT('XV',
79 & 'units', 'degree_east', myThid)
80
81 C YV
82 CALL MNC_CW_ADD_VNAME('YV', 'V_xy_Hn__-__-', 3,4, myThid)
83 CALL MNC_CW_ADD_VATTR_TEXT('YV','description',
84 & 'Y coordinate of V point',myThid)
85 CALL MNC_CW_ADD_VATTR_TEXT('YV',
86 & 'units', 'degree_north', myThid)
87
88 C XG
89 CALL MNC_CW_ADD_VNAME('XG', 'Cor_xy_Hn__-__-', 3,4, myThid)
90 CALL MNC_CW_ADD_VATTR_TEXT('XG','description',
91 & 'X coordinate of cell corner (Vorticity point)',myThid)
92 CALL MNC_CW_ADD_VATTR_TEXT('XG',
93 & 'units', 'degree_east', myThid)
94
95 C YG
96 CALL MNC_CW_ADD_VNAME('YG', 'Cor_xy_Hn__-__-', 3,4, myThid)
97 CALL MNC_CW_ADD_VATTR_TEXT('YG','description',
98 & 'Y coordinate of cell corner (Vorticity point)',myThid)
99 CALL MNC_CW_ADD_VATTR_TEXT('YG',
100 & 'units', 'degree_north', myThid)
101
102 C RC
103 CALL MNC_CW_ADD_VNAME('RC', '-_-_--__C__-', 0,0, myThid)
104 CALL MNC_CW_ADD_VATTR_TEXT('RC','description',
105 & 'R coordinate of cell center',myThid)
106 CALL MNC_CW_ADD_VATTR_TEXT('RC',
107 & 'units', 'm', myThid)
108
109 C RF
110 CALL MNC_CW_ADD_VNAME('RF', '-_-_--__I__-', 0,0, myThid)
111 CALL MNC_CW_ADD_VATTR_TEXT('RF','description',
112 & 'R coordinate of cell interface',myThid)
113 CALL MNC_CW_ADD_VATTR_TEXT('RF',
114 & 'units', 'm', myThid)
115
116 C RL
117 CALL MNC_CW_ADD_VNAME('RL', '-_-_--__L__-', 0,0, myThid)
118 CALL MNC_CW_ADD_VATTR_TEXT('RL','description',
119 & 'R coordinate of lower interface',myThid)
120 CALL MNC_CW_ADD_VATTR_TEXT('RL',
121 & 'units', 'm', myThid)
122
123 C RU
124 CALL MNC_CW_ADD_VNAME('RU', '-_-_--__U__-', 0,0, myThid)
125 CALL MNC_CW_ADD_VATTR_TEXT('RU','description',
126 & 'R coordinate of upper interface',myThid)
127 CALL MNC_CW_ADD_VATTR_TEXT('RU',
128 & 'units', 'm', myThid)
129 C End define coordinates for all MNC files ----------------------------
130
131
132 C Create MNC definitions for DYNVARS.h variables
133 CALL MNC_CW_ADD_VNAME('T', '-_-_--__-__t', 0,0, myThid)
134 CALL MNC_CW_ADD_VATTR_TEXT('T',
135 & 'long_name','iteration_count', myThid)
136
137 CALL MNC_CW_ADD_VNAME('model_time', '-_-_--__-__t', 0,0, myThid)
138 CALL MNC_CW_ADD_VATTR_TEXT('model_time',
139 & 'long_name','Model Time', myThid)
140 CALL MNC_CW_ADD_VATTR_TEXT('model_time','units','s', myThid)
141
142 CALL MNC_CW_ADD_VNAME('U', 'U_xy_Hn__C__t', 4,5, myThid)
143 CALL MNC_CW_ADD_VATTR_TEXT('U','units','m/s', myThid)
144 CALL MNC_CW_ADD_VATTR_TEXT('U',
145 & 'coordinates','XU YU RC iter', myThid)
146
147 CALL MNC_CW_ADD_VNAME('V', 'V_xy_Hn__C__t', 4,5, myThid)
148 CALL MNC_CW_ADD_VATTR_TEXT('V','units','m/s', myThid)
149 CALL MNC_CW_ADD_VATTR_TEXT('V',
150 & 'coordinates','XV YV RC iter', myThid)
151
152 CALL MNC_CW_ADD_VNAME('Temp', 'Cen_xy_Hn__C__t', 4,5, myThid)
153 CALL MNC_CW_ADD_VATTR_TEXT('Temp','units','degC', myThid)
154 CALL MNC_CW_ADD_VATTR_TEXT('Temp','long_name',
155 & 'potential_temperature', myThid)
156 CALL MNC_CW_ADD_VATTR_TEXT('Temp',
157 & 'coordinates','XC YC RC iter', myThid)
158
159 CALL MNC_CW_ADD_VNAME('S', 'Cen_xy_Hn__C__t', 4,5, myThid)
160 CALL MNC_CW_ADD_VATTR_TEXT('S','long_name',
161 & 'salinity', myThid)
162 CALL MNC_CW_ADD_VATTR_TEXT('S',
163 & 'coordinates','XC YC RC iter', myThid)
164
165 CALL MNC_CW_ADD_VNAME('gUnm1', 'U_xy_Hn__C__t', 4,5, myThid)
166 CALL MNC_CW_ADD_VNAME('gVnm1', 'V_xy_Hn__C__t', 4,5, myThid)
167 CALL MNC_CW_ADD_VNAME('gTnm1', 'Cen_xy_Hn__C__t', 4,5, myThid)
168 CALL MNC_CW_ADD_VNAME('gSnm1', 'Cen_xy_Hn__C__t', 4,5, myThid)
169
170 CALL MNC_CW_ADD_VNAME('Eta', 'Cen_xy_Hn__-__t', 3,4, myThid)
171 CALL MNC_CW_ADD_VATTR_TEXT('Eta','long_name',
172 & 'free-surface_r-anomaly', myThid)
173 CALL MNC_CW_ADD_VATTR_TEXT('Eta','units','m', myThid)
174 CALL MNC_CW_ADD_VATTR_TEXT('Eta',
175 & 'coordinates','XC YC iter', myThid)
176
177 CALL MNC_CW_ADD_VNAME('EtaH', 'Cen_xy_Hn__-__t', 3,4, myThid)
178 CALL MNC_CW_ADD_VATTR_TEXT('EtaH','long_name',
179 & 'column-thickness_r-anomaly', myThid)
180 CALL MNC_CW_ADD_VATTR_TEXT('EtaH','units','m', myThid)
181 CALL MNC_CW_ADD_VATTR_TEXT('EtaH',
182 & 'coordinates','XC YC iter', myThid)
183 CALL MNC_CW_ADD_VNAME('dEtaHdt', 'Cen_xy_Hn__-__t', 3,4, myThid)
184
185 CALL MNC_CW_ADD_VNAME('W', 'Cen_xy_Hn__L__t', 4,5, myThid)
186 CALL MNC_CW_ADD_VATTR_TEXT('W','units','m/s', myThid)
187 CALL MNC_CW_ADD_VATTR_TEXT('W',
188 & 'coordinates','XC YC RC iter', myThid)
189
190 CALL MNC_CW_ADD_VNAME('phiHyd', 'Cen_xy_Hn__C__t', 4,5, myThid)
191 CALL MNC_CW_ADD_VNAME('phiHydLow', 'Cen_xy_Hn__-__t', 3,4, myThid)
192 CALL MNC_CW_ADD_VNAME('phi_nh', 'Cen_xy_Hn__C__t', 4,5, myThid)
193 CALL MNC_CW_ADD_VNAME('gW', 'Cen_xy_Hn__L__t', 4,5, myThid)
194
195 C Write coordinates to "state" file
196 C CALL MNC_CW_SET_UDIM('state', 0, myThid)
197 C CALL MNC_CW_RS_W('R','state',0,0,'XC',xC, myThid)
198 C CALL MNC_CW_RS_W('R','state',0,0,'YC',yC, myThid)
199 C CALL MNC_CW_RS_W('R','state',0,0,'XU',xG, myThid)
200 C CALL MNC_CW_RS_W('R','state',0,0,'YU',yC, myThid)
201 C CALL MNC_CW_RS_W('R','state',0,0,'XV',xC, myThid)
202 C CALL MNC_CW_RS_W('R','state',0,0,'YV',yG, myThid)
203 C CALL MNC_CW_RS_W('R','state',0,0,'XG',xG, myThid)
204 C CALL MNC_CW_RS_W('R','state',0,0,'YG',yG, myThid)
205 C CALL MNC_CW_RS_W('R','state',0,0,'RC',rC, myThid)
206 C CALL MNC_CW_RS_W('R','state',0,0,'RF',rF, myThid)
207
208 C Define variables used in mom_vecinv
209 C CALL MNC_CW_ADD_VNAME('fV', 'Cen_xy_Hn__-__t', 0,0, myThid)
210 C CALL MNC_CW_ADD_VATTR_TEXT('','units','', myThid)
211 C CALL MNC_CW_ADD_VATTR_TEXT('','long_name',
212 C & 'potential_temperature', myThid)
213
214 CALL MNC_CW_ADD_VNAME('fV', 'Cen_xy_Hn__C__t', 0,0, myThid)
215 CALL MNC_CW_ADD_VNAME('fU', 'Cen_xy_Hn__C__t', 0,0, myThid)
216 CALL MNC_CW_ADD_VNAME('zV', 'Cen_xy_Hn__C__t', 0,0, myThid)
217 CALL MNC_CW_ADD_VNAME('zU', 'Cen_xy_Hn__C__t', 0,0, myThid)
218 CALL MNC_CW_ADD_VNAME('KEx','Cen_xy_Hn__C__t', 0,0, myThid)
219 CALL MNC_CW_ADD_VNAME('KEy','Cen_xy_Hn__C__t', 0,0, myThid)
220 CALL MNC_CW_ADD_VNAME('Ds', 'Cen_xy_Hn__C__t', 0,0, myThid)
221 CALL MNC_CW_ADD_VNAME('Dt', 'Cen_xy_Hn__C__t', 0,0, myThid)
222 CALL MNC_CW_ADD_VNAME('Du', 'Cen_xy_Hn__C__t', 0,0, myThid)
223 CALL MNC_CW_ADD_VNAME('Dv', 'Cen_xy_Hn__C__t', 0,0, myThid)
224 CALL MNC_CW_ADD_VNAME('Z3', 'Cen_xy_Hn__C__t', 0,0, myThid)
225 CALL MNC_CW_ADD_VNAME('W3', 'Cen_xy_Hn__C__t', 0,0, myThid)
226 CALL MNC_CW_ADD_VNAME('KE', 'Cen_xy_Hn__C__t', 0,0, myThid)
227 CALL MNC_CW_ADD_VNAME('D', 'Cen_xy_Hn__C__t', 0,0, myThid)
228
229 C Define variables from FFIELDS.h
230 CALL MNC_CW_ADD_VNAME('fu', 'U_xy_Hn__-__t', 3,4, myThid)
231 CALL MNC_CW_ADD_VATTR_TEXT('fu','units','N/m^2', myThid)
232 CALL MNC_CW_ADD_VATTR_TEXT('fu','description',
233 & 'Zonal surface wind stress', myThid)
234
235 CALL MNC_CW_ADD_VNAME('fv', 'V_xy_Hn__-__t', 3,4, myThid)
236 CALL MNC_CW_ADD_VATTR_TEXT('fv','units','N/m^2', myThid)
237 CALL MNC_CW_ADD_VATTR_TEXT('fv','description',
238 & 'Meridional surface wind stress', myThid)
239
240 CALL MNC_CW_ADD_VNAME('Qnet', 'Cen_xy_Hn__-__t', 3,4, myThid)
241 CALL MNC_CW_ADD_VATTR_TEXT('Qnet','units','W/m^2', myThid)
242 CALL MNC_CW_ADD_VATTR_TEXT('Qnet','description',
243 & 'Net upward surface heat flux (including shortwave)',
244 & myThid)
245
246 CALL MNC_CW_ADD_VNAME('Qsw', 'Cen_xy_Hn__-__t', 3,4, myThid)
247 CALL MNC_CW_ADD_VATTR_TEXT('Qsw','units','W/m^2', myThid)
248 CALL MNC_CW_ADD_VATTR_TEXT('Qsw','description',
249 & 'Net upward shortwave radiation', myThid)
250
251 CALL MNC_CW_ADD_VNAME('dQdt', 'Cen_xy_Hn__-__t', 3,4, myThid)
252 CALL MNC_CW_ADD_VATTR_TEXT('dQdt','units',
253 & 'W/m^2/degrees', myThid)
254
255 CALL MNC_CW_ADD_VNAME('EmPmR', 'Cen_xy_Hn__-__t', 3,4, myThid)
256 CALL MNC_CW_ADD_VATTR_TEXT('EmPmR','units','m/s', myThid)
257 CALL MNC_CW_ADD_VATTR_TEXT('EmPmR','description',
258 & 'Net upward freshwater flux', myThid)
259
260 CALL MNC_CW_ADD_VNAME('saltFlux', 'Cen_xy_Hn__-__t', 3,4, myThid)
261 CALL MNC_CW_ADD_VATTR_TEXT('saltFlux','units',
262 & 'psu.kg/m^2/s', myThid)
263 CALL MNC_CW_ADD_VATTR_TEXT('saltFlux','description',
264 & 'Net upward salt flux', myThid)
265
266 CALL MNC_CW_ADD_VNAME('SST', 'Cen_xy_Hn__-__t', 3,4, myThid)
267 CALL MNC_CW_ADD_VATTR_TEXT('SST','units','deg C', myThid)
268 CALL MNC_CW_ADD_VATTR_TEXT('SST','description',
269 & ' Sea surface temperature for relaxation', myThid)
270
271 CALL MNC_CW_ADD_VNAME('SSS', 'Cen_xy_Hn__-__t', 3,4, myThid)
272 CALL MNC_CW_ADD_VATTR_TEXT('SSS','units','psu', myThid)
273 CALL MNC_CW_ADD_VATTR_TEXT('SSS','description',
274 & 'Sea surface salinity for relaxation', myThid)
275
276
277 #ifdef ALLOW_AUTODIFF_MONITOR
278 CALL AUTODIFF_INI_MODEL_IO( myThid )
279 #endif
280
281 ENDIF
282 #endif
283
284 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
285
286 RETURN
287 END

  ViewVC Help
Powered by ViewVC 1.1.22