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

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

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


Revision 1.1 - (show annotations) (download)
Tue Sep 6 02:16:09 2005 UTC (18 years, 9 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint57s_post, checkpoint57r_post
 o make MNC variable initialization happen earlier

1 C $Header: /u/gcmpack/MITgcm/model/src/ini_model_io.F,v 1.19 2005/05/25 04:03:09 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_MNC_VARS
11
12 C !INTERFACE:
13 SUBROUTINE INI_MNC_VARS( myThid )
14
15 C !DESCRIPTION:
16 C Set up (once only) information such as shape/size of variables,
17 C units, etc. primarily for state and snapshot variables.
18
19 C !USES:
20 IMPLICIT NONE
21 #include "SIZE.h"
22 #include "GRID.h"
23 #include "EEPARAMS.h"
24 #include "PARAMS.h"
25
26 C !INPUT/OUTPUT PARAMETERS:
27 C myThid - Number of this instances
28 INTEGER myThid
29 CEOP
30
31
32 #ifdef ALLOW_MNC
33 IF (useMNC) THEN
34
35 C Define coordinates for all MNC files ---------------------------------
36 C XC
37 CALL MNC_CW_ADD_VNAME('XC', 'Cen_xy_Hn__-__-', 3,4, myThid)
38 CALL MNC_CW_ADD_VATTR_TEXT('XC','description',
39 & 'X coordinate of cell center (T-P point)',myThid)
40 CALL MNC_CW_ADD_VATTR_TEXT('XC',
41 & 'units', 'degree_east', myThid)
42
43 C YC
44 CALL MNC_CW_ADD_VNAME('YC', 'Cen_xy_Hn__-__-', 3,4, myThid)
45 CALL MNC_CW_ADD_VATTR_TEXT('YC','description',
46 & 'Y coordinate of cell center (T-P point)',myThid)
47 CALL MNC_CW_ADD_VATTR_TEXT('YC',
48 & 'units', 'degree_north', myThid)
49
50 C XU
51 CALL MNC_CW_ADD_VNAME('XU', 'U_xy_Hn__-__-', 3,4, myThid)
52 CALL MNC_CW_ADD_VATTR_TEXT('XU','description',
53 & 'X coordinate of U point',myThid)
54 CALL MNC_CW_ADD_VATTR_TEXT('XU',
55 & 'units', 'degree_east', myThid)
56
57 C YU
58 CALL MNC_CW_ADD_VNAME('YU', 'U_xy_Hn__-__-', 3,4, myThid)
59 CALL MNC_CW_ADD_VATTR_TEXT('YU','description',
60 & 'Y coordinate of U point',myThid)
61 CALL MNC_CW_ADD_VATTR_TEXT('YU',
62 & 'units', 'degree_north', myThid)
63
64 C XV
65 CALL MNC_CW_ADD_VNAME('XV', 'V_xy_Hn__-__-', 3,4, myThid)
66 CALL MNC_CW_ADD_VATTR_TEXT('XV','description',
67 & 'X coordinate of V point',myThid)
68 CALL MNC_CW_ADD_VATTR_TEXT('XV',
69 & 'units', 'degree_east', myThid)
70
71 C YV
72 CALL MNC_CW_ADD_VNAME('YV', 'V_xy_Hn__-__-', 3,4, myThid)
73 CALL MNC_CW_ADD_VATTR_TEXT('YV','description',
74 & 'Y coordinate of V point',myThid)
75 CALL MNC_CW_ADD_VATTR_TEXT('YV',
76 & 'units', 'degree_north', myThid)
77
78 C XG
79 CALL MNC_CW_ADD_VNAME('XG', 'Cor_xy_Hn__-__-', 3,4, myThid)
80 CALL MNC_CW_ADD_VATTR_TEXT('XG','description',
81 & 'X coordinate of cell corner (Vorticity point)',myThid)
82 CALL MNC_CW_ADD_VATTR_TEXT('XG',
83 & 'units', 'degree_east', myThid)
84
85 C YG
86 CALL MNC_CW_ADD_VNAME('YG', 'Cor_xy_Hn__-__-', 3,4, myThid)
87 CALL MNC_CW_ADD_VATTR_TEXT('YG','description',
88 & 'Y coordinate of cell corner (Vorticity point)',myThid)
89 CALL MNC_CW_ADD_VATTR_TEXT('YG',
90 & 'units', 'degree_north', myThid)
91
92 C RC
93 CALL MNC_CW_ADD_VNAME('RC', '-_-_--__C__-', 0,0, myThid)
94 CALL MNC_CW_ADD_VATTR_TEXT('RC','description',
95 & 'R coordinate of cell center',myThid)
96 CALL MNC_CW_ADD_VATTR_TEXT('RC',
97 & 'units', 'm', myThid)
98
99 C RF
100 CALL MNC_CW_ADD_VNAME('RF', '-_-_--__I__-', 0,0, myThid)
101 CALL MNC_CW_ADD_VATTR_TEXT('RF','description',
102 & 'R coordinate of cell interface',myThid)
103 CALL MNC_CW_ADD_VATTR_TEXT('RF',
104 & 'units', 'm', myThid)
105
106 C RL
107 CALL MNC_CW_ADD_VNAME('RL', '-_-_--__L__-', 0,0, myThid)
108 CALL MNC_CW_ADD_VATTR_TEXT('RL','description',
109 & 'R coordinate of lower interface',myThid)
110 CALL MNC_CW_ADD_VATTR_TEXT('RL',
111 & 'units', 'm', myThid)
112
113 C RU
114 CALL MNC_CW_ADD_VNAME('RU', '-_-_--__U__-', 0,0, myThid)
115 CALL MNC_CW_ADD_VATTR_TEXT('RU','description',
116 & 'R coordinate of upper interface',myThid)
117 CALL MNC_CW_ADD_VATTR_TEXT('RU',
118 & 'units', 'm', myThid)
119 C End define coordinates for all MNC files ----------------------
120
121
122 C Grid variables ------------------------------------------------
123 CALL MNC_CW_ADD_VNAME('drC', '-_-_--__C__-', 0,0, myThid)
124 CALL MNC_CW_ADD_VNAME('drF', '-_-_--__C__-', 0,0, myThid)
125 CALL MNC_CW_ADD_VNAME('dxC', 'U_xy_Hn__-__-', 3,4, myThid)
126 CALL MNC_CW_ADD_VNAME('dyC', 'V_xy_Hn__-__-', 3,4, myThid)
127 CALL MNC_CW_ADD_VNAME('dxF', 'Cen_xy_Hn__-__-', 3,4, myThid)
128 CALL MNC_CW_ADD_VNAME('dyF', 'Cen_xy_Hn__-__-', 3,4, myThid)
129 CALL MNC_CW_ADD_VNAME('dxG', 'V_xy_Hn__-__-', 3,4, myThid)
130 CALL MNC_CW_ADD_VNAME('dyG', 'U_xy_Hn__-__-', 3,4, myThid)
131 CALL MNC_CW_ADD_VNAME('dxV', 'Cor_xy_Hn__-__-', 3,4, myThid)
132 CALL MNC_CW_ADD_VNAME('dyU', 'Cor_xy_Hn__-__-', 3,4, myThid)
133 CALL MNC_CW_ADD_VNAME('rA', 'Cen_xy_Hn__-__-', 3,4, myThid)
134 CALL MNC_CW_ADD_VNAME('rAw', 'U_xy_Hn__-__-', 3,4, myThid)
135 CALL MNC_CW_ADD_VNAME('rAs', 'V_xy_Hn__-__-', 3,4, myThid)
136 CALL MNC_CW_ADD_VNAME('rAz', 'Cor_xy_Hn__-__-', 3,4, myThid)
137 CALL MNC_CW_ADD_VNAME('AngleCS','Cen_xy_Hn__-__-', 3,4,myThid)
138 CALL MNC_CW_ADD_VNAME('AngleSN','Cen_xy_Hn__-__-', 3,4,myThid)
139 CALL MNC_CW_ADD_VNAME('fCori', 'Cen_xy_Hn__-__-', 3,4,myThid)
140 CALL MNC_CW_ADD_VNAME('fCoriG','Cor_xy_Hn__-__-', 3,4,myThid)
141 CALL MNC_CW_ADD_VNAME('R_low', 'Cen_xy_Hn__-__-', 3,4,myThid)
142 CALL MNC_CW_ADD_VNAME('Ro_surf','Cen_xy_Hn__-__-',3,4,myThid)
143 CALL MNC_CW_ADD_VNAME('Depth', 'Cen_xy_Hn__-__-', 3,4,myThid)
144 CALL MNC_CW_ADD_VNAME('HFacC', 'Cen_xy_Hn__C__-', 4,5,myThid)
145 CALL MNC_CW_ADD_VNAME('HFacW', 'U_xy_Hn__C__-', 4,5,myThid)
146 CALL MNC_CW_ADD_VNAME('HFacS', 'V_xy_Hn__C__-', 4,5,myThid)
147
148 CALL MNC_CW_ADD_VATTR_TEXT('drC','description',
149 & 'r cell center separation',myThid)
150 CALL MNC_CW_ADD_VATTR_TEXT('drF','description',
151 & 'r cell face separation',myThid)
152 CALL MNC_CW_ADD_VATTR_TEXT('dxC','description',
153 & 'x cell center separation',myThid)
154 CALL MNC_CW_ADD_VATTR_TEXT('dyC','description',
155 & 'y cell center separation',myThid)
156 CALL MNC_CW_ADD_VATTR_TEXT('dxF','description',
157 & 'x cell face separation',myThid)
158 CALL MNC_CW_ADD_VATTR_TEXT('dyF','description',
159 & 'y cell face separation',myThid)
160 CALL MNC_CW_ADD_VATTR_TEXT('dxG','description',
161 & 'x cell corner separation',myThid)
162 CALL MNC_CW_ADD_VATTR_TEXT('dyG','description',
163 & 'y cell corner separation',myThid)
164 CALL MNC_CW_ADD_VATTR_TEXT('dxV','description',
165 & 'x v-velocity separation',myThid)
166 CALL MNC_CW_ADD_VATTR_TEXT('dyU','description',
167 & 'y u-velocity separation',myThid)
168 CALL MNC_CW_ADD_VATTR_TEXT('rA','description',
169 & 'r-face area at cell center',myThid)
170 CALL MNC_CW_ADD_VATTR_TEXT('rAw','description',
171 & 'r-face area at U point',myThid)
172 CALL MNC_CW_ADD_VATTR_TEXT('rAs','description',
173 & 'r-face area at V point',myThid)
174 CALL MNC_CW_ADD_VATTR_TEXT('rAz','description',
175 & 'r-face area at cell corner',myThid)
176 CALL MNC_CW_ADD_VATTR_TEXT('AngleCS','description',
177 & 'Cos of grid orientation angle at cell center',myThid)
178 CALL MNC_CW_ADD_VATTR_TEXT('AngleSN','description',
179 & 'Sin of grid orientation angle at cell center',myThid)
180 CALL MNC_CW_ADD_VATTR_TEXT('fCori','description',
181 & 'Coriolis f at cell center',myThid)
182 CALL MNC_CW_ADD_VATTR_TEXT('fCoriG','description',
183 & 'Coriolis f at cell corner',myThid)
184 CALL MNC_CW_ADD_VATTR_TEXT('R_low','description',
185 & 'base of fluid in r-units',myThid)
186 CALL MNC_CW_ADD_VATTR_TEXT('Ro_surf','description',
187 & 'surface reference (at rest) position',myThid)
188 CALL MNC_CW_ADD_VATTR_TEXT('Depth','description',
189 & 'fluid thickness in r coordinates (at rest)',myThid)
190 CALL MNC_CW_ADD_VATTR_TEXT('HFacC','description',
191 & 'vertical fraction of open cell at cell center',myThid)
192 CALL MNC_CW_ADD_VATTR_TEXT('HFacW','description',
193 & 'vertical fraction of open cell at West face', myThid)
194 CALL MNC_CW_ADD_VATTR_TEXT('HFacS','description',
195 & 'vertical fraction of open cell at South face',myThid)
196
197
198 C Create MNC definitions for DYNVARS.h variables ----------------
199 CALL MNC_CW_ADD_VNAME('T', '-_-_--__-__t', 0,0, myThid)
200 CALL MNC_CW_ADD_VATTR_TEXT('T',
201 & 'long_name','model_time', myThid)
202 CALL MNC_CW_ADD_VATTR_TEXT('T',
203 & 'units','s', myThid)
204
205 CALL MNC_CW_ADD_VNAME('iter', '-_-_--__-__t', 0,0, myThid)
206 CALL MNC_CW_ADD_VATTR_TEXT('iter',
207 & 'long_name','iteration_count', myThid)
208
209 CALL MNC_CW_ADD_VNAME('model_time', '-_-_--__-__t', 0,0, myThid)
210 CALL MNC_CW_ADD_VATTR_TEXT('model_time',
211 & 'long_name','Model Time', myThid)
212 CALL MNC_CW_ADD_VATTR_TEXT('model_time','units','s', myThid)
213
214 CALL MNC_CW_ADD_VNAME('U', 'U_xy_Hn__C__t', 4,5, myThid)
215 CALL MNC_CW_ADD_VATTR_TEXT('U','units','m/s', myThid)
216 CALL MNC_CW_ADD_VATTR_TEXT('U',
217 & 'coordinates','XU YU RC iter', myThid)
218
219 CALL MNC_CW_ADD_VNAME('V', 'V_xy_Hn__C__t', 4,5, myThid)
220 CALL MNC_CW_ADD_VATTR_TEXT('V','units','m/s', myThid)
221 CALL MNC_CW_ADD_VATTR_TEXT('V',
222 & 'coordinates','XV YV RC iter', myThid)
223
224 CALL MNC_CW_ADD_VNAME('Temp', 'Cen_xy_Hn__C__t', 4,5, myThid)
225 CALL MNC_CW_ADD_VATTR_TEXT('Temp','units','degC', myThid)
226 CALL MNC_CW_ADD_VATTR_TEXT('Temp','long_name',
227 & 'potential_temperature', myThid)
228 CALL MNC_CW_ADD_VATTR_TEXT('Temp',
229 & 'coordinates','XC YC RC iter', myThid)
230
231 CALL MNC_CW_ADD_VNAME('S', 'Cen_xy_Hn__C__t', 4,5, myThid)
232 CALL MNC_CW_ADD_VATTR_TEXT('S','long_name',
233 & 'salinity', myThid)
234 CALL MNC_CW_ADD_VATTR_TEXT('S',
235 & 'coordinates','XC YC RC iter', myThid)
236
237 CALL MNC_CW_ADD_VNAME('gUnm1', 'U_xy_Hn__C__t', 4,5, myThid)
238 CALL MNC_CW_ADD_VNAME('gVnm1', 'V_xy_Hn__C__t', 4,5, myThid)
239 CALL MNC_CW_ADD_VNAME('gTnm1', 'Cen_xy_Hn__C__t', 4,5, myThid)
240 CALL MNC_CW_ADD_VNAME('gSnm1', 'Cen_xy_Hn__C__t', 4,5, myThid)
241
242 CALL MNC_CW_ADD_VNAME('Eta', 'Cen_xy_Hn__-__t', 3,4, myThid)
243 CALL MNC_CW_ADD_VATTR_TEXT('Eta','long_name',
244 & 'free-surface_r-anomaly', myThid)
245 CALL MNC_CW_ADD_VATTR_TEXT('Eta','units','m', myThid)
246 CALL MNC_CW_ADD_VATTR_TEXT('Eta',
247 & 'coordinates','XC YC iter', myThid)
248
249 CALL MNC_CW_ADD_VNAME('EtaH', 'Cen_xy_Hn__-__t', 3,4, myThid)
250 CALL MNC_CW_ADD_VATTR_TEXT('EtaH','long_name',
251 & 'column-thickness_r-anomaly', myThid)
252 CALL MNC_CW_ADD_VATTR_TEXT('EtaH','units','m', myThid)
253 CALL MNC_CW_ADD_VATTR_TEXT('EtaH',
254 & 'coordinates','XC YC iter', myThid)
255 CALL MNC_CW_ADD_VNAME('dEtaHdt', 'Cen_xy_Hn__-__t', 3,4, myThid)
256
257 CALL MNC_CW_ADD_VNAME('W', 'Cen_xy_Hn__L__t', 4,5, myThid)
258 CALL MNC_CW_ADD_VATTR_TEXT('W','units','m/s', myThid)
259 CALL MNC_CW_ADD_VATTR_TEXT('W',
260 & 'coordinates','XC YC RC iter', myThid)
261
262 CALL MNC_CW_ADD_VNAME('phiHyd', 'Cen_xy_Hn__C__t', 4,5, myThid)
263 CALL MNC_CW_ADD_VNAME('phiHydLow', 'Cen_xy_Hn__-__t', 3,4, myThid)
264 CALL MNC_CW_ADD_VNAME('phi_nh', 'Cen_xy_Hn__C__t', 4,5, myThid)
265 CALL MNC_CW_ADD_VNAME('gW', 'Cen_xy_Hn__L__t', 4,5, myThid)
266
267 C Write coordinates to "state" file
268 C CALL MNC_CW_SET_UDIM('state', 0, myThid)
269 C CALL MNC_CW_RS_W('R','state',0,0,'XC',xC, myThid)
270 C CALL MNC_CW_RS_W('R','state',0,0,'YC',yC, myThid)
271 C CALL MNC_CW_RS_W('R','state',0,0,'XU',xG, myThid)
272 C CALL MNC_CW_RS_W('R','state',0,0,'YU',yC, myThid)
273 C CALL MNC_CW_RS_W('R','state',0,0,'XV',xC, myThid)
274 C CALL MNC_CW_RS_W('R','state',0,0,'YV',yG, myThid)
275 C CALL MNC_CW_RS_W('R','state',0,0,'XG',xG, myThid)
276 C CALL MNC_CW_RS_W('R','state',0,0,'YG',yG, myThid)
277 C CALL MNC_CW_RS_W('R','state',0,0,'RC',rC, myThid)
278 C CALL MNC_CW_RS_W('R','state',0,0,'RF',rF, myThid)
279
280 C Define variables used in mom_vecinv
281 C CALL MNC_CW_ADD_VNAME('fV', 'Cen_xy_Hn__-__t', 0,0, myThid)
282 C CALL MNC_CW_ADD_VATTR_TEXT('','units','', myThid)
283 C CALL MNC_CW_ADD_VATTR_TEXT('','long_name',
284 C & 'potential_temperature', myThid)
285
286 CALL MNC_CW_ADD_VNAME('fV', 'Cen_xy_Hn__C__t', 0,0, myThid)
287 CALL MNC_CW_ADD_VNAME('fU', 'Cen_xy_Hn__C__t', 0,0, myThid)
288 CALL MNC_CW_ADD_VNAME('zV', 'Cen_xy_Hn__C__t', 0,0, myThid)
289 CALL MNC_CW_ADD_VNAME('zU', 'Cen_xy_Hn__C__t', 0,0, myThid)
290 CALL MNC_CW_ADD_VNAME('KEx','Cen_xy_Hn__C__t', 0,0, myThid)
291 CALL MNC_CW_ADD_VNAME('KEy','Cen_xy_Hn__C__t', 0,0, myThid)
292 CALL MNC_CW_ADD_VNAME('Ds', 'Cen_xy_Hn__C__t', 0,0, myThid)
293 CALL MNC_CW_ADD_VNAME('Dt', 'Cen_xy_Hn__C__t', 0,0, myThid)
294 CALL MNC_CW_ADD_VNAME('Du', 'Cen_xy_Hn__C__t', 0,0, myThid)
295 CALL MNC_CW_ADD_VNAME('Dv', 'Cen_xy_Hn__C__t', 0,0, myThid)
296 CALL MNC_CW_ADD_VNAME('Z3', 'Cen_xy_Hn__C__t', 0,0, myThid)
297 CALL MNC_CW_ADD_VNAME('W3', 'Cen_xy_Hn__C__t', 0,0, myThid)
298 CALL MNC_CW_ADD_VNAME('KE', 'Cen_xy_Hn__C__t', 0,0, myThid)
299 CALL MNC_CW_ADD_VNAME('D', 'Cen_xy_Hn__C__t', 0,0, myThid)
300
301 C Define variables from FFIELDS.h
302 CALL MNC_CW_ADD_VNAME('fu', 'U_xy_Hn__-__t', 3,4, myThid)
303 CALL MNC_CW_ADD_VATTR_TEXT('fu','units','N/m^2', myThid)
304 CALL MNC_CW_ADD_VATTR_TEXT('fu','description',
305 & 'Zonal surface wind stress', myThid)
306
307 CALL MNC_CW_ADD_VNAME('fv', 'V_xy_Hn__-__t', 3,4, myThid)
308 CALL MNC_CW_ADD_VATTR_TEXT('fv','units','N/m^2', myThid)
309 CALL MNC_CW_ADD_VATTR_TEXT('fv','description',
310 & 'Meridional surface wind stress', myThid)
311
312 CALL MNC_CW_ADD_VNAME('Qnet', 'Cen_xy_Hn__-__t', 3,4, myThid)
313 CALL MNC_CW_ADD_VATTR_TEXT('Qnet','units','W/m^2', myThid)
314 CALL MNC_CW_ADD_VATTR_TEXT('Qnet','description',
315 & 'Net upward surface heat flux (including shortwave)',
316 & myThid)
317
318 CALL MNC_CW_ADD_VNAME('Qsw', 'Cen_xy_Hn__-__t', 3,4, myThid)
319 CALL MNC_CW_ADD_VATTR_TEXT('Qsw','units','W/m^2', myThid)
320 CALL MNC_CW_ADD_VATTR_TEXT('Qsw','description',
321 & 'Net upward shortwave radiation', myThid)
322
323 CALL MNC_CW_ADD_VNAME('dQdt', 'Cen_xy_Hn__-__t', 3,4, myThid)
324 CALL MNC_CW_ADD_VATTR_TEXT('dQdt','units',
325 & 'W/m^2/degrees', myThid)
326
327 CALL MNC_CW_ADD_VNAME('EmPmR', 'Cen_xy_Hn__-__t', 3,4, myThid)
328 CALL MNC_CW_ADD_VATTR_TEXT('EmPmR','units','m/s', myThid)
329 CALL MNC_CW_ADD_VATTR_TEXT('EmPmR','description',
330 & 'Net upward freshwater flux', myThid)
331
332 CALL MNC_CW_ADD_VNAME('saltFlux', 'Cen_xy_Hn__-__t', 3,4, myThid)
333 CALL MNC_CW_ADD_VATTR_TEXT('saltFlux','units',
334 & 'psu.kg/m^2/s', myThid)
335 CALL MNC_CW_ADD_VATTR_TEXT('saltFlux','description',
336 & 'Net upward salt flux', myThid)
337
338 CALL MNC_CW_ADD_VNAME('SST', 'Cen_xy_Hn__-__t', 3,4, myThid)
339 CALL MNC_CW_ADD_VATTR_TEXT('SST','units','deg C', myThid)
340 CALL MNC_CW_ADD_VATTR_TEXT('SST','description',
341 & ' Sea surface temperature for relaxation', myThid)
342
343 CALL MNC_CW_ADD_VNAME('SSS', 'Cen_xy_Hn__-__t', 3,4, myThid)
344 CALL MNC_CW_ADD_VATTR_TEXT('SSS','units','psu', myThid)
345 CALL MNC_CW_ADD_VATTR_TEXT('SSS','description',
346 & 'Sea surface salinity for relaxation', myThid)
347
348
349 #ifdef ALLOW_AUTODIFF_MONITOR
350 CALL AUTODIFF_INI_MODEL_IO( myThid )
351 #endif
352
353 ENDIF
354 #endif
355
356 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
357
358 RETURN
359 END

  ViewVC Help
Powered by ViewVC 1.1.22