1 |
C $Header: /u/gcmpack/MITgcm/pkg/aim_v23/aim_mnc_init.F,v 1.3 2005/07/06 17:15:34 enderton Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
5 |
|
6 |
#include "AIM_OPTIONS.h" |
7 |
|
8 |
CBOP |
9 |
C !ROUTINE: AIM_MNC_INIT |
10 |
|
11 |
C !INTERFACE: |
12 |
SUBROUTINE AIM_MNC_INIT( myThid ) |
13 |
|
14 |
C !DESCRIPTION: |
15 |
C Initialize MNC variables for AIM. |
16 |
|
17 |
C !USES: |
18 |
IMPLICIT NONE |
19 |
#include "AIM_SIZE.h" |
20 |
#include "EEPARAMS.h" |
21 |
#include "PARAMS.h" |
22 |
#include "AIM_PARAMS.h" |
23 |
#ifdef ALLOW_MNC |
24 |
#include "MNC_SIZE.h" |
25 |
#include "MNC_PARAMS.h" |
26 |
#endif |
27 |
|
28 |
C !INPUT/OUTPUT PARAMETERS: |
29 |
INTEGER myThid |
30 |
CEOP |
31 |
|
32 |
C == Local variables == |
33 |
CHARACTER*55 ln_var |
34 |
|
35 |
#ifdef ALLOW_MNC |
36 |
integer i,j, ndim |
37 |
integer CW_MAX_LOC |
38 |
parameter ( CW_MAX_LOC = 6 ) |
39 |
character*(MNC_MAX_CHAR) dn(CW_MAX_LOC) |
40 |
integer dim(CW_MAX_LOC), ib(CW_MAX_LOC), ie(CW_MAX_LOC) |
41 |
|
42 |
|
43 |
CALL MNC_CW_ADD_VNAME('USTRtave', 'U_xy_Hn__-__t',3,4,myThid) |
44 |
ln_var='u-stress' |
45 |
CALL MNC_CW_ADD_VATTR_TEXT('USTRtave','long_name',ln_var,myThid) |
46 |
CALL MNC_CW_ADD_VATTR_TEXT('USTRtave','units','Pa',myThid) |
47 |
|
48 |
CALL MNC_CW_ADD_VNAME('VSTRtave', 'V_xy_Hn__-__t',3,4,myThid) |
49 |
ln_var='v-stress' |
50 |
CALL MNC_CW_ADD_VATTR_TEXT('VSTRtave','long_name',ln_var, myThid) |
51 |
CALL MNC_CW_ADD_VATTR_TEXT('VSTRtave','units','Pa', myThid) |
52 |
|
53 |
CALL MNC_CW_ADD_VNAME('TSRtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
54 |
ln_var='top-of-atm. shortwave radiation' |
55 |
CALL MNC_CW_ADD_VATTR_TEXT('TSRtave','long_name',ln_var, myThid) |
56 |
CALL MNC_CW_ADD_VATTR_TEXT('TSRtave','units','W/m2', myThid) |
57 |
|
58 |
CALL MNC_CW_ADD_VNAME('OLRtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
59 |
ln_var='outgoing longwave radiation' |
60 |
CALL MNC_CW_ADD_VATTR_TEXT('OLRtave','long_name',ln_var, myThid) |
61 |
CALL MNC_CW_ADD_VATTR_TEXT('OLRtave','units','W/m2', myThid) |
62 |
|
63 |
CALL MNC_CW_ADD_VNAME('SSRtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
64 |
ln_var='surface shortwave radiation' |
65 |
CALL MNC_CW_ADD_VATTR_TEXT('SSRtave','long_name',ln_var, myThid) |
66 |
CALL MNC_CW_ADD_VATTR_TEXT('SSRtave','units','W/m2', myThid) |
67 |
|
68 |
CALL MNC_CW_ADD_VNAME('SLRtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
69 |
ln_var='surface longwave radiation' |
70 |
CALL MNC_CW_ADD_VATTR_TEXT('SLRtave','long_name',ln_var,myThid) |
71 |
CALL MNC_CW_ADD_VATTR_TEXT('SLRtave','units','W/m2', myThid) |
72 |
|
73 |
CALL MNC_CW_ADD_VNAME('SHFtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
74 |
ln_var='sensible heat flux' |
75 |
CALL MNC_CW_ADD_VATTR_TEXT('SHFtave','long_name',ln_var,myThid) |
76 |
CALL MNC_CW_ADD_VATTR_TEXT('SHFtave','units','W/m2', myThid) |
77 |
|
78 |
CALL MNC_CW_ADD_VNAME('EVAPtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
79 |
ln_var='evaporation' |
80 |
CALL MNC_CW_ADD_VATTR_TEXT('EVAPtave','long_name',ln_var,myThid) |
81 |
CALL MNC_CW_ADD_VATTR_TEXT('EVAPtave','units','g/(m2 s)',myThid) |
82 |
|
83 |
CALL MNC_CW_ADD_VNAME('PRECNVtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
84 |
ln_var='convective precipitation' |
85 |
CALL MNC_CW_ADD_VATTR_TEXT('PRECNVtave','long_name',ln_var,myThid) |
86 |
CALL MNC_CW_ADD_VATTR_TEXT('PRECNVtave','units','g/(m2 s)',myThid) |
87 |
|
88 |
CALL MNC_CW_ADD_VNAME('PRECLStave', 'Cen_xy_Hn__-__t',3,4,myThid) |
89 |
ln_var='large-scale precipitation' |
90 |
CALL MNC_CW_ADD_VATTR_TEXT('PRECLStave','long_name',ln_var,myThid) |
91 |
CALL MNC_CW_ADD_VATTR_TEXT('PRECLStave','units','g/(m2 s)',myThid) |
92 |
|
93 |
CALL MNC_CW_ADD_VNAME('CLOUDCtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
94 |
ln_var='total cloud cover' |
95 |
CALL MNC_CW_ADD_VATTR_TEXT('CLOUDCtave','long_name',ln_var,myThid) |
96 |
CALL MNC_CW_ADD_VATTR_TEXT('CLOUDCtave','units','fraction',myThid) |
97 |
|
98 |
CALL MNC_CW_ADD_VNAME('CLTOPtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
99 |
ln_var='normalized pressure at cloud top' |
100 |
CALL MNC_CW_ADD_VATTR_TEXT('CLTOPtave','long_name',ln_var,myThid) |
101 |
CALL MNC_CW_ADD_VATTR_TEXT('CLTOPtave','units','---', myThid) |
102 |
|
103 |
CALL MNC_CW_ADD_VNAME('CBMFtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
104 |
ln_var='cloud-base mass flux' |
105 |
CALL MNC_CW_ADD_VATTR_TEXT('CBMFtave','long_name',ln_var,myThid) |
106 |
CALL MNC_CW_ADD_VATTR_TEXT('CBMFtave','units','---',myThid) |
107 |
|
108 |
CALL MNC_CW_ADD_VNAME('DRAGtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
109 |
ln_var='surface Drag term (= Cd*Rho*|V|) (land+sea combined)' |
110 |
CALL MNC_CW_ADD_VATTR_TEXT('DRAGtave','long_name',ln_var,myThid) |
111 |
CALL MNC_CW_ADD_VATTR_TEXT('DRAGtave','units','---', myThid) |
112 |
|
113 |
CALL MNC_CW_ADD_VNAME('aimV0tave', 'Cen_xy_Hn__-__t',3,4,myThid) |
114 |
ln_var='surface wind speed' |
115 |
CALL MNC_CW_ADD_VATTR_TEXT('aimV0tave','long_name',ln_var,myThid) |
116 |
CALL MNC_CW_ADD_VATTR_TEXT('aimV0tave','units','---',myThid) |
117 |
|
118 |
CALL MNC_CW_ADD_VNAME('aimT0tave', 'Cen_xy_Hn__-__t',3,4,myThid) |
119 |
ln_var='surface air absolute temp.' |
120 |
CALL MNC_CW_ADD_VATTR_TEXT('aimT0tave','long_name',ln_var,myThid) |
121 |
CALL MNC_CW_ADD_VATTR_TEXT('aimT0tave','units','K',myThid) |
122 |
|
123 |
CALL MNC_CW_ADD_VNAME('aimQ0tave', 'Cen_xy_Hn__-__t',3,4,myThid) |
124 |
ln_var='surface air spec. humidity' |
125 |
CALL MNC_CW_ADD_VATTR_TEXT('aimQ0tave','long_name',ln_var,myThid) |
126 |
CALL MNC_CW_ADD_VATTR_TEXT('aimQ0tave','units','g/kg',myThid) |
127 |
|
128 |
CALL MNC_CW_ADD_VNAME('EnFxPrtave', 'Cen_xy_Hn__-__t',3,4,myThid) |
129 |
ln_var='energy flux associated with precip. (snow, rain temp)' |
130 |
CALL MNC_CW_ADD_VATTR_TEXT('EnFxPrtave','long_name',ln_var,myThid) |
131 |
CALL MNC_CW_ADD_VATTR_TEXT('EnFxPrtave','units','W/m2', myThid) |
132 |
|
133 |
CALL MNC_CW_ADD_VNAME('albedotave', 'Cen_xy_Hn__-__t',3,4,myThid) |
134 |
ln_var='surface albedo' |
135 |
CALL MNC_CW_ADD_VATTR_TEXT('albedotave','long_name',ln_var,myThid) |
136 |
CALL MNC_CW_ADD_VATTR_TEXT('albedotave','units','fraction',myThid) |
137 |
|
138 |
CALL MNC_CW_ADD_VNAME('dTsurftave', 'Cen_xy_Hn__-__t',3,4,myThid) |
139 |
ln_var='surf. Temp change from 1 iter to the next one (>0)' |
140 |
CALL MNC_CW_ADD_VATTR_TEXT('dTsurftave','long_name',ln_var,myThid) |
141 |
CALL MNC_CW_ADD_VATTR_TEXT('dTsurftave','units','K', myThid) |
142 |
|
143 |
CALL MNC_CW_ADD_VNAME('aimRHtave', 'Cen_xy_Hn__C__t',4,5,myThid) |
144 |
ln_var='Relative Humidity' |
145 |
CALL MNC_CW_ADD_VATTR_TEXT('aimRHtave','long_name',ln_var,myThid) |
146 |
CALL MNC_CW_ADD_VATTR_TEXT('aimRHtave','units','fraction',myThid) |
147 |
|
148 |
C Non-halo-ed variables |
149 |
DO i = 1,CW_MAX_LOC |
150 |
DO j = 1,MNC_MAX_CHAR |
151 |
dn(i)(j:j) = ' ' |
152 |
ENDDO |
153 |
dim(i) = 0 |
154 |
ib(i) = 0 |
155 |
ie(i) = 0 |
156 |
ENDDO |
157 |
|
158 |
ndim = 1 |
159 |
dn(ndim)(1:1) = 'X' |
160 |
dim(ndim) = sNx |
161 |
ib(ndim) = 1 |
162 |
ie(ndim) = sNx |
163 |
ndim = ndim + 1 |
164 |
dn(ndim)(1:1) = 'Y' |
165 |
dim(ndim) = sNy |
166 |
ib(ndim) = 1 |
167 |
ie(ndim) = sNy |
168 |
ndim = ndim + 1 |
169 |
dn(ndim)(1:1) = 'T' |
170 |
dim(ndim) = -1 |
171 |
ib(ndim) = 1 |
172 |
ie(ndim) = 1 |
173 |
CALL MNC_CW_ADD_GNAME('AIM_xyt', ndim, dim,dn,ib,ie, myThid) |
174 |
ndim = 3 |
175 |
dn(ndim)(1:4) = 'Zaim' |
176 |
dim(ndim) = NLEV |
177 |
ib(ndim) = 1 |
178 |
ie(ndim) = NLEV |
179 |
ndim = ndim + 1 |
180 |
dn(ndim)(1:1) = 'T' |
181 |
dim(ndim) = -1 |
182 |
ib(ndim) = 1 |
183 |
ie(ndim) = 1 |
184 |
CALL MNC_CW_ADD_GNAME('AIM_xyzt', ndim, dim,dn,ib,ie, myThid) |
185 |
|
186 |
|
187 |
CALL MNC_CW_ADD_VNAME('aim_DRAG0','AIM_xyt',0,0,myThid) |
188 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_DRAG0','units','---',myThid) |
189 |
|
190 |
CALL MNC_CW_ADD_VNAME('aim_SPEED0','AIM_xyt',0,0,myThid) |
191 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_SPEED0','units','---',myThid) |
192 |
|
193 |
CALL MNC_CW_ADD_VNAME('aim_TSR','AIM_xyt',0,0,myThid) |
194 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_TSR','units','---',myThid) |
195 |
|
196 |
CALL MNC_CW_ADD_VNAME('aim_OLR','AIM_xyt',0,0,myThid) |
197 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_OLR','units','---',myThid) |
198 |
|
199 |
CALL MNC_CW_ADD_VNAME('aim_SSR0','AIM_xyt',0,0,myThid) |
200 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_SSR0','units','---',myThid) |
201 |
|
202 |
CALL MNC_CW_ADD_VNAME('aim_SLR0','AIM_xyt',0,0,myThid) |
203 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_SLR0','units','---',myThid) |
204 |
|
205 |
CALL MNC_CW_ADD_VNAME('aim_SHF0','AIM_xyt',0,0,myThid) |
206 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_SHF0','units','---',myThid) |
207 |
|
208 |
CALL MNC_CW_ADD_VNAME('aim_EVAP0','AIM_xyt',0,0,myThid) |
209 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_EVAP0','units','---',myThid) |
210 |
|
211 |
CALL MNC_CW_ADD_VNAME('aim_PRECNV','AIM_xyt',0,0,myThid) |
212 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_PRECNV','units','---',myThid) |
213 |
|
214 |
CALL MNC_CW_ADD_VNAME('aim_PRECLS','AIM_xyt',0,0,myThid) |
215 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_PRECLS','units','---',myThid) |
216 |
|
217 |
CALL MNC_CW_ADD_VNAME('aim_CLOUDC','AIM_xyt',0,0,myThid) |
218 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_CLOUDC','units','---',myThid) |
219 |
|
220 |
CALL MNC_CW_ADD_VNAME('aim_CLTOP','AIM_xyt',0,0,myThid) |
221 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_CLTOP','units','---',myThid) |
222 |
|
223 |
CALL MNC_CW_ADD_VNAME('aim_CBMF','AIM_xyt',0,0,myThid) |
224 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_CBMF','units','---',myThid) |
225 |
|
226 |
CALL MNC_CW_ADD_VNAME('aim_T0','AIM_xyt',0,0,myThid) |
227 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_T0','units','---',myThid) |
228 |
|
229 |
CALL MNC_CW_ADD_VNAME('aim_Q0','AIM_xyt',0,0,myThid) |
230 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_Q0','units','---',myThid) |
231 |
|
232 |
CALL MNC_CW_ADD_VNAME('aim_EnPrec','AIM_xyt',0,0,myThid) |
233 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_EnPrec','units','J/g',myThid) |
234 |
|
235 |
CALL MNC_CW_ADD_VNAME('aim_alb10','AIM_xyt',0,0,myThid) |
236 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_alb10','units','---',myThid) |
237 |
|
238 |
CALL MNC_CW_ADD_VNAME('aim_dTsurf1','AIM_xyt',0,0,myThid) |
239 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_dTsurf1','units','---',myThid) |
240 |
|
241 |
CALL MNC_CW_ADD_VNAME('aim_TSWclr','AIM_xyt',0,0,myThid) |
242 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_TSWclr','units','---',myThid) |
243 |
|
244 |
CALL MNC_CW_ADD_VNAME('aim_OLWclr','AIM_xyt',0,0,myThid) |
245 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_OLWclr','units','---',myThid) |
246 |
|
247 |
CALL MNC_CW_ADD_VNAME('aim_SSWclr','AIM_xyt',0,0,myThid) |
248 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_SSWclr','units','---',myThid) |
249 |
|
250 |
CALL MNC_CW_ADD_VNAME('aim_SLWclr','AIM_xyt',0,0,myThid) |
251 |
CALL MNC_CW_ADD_VATTR_TEXT('aim_SLWclr','units','---',myThid) |
252 |
|
253 |
|
254 |
|
255 |
#endif |
256 |
|
257 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
258 |
|
259 |
RETURN |
260 |
END |