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

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

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

revision 1.1 by adcroft, Thu May 13 15:40:53 2004 UTC revision 1.13 by edhill, Tue Dec 14 23:00:53 2004 UTC
# Line 8  C---+----1----+----2----+----3----+----4 Line 8  C---+----1----+----2----+----3----+----4
8    
9  CBOP  CBOP
10  C     !ROUTINE: INI_MODEL_IO  C     !ROUTINE: INI_MODEL_IO
11    
12  C     !INTERFACE:  C     !INTERFACE:
13        SUBROUTINE INI_MODEL_IO( myThid )        SUBROUTINE INI_MODEL_IO( myThid )
14    
15  C     !DESCRIPTION: \bv  C     !DESCRIPTION:
16  C     ini_model_io() is where run-time/experiment specific data are passed  C     Pass specific setup data to any I/O packages necessary for I/O of
17  C     to any I/O packages ready that will be used for I/O of model state  C     model state variables.  This is specifically for setting up (once
18  C     variables.  C     only!)  information such as shape/size of variables, units,
19  C     This is specifically for setting up once only information such as  C     etc... and is primarily for state and snapshot variables.
 C     shape/size of variables, units, etc... and is only for state variables.  
 C     \ev  
   
 C     !CALLING SEQUENCE:  
 C     PACKAGES_INIT_FIXED  
 C       |  
 C       |-- MNC_INIT  
20    
21    C     !USES:
22        IMPLICIT NONE        IMPLICIT NONE
23  #include "SIZE.h"  #include "SIZE.h"
24  #include "GRID.h"  #include "GRID.h"
# Line 50  C     Set globalFiles flag for READ_WRIT Line 45  C     Set globalFiles flag for READ_WRIT
45  C     Define coordinates for all MNC files ---------------------------------  C     Define coordinates for all MNC files ---------------------------------
46  C     XC  C     XC
47        CALL MNC_CW_ADD_VNAME('XC', 'Cen_xy_Hn__-__-', 3,4, myThid)        CALL MNC_CW_ADD_VNAME('XC', 'Cen_xy_Hn__-__-', 3,4, myThid)
48        CALL MNC_CW_ADD_VATTR_TEXT('XC',1,'description',        CALL MNC_CW_ADD_VATTR_TEXT('XC','description',
49       &     'X coordinate of cell center (T-P point)',myThid)       &     'X coordinate of cell center (T-P point)',myThid)
50        CALL MNC_CW_ADD_VATTR_TEXT('XC',1,        CALL MNC_CW_ADD_VATTR_TEXT('XC',
51       &     'units', 'degree_east', myThid)       &     'units', 'degree_east', myThid)
52    
53  C     YC  C     YC
54        CALL MNC_CW_ADD_VNAME('YC', 'Cen_xy_Hn__-__-', 3,4, myThid)        CALL MNC_CW_ADD_VNAME('YC', 'Cen_xy_Hn__-__-', 3,4, myThid)
55        CALL MNC_CW_ADD_VATTR_TEXT('YC',1,'description',        CALL MNC_CW_ADD_VATTR_TEXT('YC','description',
56       &     'Y coordinate of cell center (T-P point)',myThid)       &     'Y coordinate of cell center (T-P point)',myThid)
57        CALL MNC_CW_ADD_VATTR_TEXT('YC',1,        CALL MNC_CW_ADD_VATTR_TEXT('YC',
58       &     'units', 'degree_north', myThid)       &     'units', 'degree_north', myThid)
59    
60  C     XU  C     XU
61        CALL MNC_CW_ADD_VNAME('XU', 'U_xy_Hn__-__-', 3,4, myThid)        CALL MNC_CW_ADD_VNAME('XU', 'U_xy_Hn__-__-', 3,4, myThid)
62        CALL MNC_CW_ADD_VATTR_TEXT('XU',1,'description',        CALL MNC_CW_ADD_VATTR_TEXT('XU','description',
63       &     'X coordinate of U point',myThid)       &     'X coordinate of U point',myThid)
64        CALL MNC_CW_ADD_VATTR_TEXT('XU',1,        CALL MNC_CW_ADD_VATTR_TEXT('XU',
65       &     'units', 'degree_east', myThid)       &     'units', 'degree_east', myThid)
66    
67  C     YU  C     YU
68        CALL MNC_CW_ADD_VNAME('YU', 'U_xy_Hn__-__-', 3,4, myThid)        CALL MNC_CW_ADD_VNAME('YU', 'U_xy_Hn__-__-', 3,4, myThid)
69        CALL MNC_CW_ADD_VATTR_TEXT('YU',1,'description',        CALL MNC_CW_ADD_VATTR_TEXT('YU','description',
70       &     'Y coordinate of U point',myThid)       &     'Y coordinate of U point',myThid)
71        CALL MNC_CW_ADD_VATTR_TEXT('YU',1,        CALL MNC_CW_ADD_VATTR_TEXT('YU',
72       &     'units', 'degree_north', myThid)       &     'units', 'degree_north', myThid)
73    
74  C     XV  C     XV
75        CALL MNC_CW_ADD_VNAME('XV', 'V_xy_Hn__-__-', 3,4, myThid)        CALL MNC_CW_ADD_VNAME('XV', 'V_xy_Hn__-__-', 3,4, myThid)
76        CALL MNC_CW_ADD_VATTR_TEXT('XV',1,'description',        CALL MNC_CW_ADD_VATTR_TEXT('XV','description',
77       &     'X coordinate of V point',myThid)       &     'X coordinate of V point',myThid)
78        CALL MNC_CW_ADD_VATTR_TEXT('XV',1,        CALL MNC_CW_ADD_VATTR_TEXT('XV',
79       &     'units', 'degree_east', myThid)       &     'units', 'degree_east', myThid)
80    
81  C     YV  C     YV
82        CALL MNC_CW_ADD_VNAME('YV', 'V_xy_Hn__-__-', 3,4, myThid)        CALL MNC_CW_ADD_VNAME('YV', 'V_xy_Hn__-__-', 3,4, myThid)
83        CALL MNC_CW_ADD_VATTR_TEXT('YV',1,'description',        CALL MNC_CW_ADD_VATTR_TEXT('YV','description',
84       &     'Y coordinate of V point',myThid)       &     'Y coordinate of V point',myThid)
85        CALL MNC_CW_ADD_VATTR_TEXT('YV',1,        CALL MNC_CW_ADD_VATTR_TEXT('YV',
86       &     'units', 'degree_north', myThid)       &     'units', 'degree_north', myThid)
87    
88  C     XG  C     XG
89        CALL MNC_CW_ADD_VNAME('XG', 'Cor_xy_Hn__-__-', 3,4, myThid)        CALL MNC_CW_ADD_VNAME('XG', 'Cor_xy_Hn__-__-', 3,4, myThid)
90        CALL MNC_CW_ADD_VATTR_TEXT('XG',1,'description',        CALL MNC_CW_ADD_VATTR_TEXT('XG','description',
91       &     'X coordinate of cell corner (Vorticity point)',myThid)       &     'X coordinate of cell corner (Vorticity point)',myThid)
92        CALL MNC_CW_ADD_VATTR_TEXT('XG',1,        CALL MNC_CW_ADD_VATTR_TEXT('XG',
93       &     'units', 'degree_east', myThid)       &     'units', 'degree_east', myThid)
94    
95  C     YG  C     YG
96        CALL MNC_CW_ADD_VNAME('YG', 'Cor_xy_Hn__-__-', 3,4, myThid)        CALL MNC_CW_ADD_VNAME('YG', 'Cor_xy_Hn__-__-', 3,4, myThid)
97        CALL MNC_CW_ADD_VATTR_TEXT('YG',1,'description',        CALL MNC_CW_ADD_VATTR_TEXT('YG','description',
98       &     'Y coordinate of cell corner (Vorticity point)',myThid)       &     'Y coordinate of cell corner (Vorticity point)',myThid)
99        CALL MNC_CW_ADD_VATTR_TEXT('YG',1,        CALL MNC_CW_ADD_VATTR_TEXT('YG',
100       &     'units', 'degree_north', myThid)       &     'units', 'degree_north', myThid)
101    
102  C     RC  C     RC
103        CALL MNC_CW_ADD_VNAME('RC', '-_-_--__C__-', 0,0, myThid)        CALL MNC_CW_ADD_VNAME('RC', '-_-_--__C__-', 0,0, myThid)
104        CALL MNC_CW_ADD_VATTR_TEXT('RC',1,'description',        CALL MNC_CW_ADD_VATTR_TEXT('RC','description',
105       &     'R coordinate of cell center',myThid)       &     'R coordinate of cell center',myThid)
106        CALL MNC_CW_ADD_VATTR_TEXT('RC',1,        CALL MNC_CW_ADD_VATTR_TEXT('RC',
107       &     'units', 'm', myThid)       &     'units', 'm', myThid)
108    
109  C     RF  C     RF
110        CALL MNC_CW_ADD_VNAME('RF', '-_-_--__I__-', 0,0, myThid)        CALL MNC_CW_ADD_VNAME('RF', '-_-_--__I__-', 0,0, myThid)
111        CALL MNC_CW_ADD_VATTR_TEXT('RF',1,'description',        CALL MNC_CW_ADD_VATTR_TEXT('RF','description',
112       &     'R coordinate of cell interface',myThid)       &     'R coordinate of cell interface',myThid)
113        CALL MNC_CW_ADD_VATTR_TEXT('RF',1,        CALL MNC_CW_ADD_VATTR_TEXT('RF',
114       &     'units', 'm', myThid)       &     'units', 'm', myThid)
115  C     End define coordinates for all MNC files ----------------------------  C     End define coordinates for all MNC files ----------------------------
116    
117    
118  C     Create MNC definitions for DYNVARS.h variables  C     Create MNC definitions for DYNVARS.h variables
119        CALL MNC_CW_ADD_VNAME('iter', '-_-_--__-__t', 0,0, myThid)        CALL MNC_CW_ADD_VNAME('iter', '-_-_--__-__t', 0,0, myThid)
120        CALL MNC_CW_ADD_VATTR_TEXT('iter',1,        CALL MNC_CW_ADD_VATTR_TEXT('iter',
121       &     'long_name','iteration_count', myThid)       &     'long_name','iteration_count', myThid)
122    
123        CALL MNC_CW_ADD_VNAME('model_time', '-_-_--__-__t', 0,0, myThid)        CALL MNC_CW_ADD_VNAME('model_time', '-_-_--__-__t', 0,0, myThid)
124        CALL MNC_CW_ADD_VATTR_TEXT('model_time',1,        CALL MNC_CW_ADD_VATTR_TEXT('model_time',
125       &     'long_name','Model Time', myThid)       &     'long_name','Model Time', myThid)
126        CALL MNC_CW_ADD_VATTR_TEXT('model_time',1,'units','s', myThid)        CALL MNC_CW_ADD_VATTR_TEXT('model_time','units','s', myThid)
127    
128        CALL MNC_CW_ADD_VNAME('U', 'U_xy_Hn__C__t', 4,5, myThid)        CALL MNC_CW_ADD_VNAME('U', 'U_xy_Hn__C__t', 4,5, myThid)
129        CALL MNC_CW_ADD_VATTR_TEXT('U',1,'units','m/s', myThid)        CALL MNC_CW_ADD_VATTR_TEXT('U','units','m/s', myThid)
130        CALL MNC_CW_ADD_VATTR_TEXT('U',1,        CALL MNC_CW_ADD_VATTR_TEXT('U',
131       &     'coordinates','XU YU RC iter', myThid)       &     'coordinates','XU YU RC iter', myThid)
132    
133        CALL MNC_CW_ADD_VNAME('V', 'V_xy_Hn__C__t', 4,5, myThid)        CALL MNC_CW_ADD_VNAME('V', 'V_xy_Hn__C__t', 4,5, myThid)
134        CALL MNC_CW_ADD_VATTR_TEXT('V',1,'units','m/s', myThid)        CALL MNC_CW_ADD_VATTR_TEXT('V','units','m/s', myThid)
135        CALL MNC_CW_ADD_VATTR_TEXT('V',1,        CALL MNC_CW_ADD_VATTR_TEXT('V',
136       &     'coordinates','XV YV RC iter', myThid)       &     'coordinates','XV YV RC iter', myThid)
137    
138        CALL MNC_CW_ADD_VNAME('T', 'Cen_xy_Hn__C__t', 4,5, myThid)        CALL MNC_CW_ADD_VNAME('Temp', 'Cen_xy_Hn__C__t', 4,5, myThid)
139        CALL MNC_CW_ADD_VATTR_TEXT('T',1,'units','degC', myThid)        CALL MNC_CW_ADD_VATTR_TEXT('Temp','units','degC', myThid)
140        CALL MNC_CW_ADD_VATTR_TEXT('T',1,'long_name',        CALL MNC_CW_ADD_VATTR_TEXT('Temp','long_name',
141       &     'potential_temperature', myThid)       &     'potential_temperature', myThid)
142        CALL MNC_CW_ADD_VATTR_TEXT('T',1,        CALL MNC_CW_ADD_VATTR_TEXT('Temp',
143       &     'coordinates','XC YC RC iter', myThid)       &     'coordinates','XC YC RC iter', myThid)
144    
145        CALL MNC_CW_ADD_VNAME('S', 'Cen_xy_Hn__C__t', 4,5, myThid)        CALL MNC_CW_ADD_VNAME('S', 'Cen_xy_Hn__C__t', 4,5, myThid)
146        CALL MNC_CW_ADD_VATTR_TEXT('S',1,'long_name',        CALL MNC_CW_ADD_VATTR_TEXT('S','long_name',
147       &     'salinity', myThid)       &     'salinity', myThid)
148        CALL MNC_CW_ADD_VATTR_TEXT('S',1,        CALL MNC_CW_ADD_VATTR_TEXT('S',
149       &     'coordinates','XC YC RC iter', myThid)       &     'coordinates','XC YC RC iter', myThid)
150    
151        CALL MNC_CW_ADD_VNAME('Unm1', 'U_xy_Hn__C__t', 4,5, myThid)        CALL MNC_CW_ADD_VNAME('gUnm1', 'U_xy_Hn__C__t', 4,5, myThid)
152        CALL MNC_CW_ADD_VNAME('Vnm1', 'V_xy_Hn__C__t', 4,5, myThid)        CALL MNC_CW_ADD_VNAME('gVnm1', 'V_xy_Hn__C__t', 4,5, myThid)
153        CALL MNC_CW_ADD_VNAME('Tnm1', 'Cen_xy_Hn__C__t', 4,5, myThid)        CALL MNC_CW_ADD_VNAME('gTnm1', 'Cen_xy_Hn__C__t', 4,5, myThid)
154        CALL MNC_CW_ADD_VNAME('Snm1', 'Cen_xy_Hn__C__t', 4,5, myThid)        CALL MNC_CW_ADD_VNAME('gSnm1', 'Cen_xy_Hn__C__t', 4,5, myThid)
155    
156        CALL MNC_CW_ADD_VNAME('Eta', 'Cen_xy_Hn__-__t', 3,4, myThid)        CALL MNC_CW_ADD_VNAME('Eta', 'Cen_xy_Hn__-__t', 3,4, myThid)
157        CALL MNC_CW_ADD_VATTR_TEXT('Eta',1,'long_name',        CALL MNC_CW_ADD_VATTR_TEXT('Eta','long_name',
158       &     'free-surface_r-anomaly', myThid)       &     'free-surface_r-anomaly', myThid)
159        CALL MNC_CW_ADD_VATTR_TEXT('Eta',1,'units','m', myThid)        CALL MNC_CW_ADD_VATTR_TEXT('Eta','units','m', myThid)
160        CALL MNC_CW_ADD_VATTR_TEXT('Eta',1,        CALL MNC_CW_ADD_VATTR_TEXT('Eta',
161       &     'coordinates','XC YC RC iter', myThid)       &     'coordinates','XC YC RC iter', myThid)
162    
163        CALL MNC_CW_ADD_VNAME('EtaNH', 'Cen_xy_Hn__-__t', 3,4, myThid)        CALL MNC_CW_ADD_VNAME('EtaH', 'Cen_xy_Hn__-__t', 3,4, myThid)
164        CALL MNC_CW_ADD_VATTR_TEXT('EtaNH',1,'long_name',        CALL MNC_CW_ADD_VATTR_TEXT('EtaH','long_name',
165       &     'NLFS_r-anomaly', myThid)       &     'column-thickness_r-anomaly', myThid)
166        CALL MNC_CW_ADD_VATTR_TEXT('EtaNH',1,'units','m', myThid)        CALL MNC_CW_ADD_VATTR_TEXT('EtaH','units','m', myThid)
167        CALL MNC_CW_ADD_VATTR_TEXT('EtaNH',1,        CALL MNC_CW_ADD_VATTR_TEXT('EtaH',
168       &     'coordinates','XC YC RC iter', myThid)       &     'coordinates','XC YC RC iter', myThid)
169          CALL MNC_CW_ADD_VNAME('dEtaHdt', 'Cen_xy_Hn__-__t', 3,4, myThid)
170    
171        CALL MNC_CW_ADD_VNAME('W', 'Cen_xy_Hn__C__t', 4,5, myThid)        CALL MNC_CW_ADD_VNAME('W', 'Cen_xy_Hn__C__t', 4,5, myThid)
172        CALL MNC_CW_ADD_VATTR_TEXT('W',1,'units','m/s', myThid)        CALL MNC_CW_ADD_VATTR_TEXT('W','units','m/s', myThid)
173        CALL MNC_CW_ADD_VATTR_TEXT('W',1,        CALL MNC_CW_ADD_VATTR_TEXT('W',
174       &     'coordinates','XC YC RC iter', myThid)       &     'coordinates','XC YC RC iter', myThid)
175    
176        CALL MNC_CW_ADD_VNAME('totPhiHyd', 'Cen_xy_Hn__C__t', 4,5, myThid)        CALL MNC_CW_ADD_VNAME('phiHyd', 'Cen_xy_Hn__C__t', 4,5, myThid)
177        CALL MNC_CW_ADD_VNAME('phiHydLow', 'Cen_xy_Hn__-__t', 3,4, myThid)        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)        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)        CALL MNC_CW_ADD_VNAME('gW', 'Cen_xy_Hn__C__t', 4,5, myThid)
180    
       CALL MNC_CW_ADD_VNAME('tr1', 'Cen_xy_Hn__C__t', 4,5, myThid)  
       CALL MNC_CW_ADD_VATTR_TEXT('tr1',1,  
      &     'long_name','passive_tracer_1', myThid)  
       CALL MNC_CW_ADD_VATTR_TEXT('T',1,  
      &     'coordinates','XC YC RC iter', myThid)  
   
181  C     Write coordinates to "state" file  C     Write coordinates to "state" file
182        CALL MNC_CW_SET_UDIM('state', 0, myThid)  C     CALL MNC_CW_SET_UDIM('state', 0, myThid)
183        CALL MNC_CW_RS_W('R','state',0,0,'XC',xC, myThid)  C     CALL MNC_CW_RS_W('R','state',0,0,'XC',xC, myThid)
184        CALL MNC_CW_RS_W('R','state',0,0,'YC',yC, myThid)  C     CALL MNC_CW_RS_W('R','state',0,0,'YC',yC, myThid)
185        CALL MNC_CW_RS_W('R','state',0,0,'XU',xG, myThid)  C     CALL MNC_CW_RS_W('R','state',0,0,'XU',xG, myThid)
186        CALL MNC_CW_RS_W('R','state',0,0,'YU',yC, myThid)  C     CALL MNC_CW_RS_W('R','state',0,0,'YU',yC, myThid)
187        CALL MNC_CW_RS_W('R','state',0,0,'XV',xC, myThid)  C     CALL MNC_CW_RS_W('R','state',0,0,'XV',xC, myThid)
188        CALL MNC_CW_RS_W('R','state',0,0,'YV',yG, myThid)  C     CALL MNC_CW_RS_W('R','state',0,0,'YV',yG, myThid)
189        CALL MNC_CW_RS_W('R','state',0,0,'XG',xG, myThid)  C     CALL MNC_CW_RS_W('R','state',0,0,'XG',xG, myThid)
190        CALL MNC_CW_RS_W('R','state',0,0,'YG',yG, myThid)  C     CALL MNC_CW_RS_W('R','state',0,0,'YG',yG, myThid)
191        CALL MNC_CW_RS_W('R','state',0,0,'RC',rC, myThid)  C     CALL MNC_CW_RS_W('R','state',0,0,'RC',rC, myThid)
192        CALL MNC_CW_RS_W('R','state',0,0,'RF',rF, myThid)  C     CALL MNC_CW_RS_W('R','state',0,0,'RF',rF, myThid)
193    
194    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          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    
215    #ifdef ALLOW_AUTODIFF_MONITOR
216          CALL AUTODIFF_INI_MODEL_IO( myThid )
217    #endif
218    
219        ENDIF        ENDIF
220  #endif  #endif

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22