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

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

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


Revision 1.13 - (hide annotations) (download)
Tue Dec 14 23:00:53 2004 UTC (19 years, 5 months ago) by edhill
Branch: MAIN
Changes since 1.12: +12 -12 lines
o changes per discussion of AM, JMC, & EH3 today:
  - move redundant "grid" variables out of "state" -- in preparation of
    creating proper CF-style coordinate variables and in recognition
    that any/all grid variables can be easily copied (eg. w/NCO) from
    the grid files into any of the other NetCDF files
  - *always* output grid variables with MDSIO (this will eventually be
    changed)
  - output MNC grid file if useMNC is true

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

  ViewVC Help
Powered by ViewVC 1.1.22