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

1 edhill 1.9 C $Header: /u/gcmpack/MITgcm/model/src/ini_model_io.F,v 1.8 2004/09/29 03:45:14 heimbach 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 edhill 1.4 #ifdef ALLOW_MNC
28     #include "MNC_PARAMS.h"
29     #endif
30 adcroft 1.1
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 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('XC','description',
52 adcroft 1.1 & 'X coordinate of cell center (T-P point)',myThid)
53 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('XC',
54 adcroft 1.1 & 'units', 'degree_east', myThid)
55    
56     C YC
57     CALL MNC_CW_ADD_VNAME('YC', 'Cen_xy_Hn__-__-', 3,4, myThid)
58 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('YC','description',
59 adcroft 1.1 & 'Y coordinate of cell center (T-P point)',myThid)
60 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('YC',
61 adcroft 1.1 & 'units', 'degree_north', myThid)
62    
63     C XU
64     CALL MNC_CW_ADD_VNAME('XU', 'U_xy_Hn__-__-', 3,4, myThid)
65 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('XU','description',
66 adcroft 1.1 & 'X coordinate of U point',myThid)
67 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('XU',
68 adcroft 1.1 & 'units', 'degree_east', myThid)
69    
70     C YU
71     CALL MNC_CW_ADD_VNAME('YU', 'U_xy_Hn__-__-', 3,4, myThid)
72 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('YU','description',
73 adcroft 1.1 & 'Y coordinate of U point',myThid)
74 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('YU',
75 adcroft 1.1 & 'units', 'degree_north', myThid)
76    
77     C XV
78     CALL MNC_CW_ADD_VNAME('XV', 'V_xy_Hn__-__-', 3,4, myThid)
79 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('XV','description',
80 adcroft 1.1 & 'X coordinate of V point',myThid)
81 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('XV',
82 adcroft 1.1 & 'units', 'degree_east', myThid)
83    
84     C YV
85     CALL MNC_CW_ADD_VNAME('YV', 'V_xy_Hn__-__-', 3,4, myThid)
86 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('YV','description',
87 adcroft 1.1 & 'Y coordinate of V point',myThid)
88 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('YV',
89 adcroft 1.1 & 'units', 'degree_north', myThid)
90    
91     C XG
92     CALL MNC_CW_ADD_VNAME('XG', 'Cor_xy_Hn__-__-', 3,4, myThid)
93 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('XG','description',
94 adcroft 1.1 & 'X coordinate of cell corner (Vorticity point)',myThid)
95 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('XG',
96 adcroft 1.1 & 'units', 'degree_east', myThid)
97    
98     C YG
99     CALL MNC_CW_ADD_VNAME('YG', 'Cor_xy_Hn__-__-', 3,4, myThid)
100 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('YG','description',
101 adcroft 1.1 & 'Y coordinate of cell corner (Vorticity point)',myThid)
102 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('YG',
103 adcroft 1.1 & 'units', 'degree_north', myThid)
104    
105     C RC
106     CALL MNC_CW_ADD_VNAME('RC', '-_-_--__C__-', 0,0, myThid)
107 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('RC','description',
108 adcroft 1.1 & 'R coordinate of cell center',myThid)
109 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('RC',
110 adcroft 1.1 & 'units', 'm', myThid)
111    
112     C RF
113     CALL MNC_CW_ADD_VNAME('RF', '-_-_--__I__-', 0,0, myThid)
114 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('RF','description',
115 adcroft 1.1 & 'R coordinate of cell interface',myThid)
116 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('RF',
117 adcroft 1.1 & '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 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('iter',
124 adcroft 1.1 & 'long_name','iteration_count', myThid)
125    
126     CALL MNC_CW_ADD_VNAME('model_time', '-_-_--__-__t', 0,0, myThid)
127 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('model_time',
128 adcroft 1.1 & 'long_name','Model Time', myThid)
129 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('model_time','units','s', myThid)
130 adcroft 1.1
131     CALL MNC_CW_ADD_VNAME('U', 'U_xy_Hn__C__t', 4,5, myThid)
132 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('U','units','m/s', myThid)
133     CALL MNC_CW_ADD_VATTR_TEXT('U',
134 adcroft 1.1 & 'coordinates','XU YU RC iter', myThid)
135    
136     CALL MNC_CW_ADD_VNAME('V', 'V_xy_Hn__C__t', 4,5, myThid)
137 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('V','units','m/s', myThid)
138     CALL MNC_CW_ADD_VATTR_TEXT('V',
139 adcroft 1.1 & 'coordinates','XV YV RC iter', myThid)
140    
141 edhill 1.7 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 adcroft 1.1 & 'potential_temperature', myThid)
145 edhill 1.7 CALL MNC_CW_ADD_VATTR_TEXT('Temp',
146 adcroft 1.1 & 'coordinates','XC YC RC iter', myThid)
147    
148     CALL MNC_CW_ADD_VNAME('S', 'Cen_xy_Hn__C__t', 4,5, myThid)
149 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('S','long_name',
150 adcroft 1.1 & 'salinity', myThid)
151 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('S',
152 adcroft 1.1 & 'coordinates','XC YC RC iter', myThid)
153    
154 jmc 1.2 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 adcroft 1.1
159     CALL MNC_CW_ADD_VNAME('Eta', 'Cen_xy_Hn__-__t', 3,4, myThid)
160 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('Eta','long_name',
161 adcroft 1.1 & 'free-surface_r-anomaly', myThid)
162 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('Eta','units','m', myThid)
163     CALL MNC_CW_ADD_VATTR_TEXT('Eta',
164 adcroft 1.1 & 'coordinates','XC YC RC iter', myThid)
165    
166 jmc 1.2 CALL MNC_CW_ADD_VNAME('EtaH', 'Cen_xy_Hn__-__t', 3,4, myThid)
167 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('EtaH','long_name',
168 jmc 1.2 & 'column-thickness_r-anomaly', myThid)
169 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('EtaH','units','m', myThid)
170     CALL MNC_CW_ADD_VATTR_TEXT('EtaH',
171 adcroft 1.1 & 'coordinates','XC YC RC iter', myThid)
172 jmc 1.3 CALL MNC_CW_ADD_VNAME('dEtaHdt', 'Cen_xy_Hn__-__t', 3,4, myThid)
173 adcroft 1.1
174     CALL MNC_CW_ADD_VNAME('W', 'Cen_xy_Hn__C__t', 4,5, myThid)
175 edhill 1.6 CALL MNC_CW_ADD_VATTR_TEXT('W','units','m/s', myThid)
176     CALL MNC_CW_ADD_VATTR_TEXT('W',
177 adcroft 1.1 & 'coordinates','XC YC RC iter', myThid)
178    
179 jmc 1.2 CALL MNC_CW_ADD_VNAME('phiHyd', 'Cen_xy_Hn__C__t', 4,5, myThid)
180 adcroft 1.1 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 edhill 1.9 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 heimbach 1.8 #ifdef ALLOW_AUTODIFF_MONITOR
217     CALL AUTODIFF_INI_MODEL_IO( myThid )
218     #endif
219    
220 adcroft 1.1 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