/[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.1 - (show annotations) (download)
Thu May 13 15:40:53 2004 UTC (20 years ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint53d_post, checkpoint53c_post, checkpoint53b_post, checkpoint53b_pre, checkpoint53g_post, checkpoint53f_post, checkpoint53d_pre
Slight re-arrangment to satisfy JMC opinions on file names!
 o ini_mnc_io.F has been split and replaced by
     ini_model_io.F - responsible for setting units/flags for model-state i/o
     write_grid.F   - responsible for writing the grid variables to file
 o the passing of flags to MDSIO has been moved from ini_parms to ini_model_io
 o ini_depths and ini_masks_etc no longer do I/O which is now in write_grid

1 C $Header: $
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 C !INTERFACE:
12 SUBROUTINE INI_MODEL_IO( myThid )
13
14 C !DESCRIPTION: \bv
15 C ini_model_io() is where run-time/experiment specific data are passed
16 C to any I/O packages ready that will be used for I/O of model state
17 C variables.
18 C This is specifically for setting up once only information such as
19 C shape/size of variables, units, etc... and is only for state variables.
20 C \ev
21
22 C !CALLING SEQUENCE:
23 C PACKAGES_INIT_FIXED
24 C |
25 C |-- MNC_INIT
26
27 IMPLICIT NONE
28 #include "SIZE.h"
29 #include "GRID.h"
30 #include "EEPARAMS.h"
31 #include "PARAMS.h"
32
33 C !INPUT/OUTPUT PARAMETERS:
34 C myThid - Number of this instances
35 INTEGER myThid
36 CEOP
37
38
39 C Flags specific to RW and MDSIO
40 C Set globalFiles flag for READ_WRITE_FLD package
41 CALL SET_WRITE_GLOBAL_FLD( globalFiles )
42 C Set globalFiles flag for READ_WRITE_REC package
43 CALL SET_WRITE_GLOBAL_REC( globalFiles )
44 C Set globalFiles flag for READ_WRITE_REC package
45 CALL SET_WRITE_GLOBAL_PICKUP( globalFiles )
46
47 #ifdef ALLOW_MNC
48 IF (useMNC) THEN
49
50 C Define coordinates for all MNC files ---------------------------------
51 C XC
52 CALL MNC_CW_ADD_VNAME('XC', 'Cen_xy_Hn__-__-', 3,4, myThid)
53 CALL MNC_CW_ADD_VATTR_TEXT('XC',1,'description',
54 & 'X coordinate of cell center (T-P point)',myThid)
55 CALL MNC_CW_ADD_VATTR_TEXT('XC',1,
56 & 'units', 'degree_east', myThid)
57
58 C YC
59 CALL MNC_CW_ADD_VNAME('YC', 'Cen_xy_Hn__-__-', 3,4, myThid)
60 CALL MNC_CW_ADD_VATTR_TEXT('YC',1,'description',
61 & 'Y coordinate of cell center (T-P point)',myThid)
62 CALL MNC_CW_ADD_VATTR_TEXT('YC',1,
63 & 'units', 'degree_north', myThid)
64
65 C XU
66 CALL MNC_CW_ADD_VNAME('XU', 'U_xy_Hn__-__-', 3,4, myThid)
67 CALL MNC_CW_ADD_VATTR_TEXT('XU',1,'description',
68 & 'X coordinate of U point',myThid)
69 CALL MNC_CW_ADD_VATTR_TEXT('XU',1,
70 & 'units', 'degree_east', myThid)
71
72 C YU
73 CALL MNC_CW_ADD_VNAME('YU', 'U_xy_Hn__-__-', 3,4, myThid)
74 CALL MNC_CW_ADD_VATTR_TEXT('YU',1,'description',
75 & 'Y coordinate of U point',myThid)
76 CALL MNC_CW_ADD_VATTR_TEXT('YU',1,
77 & 'units', 'degree_north', myThid)
78
79 C XV
80 CALL MNC_CW_ADD_VNAME('XV', 'V_xy_Hn__-__-', 3,4, myThid)
81 CALL MNC_CW_ADD_VATTR_TEXT('XV',1,'description',
82 & 'X coordinate of V point',myThid)
83 CALL MNC_CW_ADD_VATTR_TEXT('XV',1,
84 & 'units', 'degree_east', myThid)
85
86 C YV
87 CALL MNC_CW_ADD_VNAME('YV', 'V_xy_Hn__-__-', 3,4, myThid)
88 CALL MNC_CW_ADD_VATTR_TEXT('YV',1,'description',
89 & 'Y coordinate of V point',myThid)
90 CALL MNC_CW_ADD_VATTR_TEXT('YV',1,
91 & 'units', 'degree_north', myThid)
92
93 C XG
94 CALL MNC_CW_ADD_VNAME('XG', 'Cor_xy_Hn__-__-', 3,4, myThid)
95 CALL MNC_CW_ADD_VATTR_TEXT('XG',1,'description',
96 & 'X coordinate of cell corner (Vorticity point)',myThid)
97 CALL MNC_CW_ADD_VATTR_TEXT('XG',1,
98 & 'units', 'degree_east', myThid)
99
100 C YG
101 CALL MNC_CW_ADD_VNAME('YG', 'Cor_xy_Hn__-__-', 3,4, myThid)
102 CALL MNC_CW_ADD_VATTR_TEXT('YG',1,'description',
103 & 'Y coordinate of cell corner (Vorticity point)',myThid)
104 CALL MNC_CW_ADD_VATTR_TEXT('YG',1,
105 & 'units', 'degree_north', myThid)
106
107 C RC
108 CALL MNC_CW_ADD_VNAME('RC', '-_-_--__C__-', 0,0, myThid)
109 CALL MNC_CW_ADD_VATTR_TEXT('RC',1,'description',
110 & 'R coordinate of cell center',myThid)
111 CALL MNC_CW_ADD_VATTR_TEXT('RC',1,
112 & 'units', 'm', myThid)
113
114 C RF
115 CALL MNC_CW_ADD_VNAME('RF', '-_-_--__I__-', 0,0, myThid)
116 CALL MNC_CW_ADD_VATTR_TEXT('RF',1,'description',
117 & 'R coordinate of cell interface',myThid)
118 CALL MNC_CW_ADD_VATTR_TEXT('RF',1,
119 & 'units', 'm', myThid)
120 C End define coordinates for all MNC files ----------------------------
121
122
123 C Create MNC definitions for DYNVARS.h variables
124 CALL MNC_CW_ADD_VNAME('iter', '-_-_--__-__t', 0,0, myThid)
125 CALL MNC_CW_ADD_VATTR_TEXT('iter',1,
126 & 'long_name','iteration_count', myThid)
127
128 CALL MNC_CW_ADD_VNAME('model_time', '-_-_--__-__t', 0,0, myThid)
129 CALL MNC_CW_ADD_VATTR_TEXT('model_time',1,
130 & 'long_name','Model Time', myThid)
131 CALL MNC_CW_ADD_VATTR_TEXT('model_time',1,'units','s', myThid)
132
133 CALL MNC_CW_ADD_VNAME('U', 'U_xy_Hn__C__t', 4,5, myThid)
134 CALL MNC_CW_ADD_VATTR_TEXT('U',1,'units','m/s', myThid)
135 CALL MNC_CW_ADD_VATTR_TEXT('U',1,
136 & 'coordinates','XU YU RC iter', myThid)
137
138 CALL MNC_CW_ADD_VNAME('V', 'V_xy_Hn__C__t', 4,5, myThid)
139 CALL MNC_CW_ADD_VATTR_TEXT('V',1,'units','m/s', myThid)
140 CALL MNC_CW_ADD_VATTR_TEXT('V',1,
141 & 'coordinates','XV YV RC iter', myThid)
142
143 CALL MNC_CW_ADD_VNAME('T', 'Cen_xy_Hn__C__t', 4,5, myThid)
144 CALL MNC_CW_ADD_VATTR_TEXT('T',1,'units','degC', myThid)
145 CALL MNC_CW_ADD_VATTR_TEXT('T',1,'long_name',
146 & 'potential_temperature', myThid)
147 CALL MNC_CW_ADD_VATTR_TEXT('T',1,
148 & 'coordinates','XC YC RC iter', myThid)
149
150 CALL MNC_CW_ADD_VNAME('S', 'Cen_xy_Hn__C__t', 4,5, myThid)
151 CALL MNC_CW_ADD_VATTR_TEXT('S',1,'long_name',
152 & 'salinity', myThid)
153 CALL MNC_CW_ADD_VATTR_TEXT('S',1,
154 & 'coordinates','XC YC RC iter', myThid)
155
156 CALL MNC_CW_ADD_VNAME('Unm1', 'U_xy_Hn__C__t', 4,5, myThid)
157 CALL MNC_CW_ADD_VNAME('Vnm1', 'V_xy_Hn__C__t', 4,5, myThid)
158 CALL MNC_CW_ADD_VNAME('Tnm1', 'Cen_xy_Hn__C__t', 4,5, myThid)
159 CALL MNC_CW_ADD_VNAME('Snm1', 'Cen_xy_Hn__C__t', 4,5, myThid)
160
161 CALL MNC_CW_ADD_VNAME('Eta', 'Cen_xy_Hn__-__t', 3,4, myThid)
162 CALL MNC_CW_ADD_VATTR_TEXT('Eta',1,'long_name',
163 & 'free-surface_r-anomaly', myThid)
164 CALL MNC_CW_ADD_VATTR_TEXT('Eta',1,'units','m', myThid)
165 CALL MNC_CW_ADD_VATTR_TEXT('Eta',1,
166 & 'coordinates','XC YC RC iter', myThid)
167
168 CALL MNC_CW_ADD_VNAME('EtaNH', 'Cen_xy_Hn__-__t', 3,4, myThid)
169 CALL MNC_CW_ADD_VATTR_TEXT('EtaNH',1,'long_name',
170 & 'NLFS_r-anomaly', myThid)
171 CALL MNC_CW_ADD_VATTR_TEXT('EtaNH',1,'units','m', myThid)
172 CALL MNC_CW_ADD_VATTR_TEXT('EtaNH',1,
173 & 'coordinates','XC YC RC iter', myThid)
174
175 CALL MNC_CW_ADD_VNAME('W', 'Cen_xy_Hn__C__t', 4,5, myThid)
176 CALL MNC_CW_ADD_VATTR_TEXT('W',1,'units','m/s', myThid)
177 CALL MNC_CW_ADD_VATTR_TEXT('W',1,
178 & 'coordinates','XC YC RC iter', myThid)
179
180 CALL MNC_CW_ADD_VNAME('totPhiHyd', 'Cen_xy_Hn__C__t', 4,5, myThid)
181 CALL MNC_CW_ADD_VNAME('phiHydLow', 'Cen_xy_Hn__-__t', 3,4, myThid)
182 CALL MNC_CW_ADD_VNAME('phi_nh', 'Cen_xy_Hn__C__t', 4,5, myThid)
183 CALL MNC_CW_ADD_VNAME('gW', 'Cen_xy_Hn__C__t', 4,5, myThid)
184
185 CALL MNC_CW_ADD_VNAME('tr1', 'Cen_xy_Hn__C__t', 4,5, myThid)
186 CALL MNC_CW_ADD_VATTR_TEXT('tr1',1,
187 & 'long_name','passive_tracer_1', myThid)
188 CALL MNC_CW_ADD_VATTR_TEXT('T',1,
189 & 'coordinates','XC YC RC iter', myThid)
190
191 C Write coordinates to "state" file
192 CALL MNC_CW_SET_UDIM('state', 0, myThid)
193 CALL MNC_CW_RS_W('R','state',0,0,'XC',xC, myThid)
194 CALL MNC_CW_RS_W('R','state',0,0,'YC',yC, myThid)
195 CALL MNC_CW_RS_W('R','state',0,0,'XU',xG, myThid)
196 CALL MNC_CW_RS_W('R','state',0,0,'YU',yC, myThid)
197 CALL MNC_CW_RS_W('R','state',0,0,'XV',xC, myThid)
198 CALL MNC_CW_RS_W('R','state',0,0,'YV',yG, myThid)
199 CALL MNC_CW_RS_W('R','state',0,0,'XG',xG, myThid)
200 CALL MNC_CW_RS_W('R','state',0,0,'YG',yG, myThid)
201 CALL MNC_CW_RS_W('R','state',0,0,'RC',rC, myThid)
202 CALL MNC_CW_RS_W('R','state',0,0,'RF',rF, myThid)
203
204 ENDIF
205 #endif
206
207 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
208
209 RETURN
210 END

  ViewVC Help
Powered by ViewVC 1.1.22