/[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.9 - (show annotations) (download)
Thu Oct 7 21:52:29 2004 UTC (19 years, 7 months ago) by edhill
Branch: MAIN
Changes since 1.8: +27 -13 lines
 o mnc-ify the MOM_VECINV() diagFreq output

1 C $Header: /u/gcmpack/MITgcm/model/src/ini_model_io.F,v 1.8 2004/09/29 03:45:14 heimbach 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 #ifdef ALLOW_MNC
28 #include "MNC_PARAMS.h"
29 #endif
30
31 C !INPUT/OUTPUT PARAMETERS:
32 C myThid - Number of this instances
33 INTEGER myThid
34 CEOP
35
36
37 C Flags specific to RW and MDSIO
38 C Set globalFiles flag for READ_WRITE_FLD package
39 CALL SET_WRITE_GLOBAL_FLD( globalFiles )
40 C Set globalFiles flag for READ_WRITE_REC package
41 CALL SET_WRITE_GLOBAL_REC( globalFiles )
42 C Set globalFiles flag for READ_WRITE_REC package
43 CALL SET_WRITE_GLOBAL_PICKUP( globalFiles )
44
45 #ifdef ALLOW_MNC
46 IF (useMNC) THEN
47
48 C Define coordinates for all MNC files ---------------------------------
49 C XC
50 CALL MNC_CW_ADD_VNAME('XC', 'Cen_xy_Hn__-__-', 3,4, myThid)
51 CALL MNC_CW_ADD_VATTR_TEXT('XC','description',
52 & 'X coordinate of cell center (T-P point)',myThid)
53 CALL MNC_CW_ADD_VATTR_TEXT('XC',
54 & 'units', 'degree_east', myThid)
55
56 C YC
57 CALL MNC_CW_ADD_VNAME('YC', 'Cen_xy_Hn__-__-', 3,4, myThid)
58 CALL MNC_CW_ADD_VATTR_TEXT('YC','description',
59 & 'Y coordinate of cell center (T-P point)',myThid)
60 CALL MNC_CW_ADD_VATTR_TEXT('YC',
61 & 'units', 'degree_north', myThid)
62
63 C XU
64 CALL MNC_CW_ADD_VNAME('XU', 'U_xy_Hn__-__-', 3,4, myThid)
65 CALL MNC_CW_ADD_VATTR_TEXT('XU','description',
66 & 'X coordinate of U point',myThid)
67 CALL MNC_CW_ADD_VATTR_TEXT('XU',
68 & 'units', 'degree_east', myThid)
69
70 C YU
71 CALL MNC_CW_ADD_VNAME('YU', 'U_xy_Hn__-__-', 3,4, myThid)
72 CALL MNC_CW_ADD_VATTR_TEXT('YU','description',
73 & 'Y coordinate of U point',myThid)
74 CALL MNC_CW_ADD_VATTR_TEXT('YU',
75 & 'units', 'degree_north', myThid)
76
77 C XV
78 CALL MNC_CW_ADD_VNAME('XV', 'V_xy_Hn__-__-', 3,4, myThid)
79 CALL MNC_CW_ADD_VATTR_TEXT('XV','description',
80 & 'X coordinate of V point',myThid)
81 CALL MNC_CW_ADD_VATTR_TEXT('XV',
82 & 'units', 'degree_east', myThid)
83
84 C YV
85 CALL MNC_CW_ADD_VNAME('YV', 'V_xy_Hn__-__-', 3,4, myThid)
86 CALL MNC_CW_ADD_VATTR_TEXT('YV','description',
87 & 'Y coordinate of V point',myThid)
88 CALL MNC_CW_ADD_VATTR_TEXT('YV',
89 & 'units', 'degree_north', myThid)
90
91 C XG
92 CALL MNC_CW_ADD_VNAME('XG', 'Cor_xy_Hn__-__-', 3,4, myThid)
93 CALL MNC_CW_ADD_VATTR_TEXT('XG','description',
94 & 'X coordinate of cell corner (Vorticity point)',myThid)
95 CALL MNC_CW_ADD_VATTR_TEXT('XG',
96 & 'units', 'degree_east', myThid)
97
98 C YG
99 CALL MNC_CW_ADD_VNAME('YG', 'Cor_xy_Hn__-__-', 3,4, myThid)
100 CALL MNC_CW_ADD_VATTR_TEXT('YG','description',
101 & 'Y coordinate of cell corner (Vorticity point)',myThid)
102 CALL MNC_CW_ADD_VATTR_TEXT('YG',
103 & 'units', 'degree_north', myThid)
104
105 C RC
106 CALL MNC_CW_ADD_VNAME('RC', '-_-_--__C__-', 0,0, myThid)
107 CALL MNC_CW_ADD_VATTR_TEXT('RC','description',
108 & 'R coordinate of cell center',myThid)
109 CALL MNC_CW_ADD_VATTR_TEXT('RC',
110 & 'units', 'm', myThid)
111
112 C RF
113 CALL MNC_CW_ADD_VNAME('RF', '-_-_--__I__-', 0,0, myThid)
114 CALL MNC_CW_ADD_VATTR_TEXT('RF','description',
115 & 'R coordinate of cell interface',myThid)
116 CALL MNC_CW_ADD_VATTR_TEXT('RF',
117 & 'units', 'm', myThid)
118 C End define coordinates for all MNC files ----------------------------
119
120
121 C Create MNC definitions for DYNVARS.h variables
122 CALL MNC_CW_ADD_VNAME('iter', '-_-_--__-__t', 0,0, myThid)
123 CALL MNC_CW_ADD_VATTR_TEXT('iter',
124 & 'long_name','iteration_count', myThid)
125
126 CALL MNC_CW_ADD_VNAME('model_time', '-_-_--__-__t', 0,0, myThid)
127 CALL MNC_CW_ADD_VATTR_TEXT('model_time',
128 & 'long_name','Model Time', myThid)
129 CALL MNC_CW_ADD_VATTR_TEXT('model_time','units','s', myThid)
130
131 CALL MNC_CW_ADD_VNAME('U', 'U_xy_Hn__C__t', 4,5, myThid)
132 CALL MNC_CW_ADD_VATTR_TEXT('U','units','m/s', myThid)
133 CALL MNC_CW_ADD_VATTR_TEXT('U',
134 & 'coordinates','XU YU RC iter', myThid)
135
136 CALL MNC_CW_ADD_VNAME('V', 'V_xy_Hn__C__t', 4,5, myThid)
137 CALL MNC_CW_ADD_VATTR_TEXT('V','units','m/s', myThid)
138 CALL MNC_CW_ADD_VATTR_TEXT('V',
139 & 'coordinates','XV YV RC iter', myThid)
140
141 CALL MNC_CW_ADD_VNAME('Temp', 'Cen_xy_Hn__C__t', 4,5, myThid)
142 CALL MNC_CW_ADD_VATTR_TEXT('Temp','units','degC', myThid)
143 CALL MNC_CW_ADD_VATTR_TEXT('Temp','long_name',
144 & 'potential_temperature', myThid)
145 CALL MNC_CW_ADD_VATTR_TEXT('Temp',
146 & 'coordinates','XC YC RC iter', myThid)
147
148 CALL MNC_CW_ADD_VNAME('S', 'Cen_xy_Hn__C__t', 4,5, myThid)
149 CALL MNC_CW_ADD_VATTR_TEXT('S','long_name',
150 & 'salinity', myThid)
151 CALL MNC_CW_ADD_VATTR_TEXT('S',
152 & 'coordinates','XC YC RC iter', myThid)
153
154 CALL MNC_CW_ADD_VNAME('gUnm1', 'U_xy_Hn__C__t', 4,5, myThid)
155 CALL MNC_CW_ADD_VNAME('gVnm1', 'V_xy_Hn__C__t', 4,5, myThid)
156 CALL MNC_CW_ADD_VNAME('gTnm1', 'Cen_xy_Hn__C__t', 4,5, myThid)
157 CALL MNC_CW_ADD_VNAME('gSnm1', 'Cen_xy_Hn__C__t', 4,5, myThid)
158
159 CALL MNC_CW_ADD_VNAME('Eta', 'Cen_xy_Hn__-__t', 3,4, myThid)
160 CALL MNC_CW_ADD_VATTR_TEXT('Eta','long_name',
161 & 'free-surface_r-anomaly', myThid)
162 CALL MNC_CW_ADD_VATTR_TEXT('Eta','units','m', myThid)
163 CALL MNC_CW_ADD_VATTR_TEXT('Eta',
164 & 'coordinates','XC YC RC iter', myThid)
165
166 CALL MNC_CW_ADD_VNAME('EtaH', 'Cen_xy_Hn__-__t', 3,4, myThid)
167 CALL MNC_CW_ADD_VATTR_TEXT('EtaH','long_name',
168 & 'column-thickness_r-anomaly', myThid)
169 CALL MNC_CW_ADD_VATTR_TEXT('EtaH','units','m', myThid)
170 CALL MNC_CW_ADD_VATTR_TEXT('EtaH',
171 & 'coordinates','XC YC RC iter', myThid)
172 CALL MNC_CW_ADD_VNAME('dEtaHdt', 'Cen_xy_Hn__-__t', 3,4, myThid)
173
174 CALL MNC_CW_ADD_VNAME('W', 'Cen_xy_Hn__C__t', 4,5, myThid)
175 CALL MNC_CW_ADD_VATTR_TEXT('W','units','m/s', myThid)
176 CALL MNC_CW_ADD_VATTR_TEXT('W',
177 & 'coordinates','XC YC RC iter', myThid)
178
179 CALL MNC_CW_ADD_VNAME('phiHyd', 'Cen_xy_Hn__C__t', 4,5, myThid)
180 CALL MNC_CW_ADD_VNAME('phiHydLow', 'Cen_xy_Hn__-__t', 3,4, myThid)
181 CALL MNC_CW_ADD_VNAME('phi_nh', 'Cen_xy_Hn__C__t', 4,5, myThid)
182 CALL MNC_CW_ADD_VNAME('gW', 'Cen_xy_Hn__C__t', 4,5, myThid)
183
184 C Write coordinates to "state" file
185 CALL MNC_CW_SET_UDIM('state', 0, myThid)
186 CALL MNC_CW_RS_W('R','state',0,0,'XC',xC, myThid)
187 CALL MNC_CW_RS_W('R','state',0,0,'YC',yC, myThid)
188 CALL MNC_CW_RS_W('R','state',0,0,'XU',xG, myThid)
189 CALL MNC_CW_RS_W('R','state',0,0,'YU',yC, myThid)
190 CALL MNC_CW_RS_W('R','state',0,0,'XV',xC, myThid)
191 CALL MNC_CW_RS_W('R','state',0,0,'YV',yG, myThid)
192 CALL MNC_CW_RS_W('R','state',0,0,'XG',xG, myThid)
193 CALL MNC_CW_RS_W('R','state',0,0,'YG',yG, myThid)
194 CALL MNC_CW_RS_W('R','state',0,0,'RC',rC, myThid)
195 CALL MNC_CW_RS_W('R','state',0,0,'RF',rF, myThid)
196
197 C Define variables used in mom_vecinv
198 C CALL MNC_CW_ADD_VNAME('fV', 'Cen_xy_Hn__-__t', 0,0, myThid)
199 C CALL MNC_CW_ADD_VATTR_TEXT('','units','', myThid)
200 C CALL MNC_CW_ADD_VATTR_TEXT('','long_name',
201 C & 'potential_temperature', myThid)
202
203 CALL MNC_CW_ADD_VNAME('fV', 'Cen_xy_Hn__-__t', 0,0, myThid)
204 CALL MNC_CW_ADD_VNAME('fU', 'Cen_xy_Hn__-__t', 0,0, myThid)
205 CALL MNC_CW_ADD_VNAME('zV', 'Cen_xy_Hn__-__t', 0,0, myThid)
206 CALL MNC_CW_ADD_VNAME('zU', 'Cen_xy_Hn__-__t', 0,0, myThid)
207 CALL MNC_CW_ADD_VNAME('Ds', 'Cen_xy_Hn__-__t', 0,0, myThid)
208 CALL MNC_CW_ADD_VNAME('Dt', 'Cen_xy_Hn__-__t', 0,0, myThid)
209 CALL MNC_CW_ADD_VNAME('Du', 'Cen_xy_Hn__-__t', 0,0, myThid)
210 CALL MNC_CW_ADD_VNAME('Dv', 'Cen_xy_Hn__-__t', 0,0, myThid)
211 CALL MNC_CW_ADD_VNAME('Z3', 'Cen_xy_Hn__-__t', 0,0, myThid)
212 CALL MNC_CW_ADD_VNAME('W3', 'Cen_xy_Hn__-__t', 0,0, myThid)
213 CALL MNC_CW_ADD_VNAME('KE', 'Cen_xy_Hn__-__t', 0,0, myThid)
214 CALL MNC_CW_ADD_VNAME('D', 'Cen_xy_Hn__-__t', 0,0, myThid)
215
216 #ifdef ALLOW_AUTODIFF_MONITOR
217 CALL AUTODIFF_INI_MODEL_IO( myThid )
218 #endif
219
220 ENDIF
221 #endif
222
223 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
224
225 RETURN
226 END

  ViewVC Help
Powered by ViewVC 1.1.22