UPP (develop)
Loading...
Searching...
No Matches
ALLOCATE_ALL.f
Go to the documentation of this file.
1
2!
27! and 2D diag. output (d2d_chem) for GEFS-Aerosols and CCPP-Chem model.
28!! - 23-08-16 Yali Mao - Add CIT (Convectively-Induced Turbulence) for GTG4
29!! - 23-08-16 Yali Mao - Make it optional to allocate GTG related fields only when gtg_on
30!! OUTPUT FILES:
31!! - STDOUT - RUN TIME STANDARD OUT.
32!!
33!! SUBPROGRAMS CALLED:
34!! - para_range()
35!! LIBRARY:
36!! - COMMON - CTLBLK.comm
37!!
38 SUBROUTINE allocate_all()
39!
40 use upp_ifi_mod, only: set_ifi_dims
41 use vrbls4d
42 use vrbls3d
43 use vrbls2d
44 use soil
45 use masks
46 use upp_math, only: ddvdx, ddudy, uuavg
47!
48 !use params_mod
49 use ctlblk_mod
50!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
51 implicit none
52!
53 include 'mpif.h'
54!
55 integer ierr,jsx,jex
56 integer i,j,l,k
57! Allocate arrays
58 allocate(u(ista_2l:iend_2u+1,jsta_2l:jend_2u,lm))
59 allocate(v(ista_2l:iend_2u,jsta_2l:jvend_2u,lm))
60 allocate(t(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
61! CHUANG ADD POTENTIAL TEMP BECAUSE WRF OUTPUT THETA
62! allocate(th(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
63 allocate(q(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
64! allocate(w(ista_2l:iend_2u,jsta_2l:jend_2u,lp1))
65 allocate(uh(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
66 allocate(vh(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
67 allocate(wh(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
68 allocate(pmid(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
69 allocate(pmidv(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
70 allocate(pint(ista_2l:iend_2u,jsta_2l:jend_2u,lp1))
71 allocate(alpint(ista_2l:iend_2u,jsta_2l:jend_2u,lp1))
72 allocate(zmid(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
73 allocate(zint(ista_2l:iend_2u,jsta_2l:jend_2u,lp1))
74! allocate(rainw(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
75 allocate(q2(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
76 allocate(omga(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
77 allocate(dpres(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
78 allocate(t_adj(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
79 allocate(ttnd(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
80 allocate(rswtt(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
81 allocate(rlwtt(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
82 allocate(exch_h(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
83 allocate(train(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
84 allocate(tcucn(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
85 allocate(el_pbl(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
86
87 call set_ifi_dims() ! set ifi_nflight and ifi_flight_levels
88
89!Initialization
90!$omp parallel do private(i,j,l)
91 do l=1,lm
92 do j=jsta_2l,jend_2u
93 do i=ista_2l,iend_2u+1
94 u(i,j,l)=0.
95 enddo
96 enddo
97 enddo
98!$omp parallel do private(i,j,l)
99 do l=1,lm
100 do j=jsta_2l,jvend_2u
101 do i=ista_2l,iend_2u
102 v(i,j,l)=0.
103 enddo
104 enddo
105 enddo
106!$omp parallel do private(i,j,l)
107 do l=1,lm
108 do j=jsta_2l,jend_2u
109 do i=ista_2l,iend_2u
110 t(i,j,l)=spval
111 q(i,j,l)=spval
112 uh(i,j,l)=spval
113 vh(i,j,l)=spval
114 wh(i,j,l)=spval
115 pmid(i,j,l)=spval
116 pmidv(i,j,l)=spval
117 zmid(i,j,l)=spval
118 q2(i,j,l)=spval
119 omga(i,j,l)=spval
120 dpres(i,j,l)=spval
121 t_adj(i,j,l)=spval
122 ttnd(i,j,l)=spval
123 rswtt(i,j,l)=spval
124 rlwtt(i,j,l)=spval
125 exch_h(i,j,l)=spval
126 train(i,j,l)=spval
127 tcucn(i,j,l)=spval
128 el_pbl(i,j,l)=spval
129 enddo
130 enddo
131 enddo
132!$omp parallel do private(i,j,l)
133 do l=1,lp1
134 do j=jsta_2l,jend_2u
135 do i=ista_2l,iend_2u
136 pint(i,j,l)=spval
137 alpint(i,j,l)=spval
138 zint(i,j,l)=spval
139 enddo
140 enddo
141 enddo
142
143! MP FIELD
144 allocate(cwm(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
145 allocate(f_ice(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
146 allocate(f_rain(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
147 allocate(f_rimef(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
148 allocate(qqw(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
149 allocate(qrimef(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
150 allocate(qqi(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
151 allocate(qqr(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
152 allocate(qqs(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
153 allocate(qqg(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
154 allocate(qqh(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
155 allocate(qqnw(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
156 allocate(qqni(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
157 allocate(qqnr(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
158 allocate(qqnwfa(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
159 allocate(qqnifa(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
160 allocate(taod5503d(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
161 allocate(aextc55(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
162 allocate(extcof55(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
163 allocate(qc_bl(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
164 allocate(cfr(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
165 allocate(effri(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
166 allocate(effrl(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
167 allocate(effrs(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
168 allocate(cfr_raw(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
169 allocate(dbz(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
170 allocate(dbzr(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
171 allocate(dbzi(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
172 allocate(dbzc(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
173 allocate(mcvg(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
174 allocate(nlice(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
175!Initialization
176!$omp parallel do private(i,j,l)
177 do l=1,lm
178 do j=jsta_2l,jend_2u
179 do i=ista_2l,iend_2u
180 cwm(i,j,l)=spval
181 f_ice(i,j,l)=spval
182 f_rain(i,j,l)=spval
183 f_rimef(i,j,l)=spval
184 qqw(i,j,l)=spval
185 qrimef(i,j,l)=spval
186 qqi(i,j,l)=spval
187 qqr(i,j,l)=spval
188 qqs(i,j,l)=spval
189 qqg(i,j,l)=spval
190 qqh(i,j,l)=spval
191 qqnw(i,j,l)=spval
192 qqni(i,j,l)=spval
193 qqnr(i,j,l)=spval
194 qqnwfa(i,j,l)=spval
195 qqnifa(i,j,l)=spval
196 taod5503d(i,j,l)=spval
197 aextc55(i,j,l)=0.
198 extcof55(i,j,l)=0.
199 qc_bl(i,j,l)=spval
200 cfr(i,j,l)=spval
201 effri(i,j,l)=spval
202 effrl(i,j,l)=spval
203 effrs(i,j,l)=spval
204 cfr_raw(i,j,l)=spval
205 dbz(i,j,l)=spval
206 dbzr(i,j,l)=spval
207 dbzi(i,j,l)=spval
208 dbzc(i,j,l)=spval
209 mcvg(i,j,l)=spval
210 nlice(i,j,l)=spval
211 enddo
212 enddo
213 enddo
214! Wm Lewis: added
215 allocate(nrain(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
216 allocate(radius_cloud(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
217 allocate(radius_ice(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
218 allocate(radius_snow(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
219! KRS: HWRF Addition for thompson reflectivity
220! or non-ferrier physics. wrf-derived
221 allocate(refl_10cm(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
222!GFS FIELD
223 allocate(o3(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
224 allocate(o(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
225 allocate(o2(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
226 allocate(tcucns(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
227!Initialization
228!$omp parallel do private(i,j,l)
229 do l=1,lm
230 do j=jsta_2l,jend_2u
231 do i=ista_2l,iend_2u
232 nrain(i,j,l)=spval
233 radius_cloud(i,j,l)=spval
234 radius_ice(i,j,l)=spval
235 radius_snow(i,j,l)=spval
236 refl_10cm(i,j,l)=spval
237 o3(i,j,l)=spval
238 o(i,j,l)=spval
239 o2(i,j,l)=spval
240 tcucns(i,j,l)=spval
241 enddo
242 enddo
243 enddo
244! Add GFS d3d fields
245 if (me == 0) print *,' d3d_on=',d3d_on
246 if (d3d_on) then
247 allocate(vdifftt(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
248! allocate(tcucns(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
249 allocate(vdiffmois(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
250 allocate(dconvmois(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
251 allocate(sconvmois(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
252 allocate(nradtt(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
253 allocate(o3vdiff(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
254 allocate(o3prod(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
255 allocate(o3tndy(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
256 allocate(mwpv(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
257 allocate(unknown(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
258 allocate(vdiffzacce(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
259 allocate(zgdrag(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
260 allocate(cnvctummixing(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
261 allocate(vdiffmacce(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
262 allocate(mgdrag(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
263 allocate(cnvctvmmixing(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
264 allocate(ncnvctcfrac(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
265 allocate(cnvctumflx(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
266 allocate(cnvctdmflx(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
267 allocate(cnvctdetmflx(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
268 allocate(cnvctzgdrag(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
269 allocate(cnvctmgdrag(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
270!Initialization
271!$omp parallel do private(i,j,l)
272 do l=1,lm
273 do j=jsta_2l,jend_2u
274 do i=ista_2l,iend_2u
275 vdifftt(i,j,l)=spval
276 vdiffmois(i,j,l)=spval
277 dconvmois(i,j,l)=spval
278 sconvmois(i,j,l)=spval
279 nradtt(i,j,l)=spval
280 o3vdiff(i,j,l)=spval
281 o3prod(i,j,l)=spval
282 o3tndy(i,j,l)=spval
283 mwpv(i,j,l)=spval
284 unknown(i,j,l)=spval
285 vdiffzacce(i,j,l)=spval
286 zgdrag(i,j,l)=spval
287 cnvctummixing(i,j,l)=spval
288 vdiffmacce(i,j,l)=spval
289 mgdrag(i,j,l)=spval
290 cnvctvmmixing(i,j,l)=spval
291 ncnvctcfrac(i,j,l)=spval
292 cnvctumflx(i,j,l)=spval
293 cnvctdmflx(i,j,l)=spval
294 cnvctdetmflx(i,j,l)=spval
295 cnvctzgdrag(i,j,l)=spval
296 cnvctmgdrag(i,j,l)=spval
297 enddo
298 enddo
299 enddo
300 endif
301!
302 allocate(htm(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
303 allocate(vtm(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
304! add GFIP ICING
305 allocate(icing_gfip(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
306 allocate(icing_gfis(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
307!Initialization
308!$omp parallel do private(i,j,l)
309 do l=1,lm
310 do j=jsta_2l,jend_2u
311 do i=ista_2l,iend_2u
312 htm(i,j,l)=spval
313 vtm(i,j,l)=spval
314 icing_gfip(i,j,l)=spval
315 icing_gfis(i,j,l)=spval
316 enddo
317 enddo
318 enddo
319!
320! add GTG turbulence
321 if (gtg_on) then
322 allocate(catedr(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
323 allocate(mwt(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
324 allocate(gtg(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
325 allocate(cit(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
326!Initialization
327!$omp parallel do private(i,j,l)
328 do l=1,lm
329 do j=jsta_2l,jend_2u
330 do i=ista_2l,iend_2u
331 catedr(i,j,l)=spval
332 mwt(i,j,l)=spval
333 gtg(i,j,l)=spval
334 cit(i,j,l)=spval
335 enddo
336 enddo
337 enddo
338 endif
339!
340! FROM SOIL
341!
342 allocate(smc(ista_2l:iend_2u,jsta_2l:jend_2u,nsoil))
343 allocate(stc(ista_2l:iend_2u,jsta_2l:jend_2u,nsoil))
344 allocate(sh2o(ista_2l:iend_2u,jsta_2l:jend_2u,nsoil))
345 allocate(sldpth(nsoil))
346 allocate(rtdpth(nsoil))
347 allocate(sllevel(nsoil))
348!Initialization
349!$omp parallel do private(i,j,l)
350 do l=1,nsoil
351 do j=jsta_2l,jend_2u
352 do i=ista_2l,iend_2u
353 smc(i,j,l)=spval
354 stc(i,j,l)=spval
355 sh2o(i,j,l)=spval
356 enddo
357 enddo
358 enddo
359!$omp parallel do private(i)
360 do i=1,nsoil
361 sldpth(i)=spval
362 rtdpth(i)=spval
363 sllevel(i)=spval
364 enddo
365!
366! FROM VRBLS2D
367!
368 allocate(cape(ista_2l:iend_2u,jsta_2l:jend_2u))
369 allocate(cin(ista_2l:iend_2u,jsta_2l:jend_2u))
370 allocate(ifi_apcp(ista_2l:iend_2u,jsta_2l:jend_2u))
371! SRD
372 allocate(wspd10max(ista_2l:iend_2u,jsta_2l:jend_2u))
373 allocate(w_up_max(ista_2l:iend_2u,jsta_2l:jend_2u))
374 allocate(w_dn_max(ista_2l:iend_2u,jsta_2l:jend_2u))
375 allocate(w_mean(ista_2l:iend_2u,jsta_2l:jend_2u))
376 allocate(refd_max(ista_2l:iend_2u,jsta_2l:jend_2u))
377 allocate(prate_max(ista_2l:iend_2u,jsta_2l:jend_2u))
378 allocate(fprate_max(ista_2l:iend_2u,jsta_2l:jend_2u))
379 allocate(up_heli_max(ista_2l:iend_2u,jsta_2l:jend_2u))
380 allocate(up_heli_max16(ista_2l:iend_2u,jsta_2l:jend_2u))
381 allocate(up_heli_min(ista_2l:iend_2u,jsta_2l:jend_2u))
382 allocate(up_heli_min16(ista_2l:iend_2u,jsta_2l:jend_2u))
383 allocate(up_heli_max02(ista_2l:iend_2u,jsta_2l:jend_2u))
384 allocate(up_heli_min02(ista_2l:iend_2u,jsta_2l:jend_2u))
385 allocate(up_heli_max03(ista_2l:iend_2u,jsta_2l:jend_2u))
386 allocate(up_heli_min03(ista_2l:iend_2u,jsta_2l:jend_2u))
387!Initialization
388!$omp parallel do private(i,j)
389 do j=jsta_2l,jend_2u
390 do i=ista_2l,iend_2u
391 cape(i,j)=spval
392 cin(i,j)=spval
393 ifi_apcp(i,j)=spval
394 wspd10max(i,j)=spval
395 w_up_max(i,j)=spval
396 w_dn_max(i,j)=spval
397 w_mean(i,j)=spval
398 refd_max(i,j)=spval
399 prate_max(i,j)=spval
400 fprate_max(i,j)=spval
401 up_heli_max(i,j)=spval
402 up_heli_max16(i,j)=spval
403 up_heli_min(i,j)=spval
404 up_heli_min16(i,j)=spval
405 up_heli_max02(i,j)=spval
406 up_heli_min02(i,j)=spval
407 up_heli_max03(i,j)=spval
408 up_heli_min03(i,j)=spval
409 enddo
410 enddo
411 allocate(rel_vort_max(ista_2l:iend_2u,jsta_2l:jend_2u))
412 allocate(rel_vort_max01(ista_2l:iend_2u,jsta_2l:jend_2u))
413 allocate(rel_vort_maxhy1(ista_2l:iend_2u,jsta_2l:jend_2u))
414 allocate(wspd10umax(ista_2l:iend_2u,jsta_2l:jend_2u))
415 allocate(wspd10vmax(ista_2l:iend_2u,jsta_2l:jend_2u))
416 allocate(refdm10c_max(ista_2l:iend_2u,jsta_2l:jend_2u))
417 allocate(hail_max2d(ista_2l:iend_2u,jsta_2l:jend_2u))
418 allocate(hail_maxk1(ista_2l:iend_2u,jsta_2l:jend_2u))
419 allocate(hail_maxhailcast(ista_2l:iend_2u,jsta_2l:jend_2u))
420 allocate(grpl_max(ista_2l:iend_2u,jsta_2l:jend_2u))
421 allocate(up_heli(ista_2l:iend_2u,jsta_2l:jend_2u))
422 allocate(up_heli16(ista_2l:iend_2u,jsta_2l:jend_2u))
423 allocate(ltg1_max(ista_2l:iend_2u,jsta_2l:jend_2u))
424 allocate(ltg2_max(ista_2l:iend_2u,jsta_2l:jend_2u))
425 allocate(ltg3_max(ista_2l:iend_2u,jsta_2l:jend_2u))
426 allocate(nci_ltg(ista_2l:iend_2u,jsta_2l:jend_2u))
427 allocate(nca_ltg(ista_2l:iend_2u,jsta_2l:jend_2u))
428 allocate(nci_wq(ista_2l:iend_2u,jsta_2l:jend_2u))
429 allocate(nca_wq(ista_2l:iend_2u,jsta_2l:jend_2u))
430 allocate(nci_refd(ista_2l:iend_2u,jsta_2l:jend_2u))
431 allocate(nca_refd(ista_2l:iend_2u,jsta_2l:jend_2u))
432!Initialization
433!$omp parallel do private(i,j)
434 do j=jsta_2l,jend_2u
435 do i=ista_2l,iend_2u
436 rel_vort_max(i,j)=spval
437 rel_vort_max01(i,j)=spval
438 rel_vort_maxhy1(i,j)=spval
439 wspd10umax(i,j)=spval
440 wspd10vmax(i,j)=spval
441 refdm10c_max(i,j)=spval
442 hail_max2d(i,j)=spval
443 hail_maxk1(i,j)=spval
444 hail_maxhailcast(i,j)=spval
445 grpl_max(i,j)=spval
446 up_heli(i,j)=spval
447 up_heli16(i,j)=spval
448 ltg1_max(i,j)=spval
449 ltg2_max(i,j)=spval
450 ltg3_max(i,j)=spval
451 nci_ltg(i,j)=spval
452 nca_ltg(i,j)=spval
453 nci_wq(i,j)=spval
454 nca_wq(i,j)=spval
455 nci_refd(i,j)=spval
456 nca_refd(i,j)=spval
457 enddo
458 enddo
459! SRD
460! CRA
461 allocate(ref_10cm(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
462!Initialization
463!$omp parallel do private(i,j,l)
464 do l=1,lm
465 do j=jsta_2l,jend_2u
466 do i=ista_2l,iend_2u
467 ref_10cm(i,j,l)=spval
468 enddo
469 enddo
470 enddo
471 allocate(refc_10cm(ista_2l:iend_2u,jsta_2l:jend_2u))
472 allocate(ref1km_10cm(ista_2l:iend_2u,jsta_2l:jend_2u))
473 allocate(ref4km_10cm(ista_2l:iend_2u,jsta_2l:jend_2u))
474!Initialization
475!$omp parallel do private(i,j)
476 do j=jsta_2l,jend_2u
477 do i=ista_2l,iend_2u
478 refc_10cm(i,j)=spval
479 ref1km_10cm(i,j)=spval
480 ref4km_10cm(i,j)=spval
481 enddo
482 enddo
483! CRA
484 allocate(u10(ista_2l:iend_2u,jsta_2l:jend_2u))
485 allocate(v10(ista_2l:iend_2u,jsta_2l:jend_2u))
486 allocate(tshltr(ista_2l:iend_2u,jsta_2l:jend_2u))
487 allocate(qshltr(ista_2l:iend_2u,jsta_2l:jend_2u))
488 allocate(mrshltr(ista_2l:iend_2u,jsta_2l:jend_2u))
489 allocate(smstav(ista_2l:iend_2u,jsta_2l:jend_2u))
490 allocate(ssroff(ista_2l:iend_2u,jsta_2l:jend_2u))
491 allocate(bgroff(ista_2l:iend_2u,jsta_2l:jend_2u))
492 allocate(vegfrc(ista_2l:iend_2u,jsta_2l:jend_2u))
493 allocate(shdmin(ista_2l:iend_2u,jsta_2l:jend_2u))
494 allocate(shdmax(ista_2l:iend_2u,jsta_2l:jend_2u))
495 allocate(lai(ista_2l:iend_2u,jsta_2l:jend_2u))
496 allocate(xlaixy(ista_2l:iend_2u,jsta_2l:jend_2u))
497 allocate(acsnow(ista_2l:iend_2u,jsta_2l:jend_2u))
498 allocate(acgraup(ista_2l:iend_2u,jsta_2l:jend_2u))
499 allocate(acfrain(ista_2l:iend_2u,jsta_2l:jend_2u))
500 allocate(acsnom(ista_2l:iend_2u,jsta_2l:jend_2u))
501 allocate(cmc(ista_2l:iend_2u,jsta_2l:jend_2u))
502 allocate(sst(ista_2l:iend_2u,jsta_2l:jend_2u))
503 allocate(qz0(ista_2l:iend_2u,jsta_2l:jend_2u))
504 allocate(thz0(ista_2l:iend_2u,jsta_2l:jend_2u))
505 allocate(uz0(ista_2l:iend_2u,jsta_2l:jend_2u))
506 allocate(vz0(ista_2l:iend_2u,jsta_2l:jend_2u))
507 allocate(qs(ista_2l:iend_2u,jsta_2l:jend_2u))
508 allocate(ths(ista_2l:iend_2u,jsta_2l:jend_2u))
509 allocate(sno(ista_2l:iend_2u,jsta_2l:jend_2u))
510 allocate(snonc(ista_2l:iend_2u,jsta_2l:jend_2u))
511 allocate(ti(ista_2l:iend_2u,jsta_2l:jend_2u))
512!Initialization
513!$omp parallel do private(i,j)
514 do j=jsta_2l,jend_2u
515 do i=ista_2l,iend_2u
516 u10(i,j)=spval
517 v10(i,j)=spval
518 tshltr(i,j)=spval
519 qshltr(i,j)=spval
520 mrshltr(i,j)=spval
521 smstav(i,j)=spval
522 ssroff(i,j)=spval
523 bgroff(i,j)=spval
524 vegfrc(i,j)=spval
525 shdmin(i,j)=spval
526 shdmax(i,j)=spval
527 lai(i,j)=spval
528 xlaixy(i,j)=spval
529 acsnow(i,j)=spval
530 acgraup(i,j)=spval
531 acfrain(i,j)=spval
532 acsnom(i,j)=spval
533 cmc(i,j)=spval
534 sst(i,j)=spval
535 qz0(i,j)=spval
536 thz0(i,j)=spval
537 uz0(i,j)=spval
538 vz0(i,j)=spval
539 qs(i,j)=spval
540 ths(i,j)=spval
541 sno(i,j)=spval
542 snonc(i,j)=spval
543 ti(i,j)=spval
544 enddo
545 enddo
546! Time-averaged fileds
547 allocate(u10mean(ista_2l:iend_2u,jsta_2l:jend_2u))
548 allocate(v10mean(ista_2l:iend_2u,jsta_2l:jend_2u))
549 allocate(spduv10mean(ista_2l:iend_2u,jsta_2l:jend_2u))
550 allocate(swradmean(ista_2l:iend_2u,jsta_2l:jend_2u))
551 allocate(swnormmean(ista_2l:iend_2u,jsta_2l:jend_2u))
552!Initialization
553!$omp parallel do private(i,j)
554 do j=jsta_2l,jend_2u
555 do i=ista_2l,iend_2u
556 u10mean(i,j)=spval
557 v10mean(i,j)=spval
558 spduv10mean(i,j)=spval
559 swradmean(i,j)=spval
560 swnormmean(i,j)=spval
561 enddo
562 enddo
563!NAMstart
564 allocate(snoavg(ista_2l:iend_2u,jsta_2l:jend_2u))
565 allocate(psfcavg(ista_2l:iend_2u,jsta_2l:jend_2u))
566 allocate(t10m(ista_2l:iend_2u,jsta_2l:jend_2u))
567 allocate(t10avg(ista_2l:iend_2u,jsta_2l:jend_2u))
568 allocate(akmsavg(ista_2l:iend_2u,jsta_2l:jend_2u))
569 allocate(akhsavg(ista_2l:iend_2u,jsta_2l:jend_2u))
570 allocate(u10max(ista_2l:iend_2u,jsta_2l:jend_2u))
571 allocate(v10max(ista_2l:iend_2u,jsta_2l:jend_2u))
572 allocate(u10h(ista_2l:iend_2u,jsta_2l:jend_2u))
573 allocate(v10h(ista_2l:iend_2u,jsta_2l:jend_2u))
574!Initialization
575!$omp parallel do private(i,j)
576 do j=jsta_2l,jend_2u
577 do i=ista_2l,iend_2u
578 snoavg(i,j)=spval
579 psfcavg(i,j)=spval
580 t10m(i,j)=spval
581 t10avg(i,j)=spval
582 akmsavg(i,j)=spval
583 akhsavg(i,j)=spval
584 u10max(i,j)=spval
585 v10max(i,j)=spval
586 u10h(i,j)=spval
587 v10h(i,j)=spval
588 enddo
589 enddo
590!NAMend
591 allocate(akms(ista_2l:iend_2u,jsta_2l:jend_2u))
592 allocate(akhs(ista_2l:iend_2u,jsta_2l:jend_2u))
593 allocate(cuprec(ista_2l:iend_2u,jsta_2l:jend_2u))
594 allocate(acprec(ista_2l:iend_2u,jsta_2l:jend_2u))
595 allocate(ancprc(ista_2l:iend_2u,jsta_2l:jend_2u))
596 allocate(cuppt(ista_2l:iend_2u,jsta_2l:jend_2u))
597!Initialization
598!$omp parallel do private(i,j)
599 do j=jsta_2l,jend_2u
600 do i=ista_2l,iend_2u
601 akms(i,j)=spval
602 akhs(i,j)=spval
603 cuprec(i,j)=spval
604 acprec(i,j)=spval
605 ancprc(i,j)=spval
606 cuppt(i,j)=spval
607 enddo
608 enddo
609! GSDstart
610 allocate(rainc_bucket(ista_2l:iend_2u,jsta_2l:jend_2u))
611 allocate(rainc_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u))
612 allocate(rainnc_bucket(ista_2l:iend_2u,jsta_2l:jend_2u))
613 allocate(rainnc_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u))
614 allocate(pcp_bucket(ista_2l:iend_2u,jsta_2l:jend_2u))
615 allocate(pcp_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u))
616 allocate(snow_bucket(ista_2l:iend_2u,jsta_2l:jend_2u))
617 allocate(snow_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u))
618 allocate(graup_bucket(ista_2l:iend_2u,jsta_2l:jend_2u))
619 allocate(graup_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u))
620 allocate(frzrn_bucket(ista_2l:iend_2u,jsta_2l:jend_2u))
621 allocate(snow_acm(ista_2l:iend_2u,jsta_2l:jend_2u))
622 allocate(snow_bkt(ista_2l:iend_2u,jsta_2l:jend_2u))
623 allocate(qrmax(ista_2l:iend_2u,jsta_2l:jend_2u))
624 allocate(tmax(ista_2l:iend_2u,jsta_2l:jend_2u))
625 allocate(snownc(ista_2l:iend_2u,jsta_2l:jend_2u))
626 allocate(graupelnc(ista_2l:iend_2u,jsta_2l:jend_2u))
627 allocate(tsnow(ista_2l:iend_2u,jsta_2l:jend_2u))
628 allocate(qvg(ista_2l:iend_2u,jsta_2l:jend_2u))
629 allocate(qv2m(ista_2l:iend_2u,jsta_2l:jend_2u))
630 allocate(qvl1(ista_2l:iend_2u,jsta_2l:jend_2u))
631 allocate(snfden(ista_2l:iend_2u,jsta_2l:jend_2u))
632 allocate(sndepac(ista_2l:iend_2u,jsta_2l:jend_2u))
633 allocate(mean_frp(ista_2l:iend_2u,jsta_2l:jend_2u))
634 allocate(hwp(ista_2l:iend_2u,jsta_2l:jend_2u))
635 allocate(smoke_ave(ista_2l:iend_2u,jsta_2l:jend_2u))
636 allocate(dust_ave(ista_2l:iend_2u,jsta_2l:jend_2u))
637 allocate(coarsepm_ave(ista_2l:iend_2u,jsta_2l:jend_2u))
638!Initialization
639!$omp parallel do private(i,j)
640 do j=jsta_2l,jend_2u
641 do i=ista_2l,iend_2u
642 rainc_bucket(i,j)=spval
643 rainc_bucket1(i,j)=spval
644 rainnc_bucket(i,j)=spval
645 rainnc_bucket1(i,j)=spval
646 pcp_bucket(i,j)=spval
647 pcp_bucket1(i,j)=spval
648 snow_bucket(i,j)=spval
649 snow_bucket1(i,j)=spval
650 graup_bucket(i,j)=spval
651 graup_bucket1(i,j)=spval
652 qrmax(i,j)=spval
653 tmax(i,j)=spval
654 snownc(i,j)=spval
655 graupelnc(i,j)=spval
656 tsnow(i,j)=spval
657 qvg(i,j)=spval
658 qv2m(i,j)=spval
659 qvl1(i,j)=spval
660 snfden(i,j)=spval
661 sndepac(i,j)=spval
662 mean_frp(i,j)=spval
663 hwp(i,j)=spval
664 smoke_ave(i,j)=spval
665 dust_ave(i,j)=spval
666 coarsepm_ave(i,j)=spval
667 enddo
668 enddo
669 allocate(smoke(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_sm))
670 allocate(fv3dust(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_sm))
671 allocate(coarsepm(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_sm))
672 allocate(ebb(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_sm))
673!$omp parallel do private(i,j,l,k)
674 do k=1,nbin_sm
675 do l=1,lm
676 do j=jsta_2l,jend_2u
677 do i=ista_2l,iend_2u
678 smoke(i,j,l,k)=spval
679 fv3dust(i,j,l,k)=spval
680 coarsepm(i,j,l,k)=spval
681 ebb(i,j,l,k)=spval
682 enddo
683 enddo
684 enddo
685 enddo
686! GSDend
687 allocate(rswin(ista_2l:iend_2u,jsta_2l:jend_2u))
688 allocate(swddni(ista_2l:iend_2u,jsta_2l:jend_2u))
689 allocate(swddif(ista_2l:iend_2u,jsta_2l:jend_2u))
690 allocate(swdnbc(ista_2l:iend_2u,jsta_2l:jend_2u))
691 allocate(swddnic(ista_2l:iend_2u,jsta_2l:jend_2u))
692 allocate(swddifc(ista_2l:iend_2u,jsta_2l:jend_2u))
693 allocate(swupbc(ista_2l:iend_2u,jsta_2l:jend_2u))
694 allocate(swupt(ista_2l:iend_2u,jsta_2l:jend_2u))
695 allocate(taod5502d(ista_2l:iend_2u,jsta_2l:jend_2u))
696 allocate(aerasy2d(ista_2l:iend_2u,jsta_2l:jend_2u))
697 allocate(aerssa2d(ista_2l:iend_2u,jsta_2l:jend_2u))
698 allocate(lwp(ista_2l:iend_2u,jsta_2l:jend_2u))
699 allocate(iwp(ista_2l:iend_2u,jsta_2l:jend_2u))
700 allocate(rlwin(ista_2l:iend_2u,jsta_2l:jend_2u))
701 allocate(lwdnbc(ista_2l:iend_2u,jsta_2l:jend_2u))
702 allocate(lwupbc(ista_2l:iend_2u,jsta_2l:jend_2u))
703 allocate(rlwtoa(ista_2l:iend_2u,jsta_2l:jend_2u))
704 allocate(rswtoa(ista_2l:iend_2u,jsta_2l:jend_2u))
705!Initialization
706!$omp parallel do private(i,j)
707 do j=jsta_2l,jend_2u
708 do i=ista_2l,iend_2u
709 rswin(i,j)=spval
710 swddni(i,j)=spval
711 swddif(i,j)=spval
712 swdnbc(i,j)=spval
713 swddnic(i,j)=spval
714 swddifc(i,j)=spval
715 swupbc(i,j)=spval
716 swupt(i,j)=spval
717 taod5502d(i,j)=spval
718 aerasy2d(i,j)=spval
719 aerssa2d(i,j)=spval
720 lwp(i,j)=spval
721 iwp(i,j)=spval
722 rlwin(i,j)=spval
723 lwdnbc(i,j)=spval
724 lwupbc(i,j)=spval
725 rlwtoa(i,j)=spval
726 rswtoa(i,j)=spval
727 enddo
728 enddo
729 allocate(tg(ista_2l:iend_2u,jsta_2l:jend_2u))
730 allocate(sfcshx(ista_2l:iend_2u,jsta_2l:jend_2u))
731 allocate(sfclhx(ista_2l:iend_2u,jsta_2l:jend_2u))
732 allocate(fis(ista_2l:iend_2u,jsta_2l:jend_2u))
733 allocate(t500(ista_2l:iend_2u,jsta_2l:jend_2u))
734 allocate(t700(ista_2l:iend_2u,jsta_2l:jend_2u))
735 allocate(z500(ista_2l:iend_2u,jsta_2l:jend_2u))
736 allocate(z700(ista_2l:iend_2u,jsta_2l:jend_2u))
737 allocate(teql(ista_2l:iend_2u,jsta_2l:jend_2u))
738 allocate(ieql(ista_2l:iend_2u,jsta_2l:jend_2u))
739 allocate(cfracl(ista_2l:iend_2u,jsta_2l:jend_2u))
740 allocate(cfracm(ista_2l:iend_2u,jsta_2l:jend_2u))
741 allocate(cfrach(ista_2l:iend_2u,jsta_2l:jend_2u))
742 allocate(acfrst(ista_2l:iend_2u,jsta_2l:jend_2u))
743 allocate(acfrcv(ista_2l:iend_2u,jsta_2l:jend_2u))
744 allocate(hbot(ista_2l:iend_2u,jsta_2l:jend_2u))
745 allocate(htop(ista_2l:iend_2u,jsta_2l:jend_2u))
746 allocate(aswin(ista_2l:iend_2u,jsta_2l:jend_2u))
747 allocate(alwin(ista_2l:iend_2u,jsta_2l:jend_2u))
748 allocate(aswout(ista_2l:iend_2u,jsta_2l:jend_2u))
749 allocate(alwout(ista_2l:iend_2u,jsta_2l:jend_2u))
750 allocate(aswtoa(ista_2l:iend_2u,jsta_2l:jend_2u))
751 allocate(alwtoa(ista_2l:iend_2u,jsta_2l:jend_2u))
752!Initialization
753!$omp parallel do private(i,j)
754 do j=jsta_2l,jend_2u
755 do i=ista_2l,iend_2u
756 tg(i,j)=spval
757 sfcshx(i,j)=spval
758 sfclhx(i,j)=spval
759 fis(i,j)=spval
760 t500(i,j)=spval
761 t700(i,j)=spval
762 z700(i,j)=spval
763 teql(i,j)=spval
764 ieql(i,j)=0
765 cfracl(i,j)=spval
766 cfracm(i,j)=spval
767 cfrach(i,j)=spval
768 acfrst(i,j)=spval
769 acfrcv(i,j)=spval
770 hbot(i,j)=spval
771 htop(i,j)=spval
772 aswin(i,j)=spval
773 alwin(i,j)=spval
774 aswout(i,j)=spval
775 alwout(i,j)=spval
776 aswtoa(i,j)=spval
777 alwtoa(i,j)=spval
778 enddo
779 enddo
780 allocate(czen(ista_2l:iend_2u,jsta_2l:jend_2u))
781 allocate(czmean(ista_2l:iend_2u,jsta_2l:jend_2u))
782 allocate(sigt4(ista_2l:iend_2u,jsta_2l:jend_2u))
783 allocate(rswout(ista_2l:iend_2u,jsta_2l:jend_2u))
784 allocate(radot(ista_2l:iend_2u,jsta_2l:jend_2u))
785 allocate(ncfrst(ista_2l:iend_2u,jsta_2l:jend_2u)) ! real
786 allocate(ncfrcv(ista_2l:iend_2u,jsta_2l:jend_2u)) ! real
787 allocate(smstot(ista_2l:iend_2u,jsta_2l:jend_2u))
788 allocate(pctsno(ista_2l:iend_2u,jsta_2l:jend_2u))
789 allocate(pshltr(ista_2l:iend_2u,jsta_2l:jend_2u))
790 allocate(th10(ista_2l:iend_2u,jsta_2l:jend_2u))
791 allocate(q10(ista_2l:iend_2u,jsta_2l:jend_2u))
792 allocate(sr(ista_2l:iend_2u,jsta_2l:jend_2u))
793 allocate(prec(ista_2l:iend_2u,jsta_2l:jend_2u))
794 allocate(subshx(ista_2l:iend_2u,jsta_2l:jend_2u))
795 allocate(snopcx(ista_2l:iend_2u,jsta_2l:jend_2u))
796 allocate(sfcuvx(ista_2l:iend_2u,jsta_2l:jend_2u))
797 allocate(sfcevp(ista_2l:iend_2u,jsta_2l:jend_2u))
798 allocate(potevp(ista_2l:iend_2u,jsta_2l:jend_2u))
799 allocate(z0(ista_2l:iend_2u,jsta_2l:jend_2u))
800 allocate(ustar(ista_2l:iend_2u,jsta_2l:jend_2u))
801 allocate(pblh(ista_2l:iend_2u,jsta_2l:jend_2u))
802 allocate(pblhgust(ista_2l:iend_2u,jsta_2l:jend_2u))
803 allocate(mixht(ista_2l:iend_2u,jsta_2l:jend_2u))
804 allocate(twbs(ista_2l:iend_2u,jsta_2l:jend_2u))
805 allocate(qwbs(ista_2l:iend_2u,jsta_2l:jend_2u))
806!Initialization
807!$omp parallel do private(i,j)
808 do j=jsta_2l,jend_2u
809 do i=ista_2l,iend_2u
810 czen(i,j)=spval
811 czmean(i,j)=spval
812 sigt4(i,j)=spval
813 rswout(i,j)=spval
814 radot(i,j)=spval
815 ncfrst(i,j)=spval
816 ncfrcv(i,j)=spval
817 smstot(i,j)=spval
818 pctsno(i,j)=spval
819 pshltr(i,j)=spval
820 th10(i,j)=spval
821 q10(i,j)=spval
822 sr(i,j)=spval
823 prec(i,j)=spval
824 subshx(i,j)=spval
825 snopcx(i,j)=spval
826 sfcuvx(i,j)=spval
827 sfcevp(i,j)=spval
828 potevp(i,j)=spval
829 z0(i,j)=spval
830 ustar(i,j)=spval
831 pblh(i,j)=spval
832 pblhgust(i,j)=spval
833 mixht(i,j)=spval
834 twbs(i,j)=spval
835 qwbs(i,j)=spval
836 enddo
837 enddo
838 allocate(sfcexc(ista_2l:iend_2u,jsta_2l:jend_2u))
839 allocate(grnflx(ista_2l:iend_2u,jsta_2l:jend_2u))
840 allocate(soiltb(ista_2l:iend_2u,jsta_2l:jend_2u))
841 allocate(z1000(ista_2l:iend_2u,jsta_2l:jend_2u))
842 allocate(slp(ista_2l:iend_2u,jsta_2l:jend_2u))
843 allocate(pslp(ista_2l:iend_2u,jsta_2l:jend_2u))
844 allocate(f(ista_2l:iend_2u,jsta_2l:jend_2u))
845 allocate(albedo(ista_2l:iend_2u,jsta_2l:jend_2u))
846 allocate(albase(ista_2l:iend_2u,jsta_2l:jend_2u))
847 allocate(cldfra(ista_2l:iend_2u,jsta_2l:jend_2u))
848 allocate(cprate(ista_2l:iend_2u,jsta_2l:jend_2u))
849 allocate(cnvcfr(ista_2l:iend_2u,jsta_2l:jend_2u))
850 allocate(ivgtyp(ista_2l:iend_2u,jsta_2l:jend_2u))
851 allocate(isltyp(ista_2l:iend_2u,jsta_2l:jend_2u))
852 allocate(hbotd(ista_2l:iend_2u,jsta_2l:jend_2u))
853 allocate(htopd(ista_2l:iend_2u,jsta_2l:jend_2u))
854 allocate(hbots(ista_2l:iend_2u,jsta_2l:jend_2u))
855 allocate(htops(ista_2l:iend_2u,jsta_2l:jend_2u))
856 allocate(cldefi(ista_2l:iend_2u,jsta_2l:jend_2u))
857 allocate(islope(ista_2l:iend_2u,jsta_2l:jend_2u))
858 allocate(si(ista_2l:iend_2u,jsta_2l:jend_2u))
859 allocate(lspa(ista_2l:iend_2u,jsta_2l:jend_2u))
860 allocate(rswinc(ista_2l:iend_2u,jsta_2l:jend_2u))
861 allocate(vis(ista_2l:iend_2u,jsta_2l:jend_2u))
862 allocate(pd(ista_2l:iend_2u,jsta_2l:jend_2u))
863 allocate(mxsnal(ista_2l:iend_2u,jsta_2l:jend_2u))
864 allocate(epsr(ista_2l:iend_2u,jsta_2l:jend_2u))
865!Initialization
866!$omp parallel do private(i,j)
867 do j=jsta_2l,jend_2u
868 do i=ista_2l,iend_2u
869 sfcexc(i,j)=spval
870 grnflx(i,j)=spval
871 soiltb(i,j)=spval
872 z1000(i,j)=spval
873 slp(i,j)=spval
874 pslp(i,j)=spval
875 f(i,j)=spval
876 albedo(i,j)=spval
877 albase(i,j)=spval
878 cldfra(i,j)=spval
879 cprate(i,j)=spval
880 cnvcfr(i,j)=spval
881 ivgtyp(i,j)=0
882 isltyp(i,j)=0
883 hbotd(i,j)=spval
884 htopd(i,j)=spval
885 hbots(i,j)=spval
886 htops(i,j)=spval
887 cldefi(i,j)=spval
888 islope(i,j)=0
889 si(i,j)=spval
890 lspa(i,j)=spval
891 rswinc(i,j)=spval
892 vis(i,j)=spval
893 pd(i,j)=spval
894 mxsnal(i,j)=spval
895 epsr(i,j)=spval
896 enddo
897 enddo
898! add GFS fields
899 allocate(sfcux(ista_2l:iend_2u,jsta_2l:jend_2u))
900 allocate(sfcvx(ista_2l:iend_2u,jsta_2l:jend_2u))
901 allocate(sfcuxi(ista_2l:iend_2u,jsta_2l:jend_2u))
902 allocate(sfcvxi(ista_2l:iend_2u,jsta_2l:jend_2u))
903 allocate(avgalbedo(ista_2l:iend_2u,jsta_2l:jend_2u))
904 allocate(avgcprate(ista_2l:iend_2u,jsta_2l:jend_2u))
905 allocate(avgprec(ista_2l:iend_2u,jsta_2l:jend_2u))
906 allocate(avgprec_cont(ista_2l:iend_2u,jsta_2l:jend_2u))
907 allocate(avgcprate_cont(ista_2l:iend_2u,jsta_2l:jend_2u))
908 allocate(ptop(ista_2l:iend_2u,jsta_2l:jend_2u))
909 allocate(pbot(ista_2l:iend_2u,jsta_2l:jend_2u))
910 allocate(avgcfrach(ista_2l:iend_2u,jsta_2l:jend_2u))
911 allocate(avgcfracm(ista_2l:iend_2u,jsta_2l:jend_2u))
912 allocate(avgcfracl(ista_2l:iend_2u,jsta_2l:jend_2u))
913 allocate(avgtcdc(ista_2l:iend_2u,jsta_2l:jend_2u))
914 allocate(auvbin(ista_2l:iend_2u,jsta_2l:jend_2u))
915 allocate(auvbinc(ista_2l:iend_2u,jsta_2l:jend_2u))
916 allocate(ptopl(ista_2l:iend_2u,jsta_2l:jend_2u))
917 allocate(pbotl(ista_2l:iend_2u,jsta_2l:jend_2u))
918 allocate(ttopl(ista_2l:iend_2u,jsta_2l:jend_2u))
919 allocate(ptopm(ista_2l:iend_2u,jsta_2l:jend_2u))
920 allocate(pbotm(ista_2l:iend_2u,jsta_2l:jend_2u))
921 allocate(ttopm(ista_2l:iend_2u,jsta_2l:jend_2u))
922 allocate(ptoph(ista_2l:iend_2u,jsta_2l:jend_2u))
923 allocate(pboth(ista_2l:iend_2u,jsta_2l:jend_2u))
924 allocate(ttoph(ista_2l:iend_2u,jsta_2l:jend_2u))
925 allocate(sfcugs(ista_2l:iend_2u,jsta_2l:jend_2u))
926 allocate(sfcvgs(ista_2l:iend_2u,jsta_2l:jend_2u))
927 allocate(pblcfr(ista_2l:iend_2u,jsta_2l:jend_2u))
928 allocate(cldwork(ista_2l:iend_2u,jsta_2l:jend_2u))
929 allocate(gtaux(ista_2l:iend_2u,jsta_2l:jend_2u))
930 allocate(gtauy(ista_2l:iend_2u,jsta_2l:jend_2u))
931 allocate(cd10(ista_2l:iend_2u,jsta_2l:jend_2u))
932 allocate(ch10(ista_2l:iend_2u,jsta_2l:jend_2u))
933 allocate(mdltaux(ista_2l:iend_2u,jsta_2l:jend_2u))
934 allocate(mdltauy(ista_2l:iend_2u,jsta_2l:jend_2u))
935 allocate(runoff(ista_2l:iend_2u,jsta_2l:jend_2u))
936!Initialization
937!$omp parallel do private(i,j)
938 do j=jsta_2l,jend_2u
939 do i=ista_2l,iend_2u
940 sfcux(i,j)=spval
941 sfcvx(i,j)=spval
942 sfcuxi(i,j)=spval
943 sfcvxi(i,j)=spval
944 avgalbedo(i,j)=spval
945 avgcprate(i,j)=spval
946 avgprec(i,j)=spval
947 avgprec_cont(i,j)=spval
948 avgcprate_cont(i,j)=spval
949 ptop(i,j)=spval
950 pbot(i,j)=spval
951 avgcfrach(i,j)=spval
952 avgcfracm(i,j)=spval
953 avgcfracl(i,j)=spval
954 avgtcdc(i,j)=spval
955 auvbin(i,j)=spval
956 auvbinc(i,j)=spval
957 ptopl(i,j)=spval
958 pbotl(i,j)=spval
959 ttopl(i,j)=spval
960 ptopm(i,j)=spval
961 pbotm(i,j)=spval
962 ttopm(i,j)=spval
963 ptoph(i,j)=spval
964 pboth(i,j)=spval
965 ttoph(i,j)=spval
966 sfcugs(i,j)=spval
967 sfcvgs(i,j)=spval
968 pblcfr(i,j)=spval
969 cldwork(i,j)=spval
970 gtaux(i,j)=spval
971 gtauy(i,j)=spval
972 cd10(i,j)=spval
973 ch10(i,j)=spval
974 mdltaux(i,j)=spval
975 mdltauy(i,j)=spval
976 runoff(i,j)=spval
977 enddo
978 enddo
979 allocate(maxtshltr(ista_2l:iend_2u,jsta_2l:jend_2u))
980 allocate(mintshltr(ista_2l:iend_2u,jsta_2l:jend_2u))
981 allocate(maxrhshltr(ista_2l:iend_2u,jsta_2l:jend_2u))
982 allocate(minrhshltr(ista_2l:iend_2u,jsta_2l:jend_2u))
983 allocate(maxqshltr(ista_2l:iend_2u,jsta_2l:jend_2u))
984 allocate(minqshltr(ista_2l:iend_2u,jsta_2l:jend_2u))
985 allocate(dzice(ista_2l:iend_2u,jsta_2l:jend_2u))
986 allocate(alwinc(ista_2l:iend_2u,jsta_2l:jend_2u))
987 allocate(alwoutc(ista_2l:iend_2u,jsta_2l:jend_2u))
988 allocate(alwtoac(ista_2l:iend_2u,jsta_2l:jend_2u))
989 allocate(aswinc(ista_2l:iend_2u,jsta_2l:jend_2u))
990 allocate(aswoutc(ista_2l:iend_2u,jsta_2l:jend_2u))
991 allocate(aswtoac(ista_2l:iend_2u,jsta_2l:jend_2u))
992 allocate(aswintoa(ista_2l:iend_2u,jsta_2l:jend_2u))
993 allocate(smcwlt(ista_2l:iend_2u,jsta_2l:jend_2u))
994 allocate(suntime(ista_2l:iend_2u,jsta_2l:jend_2u))
995 allocate(fieldcapa(ista_2l:iend_2u,jsta_2l:jend_2u))
996 allocate(avisbeamswin(ista_2l:iend_2u,jsta_2l:jend_2u))
997 allocate(avisdiffswin(ista_2l:iend_2u,jsta_2l:jend_2u))
998 allocate(airbeamswin(ista_2l:iend_2u,jsta_2l:jend_2u))
999 allocate(airdiffswin(ista_2l:iend_2u,jsta_2l:jend_2u))
1000 allocate(snowfall(ista_2l:iend_2u,jsta_2l:jend_2u))
1001 allocate(acond(ista_2l:iend_2u,jsta_2l:jend_2u))
1002 allocate(edir(ista_2l:iend_2u,jsta_2l:jend_2u))
1003 allocate(ecan(ista_2l:iend_2u,jsta_2l:jend_2u))
1004 allocate(etrans(ista_2l:iend_2u,jsta_2l:jend_2u))
1005 allocate(esnow(ista_2l:iend_2u,jsta_2l:jend_2u))
1006 allocate(avgedir(ista_2l:iend_2u,jsta_2l:jend_2u))
1007 allocate(avgecan(ista_2l:iend_2u,jsta_2l:jend_2u))
1008 allocate(avgetrans(ista_2l:iend_2u,jsta_2l:jend_2u))
1009 allocate(avgesnow(ista_2l:iend_2u,jsta_2l:jend_2u))
1010 allocate(avgpotevp(ista_2l:iend_2u,jsta_2l:jend_2u))
1011 allocate(aod550(ista_2l:iend_2u,jsta_2l:jend_2u))
1012 allocate(du_aod550(ista_2l:iend_2u,jsta_2l:jend_2u))
1013 allocate(ss_aod550(ista_2l:iend_2u,jsta_2l:jend_2u))
1014 allocate(su_aod550(ista_2l:iend_2u,jsta_2l:jend_2u))
1015 allocate(oc_aod550(ista_2l:iend_2u,jsta_2l:jend_2u))
1016 allocate(bc_aod550(ista_2l:iend_2u,jsta_2l:jend_2u))
1017 allocate(landfrac(ista_2l:iend_2u,jsta_2l:jend_2u))
1018 allocate(paha(ista_2l:iend_2u,jsta_2l:jend_2u))
1019 allocate(pahi(ista_2l:iend_2u,jsta_2l:jend_2u))
1020 allocate(tecan(ista_2l:iend_2u,jsta_2l:jend_2u))
1021 allocate(tetran(ista_2l:iend_2u,jsta_2l:jend_2u))
1022 allocate(tedir(ista_2l:iend_2u,jsta_2l:jend_2u))
1023 allocate(twa(ista_2l:iend_2u,jsta_2l:jend_2u))
1024 allocate(fdnsst(ista_2l:iend_2u,jsta_2l:jend_2u))
1025 allocate(pwat(ista_2l:iend_2u,jsta_2l:jend_2u))
1026!Initialization
1027!$omp parallel do private(i,j)
1028 do j=jsta_2l,jend_2u
1029 do i=ista_2l,iend_2u
1030 maxtshltr(i,j)=spval
1031 mintshltr(i,j)=spval
1032 maxrhshltr(i,j)=spval
1033 minrhshltr(i,j)=spval
1034 maxqshltr(i,j)=spval
1035 minqshltr(i,j)=spval
1036 dzice(i,j)=spval
1037 alwinc(i,j)=spval
1038 alwoutc(i,j)=spval
1039 alwtoac(i,j)=spval
1040 aswinc(i,j)=spval
1041 aswoutc(i,j)=spval
1042 aswtoac(i,j)=spval
1043 aswintoa(i,j)=spval
1044 smcwlt(i,j)=spval
1045 suntime(i,j)=spval
1046 fieldcapa(i,j)=spval
1047 avisbeamswin(i,j)=spval
1048 avisdiffswin(i,j)=spval
1049 airbeamswin(i,j)=spval
1050 airdiffswin(i,j)=spval
1051 snowfall(i,j)=spval
1052 acond(i,j)=spval
1053 edir(i,j)=spval
1054 ecan(i,j)=spval
1055 etrans(i,j)=spval
1056 esnow(i,j)=spval
1057 avgedir(i,j)=spval
1058 avgecan(i,j)=spval
1059 avgetrans(i,j)=spval
1060 avgesnow(i,j)=spval
1061 avgpotevp(i,j)=spval
1062 aod550(i,j)=spval
1063 du_aod550(i,j)=spval
1064 ss_aod550(i,j)=spval
1065 su_aod550(i,j)=spval
1066 oc_aod550(i,j)=spval
1067 bc_aod550(i,j)=spval
1068 landfrac(i,j)=spval
1069 paha(i,j)=spval
1070 pahi(i,j)=spval
1071 tecan(i,j)=spval
1072 tetran(i,j)=spval
1073 tedir(i,j)=spval
1074 twa(i,j)=spval
1075 fdnsst(i,j)=spval
1076 pwat(i,j)=spval
1077 enddo
1078 enddo
1079!
1080! FROM MASKS
1081!
1082 allocate(hbm2(ista_2l:iend_2u,jsta_2l:jend_2u))
1083 allocate(sm(ista_2l:iend_2u,jsta_2l:jend_2u))
1084 allocate(sice(ista_2l:iend_2u,jsta_2l:jend_2u))
1085 allocate(lmh(ista_2l:iend_2u,jsta_2l:jend_2u)) ! real
1086 allocate(lmv(ista_2l:iend_2u,jsta_2l:jend_2u)) ! real
1087 allocate(gdlat(ista_2l:iend_2u,jsta_2l:jend_2u))
1088 allocate(gdlon(ista_2l:iend_2u,jsta_2l:jend_2u))
1089 allocate(dx(ista_2l:iend_2u,jsta_2l:jend_2u))
1090 allocate(dy(ista_2l:iend_2u,jsta_2l:jend_2u))
1091!Initialization
1092!$omp parallel do private(i,j)
1093 do j=jsta_2l,jend_2u
1094 do i=ista_2l,iend_2u
1095 hbm2(i,j)=spval
1096 sm(i,j)=spval
1097 sice(i,j)=spval
1098 lmh(i,j)=spval
1099 lmv(i,j)=spval
1100 gdlat(i,j)=spval
1101 gdlon(i,j)=spval
1102 dx(i,j)=spval
1103 dy(i,j)=spval
1104 enddo
1105 enddo
1106
1107 !if (me == 0) print *,' gocart_on=',gocart_on
1108 !if (me == 0) print *,' gccpp_on=',gccpp_on
1109 if (gocart_on .or.gccpp_on .or. nasa_on) then
1110!
1111! Add GOCART fields
1112! vrbls4d
1113 allocate(dust(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_du))
1114 allocate(salt(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_ss))
1115 allocate(soot(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_bc))
1116 allocate(waso(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_oc))
1117 allocate(suso(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_su))
1118 if (nasa_on) then
1119 allocate(no3(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_no3))
1120 allocate(nh4(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_nh4))
1121 endif
1122 allocate(pp25(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_su))
1123 allocate(pp10(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_su))
1124!Initialization
1125!$omp parallel do private(i,j,l,k)
1126 do k=1,nbin_du
1127 do l=1,lm
1128 do j=jsta_2l,jend_2u
1129 do i=ista_2l,iend_2u
1130 dust(i,j,l,k)=spval
1131 enddo
1132 enddo
1133 enddo
1134 enddo
1135!$omp parallel do private(i,j,l,k)
1136 do k=1,nbin_ss
1137 do l=1,lm
1138 do j=jsta_2l,jend_2u
1139 do i=ista_2l,iend_2u
1140 salt(i,j,l,k)=spval
1141 enddo
1142 enddo
1143 enddo
1144 enddo
1145!$omp parallel do private(i,j,l,k)
1146 do k=1,nbin_bc
1147 do l=1,lm
1148 do j=jsta_2l,jend_2u
1149 do i=ista_2l,iend_2u
1150 soot(i,j,l,k)=spval
1151 enddo
1152 enddo
1153 enddo
1154 enddo
1155!$omp parallel do private(i,j,l,k)
1156 do k=1,nbin_oc
1157 do l=1,lm
1158 do j=jsta_2l,jend_2u
1159 do i=ista_2l,iend_2u
1160 waso(i,j,l,k)=spval
1161 enddo
1162 enddo
1163 enddo
1164 enddo
1165 if (nasa_on) then
1166!$omp parallel do private(i,j,l,k)
1167 do k=1,nbin_no3
1168 do l=1,lm
1169 do j=jsta_2l,jend_2u
1170 do i=ista_2l,iend_2u
1171 no3(i,j,l,k)=spval
1172 enddo
1173 enddo
1174 enddo
1175 enddo
1176
1177!$omp parallel do private(i,j,l,k)
1178 do k=1,nbin_nh4
1179 do l=1,lm
1180 do j=jsta_2l,jend_2u
1181 do i=ista_2l,iend_2u
1182 nh4(i,j,l,k)=spval
1183 enddo
1184 enddo
1185 enddo
1186 enddo
1187 endif
1188
1189!$omp parallel do private(i,j,l,k)
1190 do k=1,nbin_su
1191 do l=1,lm
1192 do j=jsta_2l,jend_2u
1193 do i=ista_2l,iend_2u
1194 suso(i,j,l,k)=spval
1195 pp25(i,j,l,k)=spval
1196 pp10(i,j,l,k)=spval
1197 enddo
1198 enddo
1199 enddo
1200 enddo
1201! vrbls3d
1202 allocate(ext(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
1203 allocate(asy(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
1204 allocate(ssa(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
1205 allocate(sca(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
1206!Initialization
1207!$omp parallel do private(i,j)
1208 do l=1,lm
1209 do j=jsta_2l,jend_2u
1210 do i=ista_2l,iend_2u
1211 ext(i,j,l)=spval
1212 asy(i,j,l)=spval
1213 ssa(i,j,l)=spval
1214 sca(i,j,l)=spval
1215 enddo
1216 enddo
1217 enddo
1218 if ( d2d_chem ) then
1219 allocate(duem(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_du))
1220 allocate(dusd(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_du))
1221 allocate(dudp(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_du))
1222 allocate(duwt(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_du))
1223 allocate(dusv(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_du))
1224 allocate(suem(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_su))
1225 allocate(susd(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_su))
1226 allocate(sudp(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_su))
1227 allocate(suwt(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_su))
1228 allocate(ocem(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_oc))
1229 allocate(ocsd(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_oc))
1230 allocate(ocdp(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_oc))
1231 allocate(ocwt(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_oc))
1232 allocate(ocsv(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_oc))
1233 allocate(bcem(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_bc))
1234 allocate(bcsd(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_bc))
1235 allocate(bcdp(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_bc))
1236 allocate(bcwt(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_bc))
1237 allocate(bcsv(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_bc))
1238 allocate(ssem(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_ss))
1239 allocate(sssd(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_ss))
1240 allocate(ssdp(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_ss))
1241 allocate(sswt(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_ss))
1242 allocate(sssv(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_ss))
1243!Initialization
1244!$omp parallel do private(i,j,l)
1245 do l=1,nbin_du
1246 do j=jsta_2l,jend_2u
1247 do i=ista_2l,iend_2u
1248 duem(i,j,l)=spval
1249 dusd(i,j,l)=spval
1250 dudp(i,j,l)=spval
1251 duwt(i,j,l)=spval
1252 dusv(i,j,l)=spval
1253 enddo
1254 enddo
1255 enddo
1256
1257 do l=1,nbin_su
1258 do j=jsta_2l,jend_2u
1259 do i=ista_2l,iend_2u
1260 suem(i,j,l)=spval
1261 susd(i,j,l)=spval
1262 sudp(i,j,l)=spval
1263 suwt(i,j,l)=spval
1264 enddo
1265 enddo
1266 enddo
1267
1268 do l=1,nbin_oc
1269 do j=jsta_2l,jend_2u
1270 do i=ista_2l,iend_2u
1271 ocem(i,j,l)=spval
1272 ocsd(i,j,l)=spval
1273 ocdp(i,j,l)=spval
1274 ocwt(i,j,l)=spval
1275 ocsv(i,j,l)=spval
1276 enddo
1277 enddo
1278 enddo
1279
1280 do l=1,nbin_bc
1281 do j=jsta_2l,jend_2u
1282 do i=ista_2l,iend_2u
1283 bcem(i,j,l)=spval
1284 bcsd(i,j,l)=spval
1285 bcdp(i,j,l)=spval
1286 bcwt(i,j,l)=spval
1287 bcsv(i,j,l)=spval
1288 enddo
1289 enddo
1290 enddo
1291
1292 do l=1,nbin_ss
1293 do j=jsta_2l,jend_2u
1294 do i=ista_2l,iend_2u
1295 ssem(i,j,l)=spval
1296 sssd(i,j,l)=spval
1297 ssdp(i,j,l)=spval
1298 sswt(i,j,l)=spval
1299 sssv(i,j,l)=spval
1300 enddo
1301 enddo
1302 enddo
1303 endif
1304 allocate(rhomid(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
1305!Initialization
1306!$omp parallel do private(i,j,l)
1307 do l=1,lm
1308 do j=jsta_2l,jend_2u
1309 do i=ista_2l,iend_2u
1310 rhomid(i,j,l)=spval
1311 enddo
1312 enddo
1313 enddo
1314! vrbls2d
1315 allocate(dusmass(ista_2l:iend_2u,jsta_2l:jend_2u))
1316 allocate(ducmass(ista_2l:iend_2u,jsta_2l:jend_2u))
1317 allocate(dusmass25(ista_2l:iend_2u,jsta_2l:jend_2u))
1318 allocate(ducmass25(ista_2l:iend_2u,jsta_2l:jend_2u))
1319 allocate(susmass(ista_2l:iend_2u,jsta_2l:jend_2u))
1320 allocate(sucmass(ista_2l:iend_2u,jsta_2l:jend_2u))
1321 allocate(susmass25(ista_2l:iend_2u,jsta_2l:jend_2u))
1322 allocate(sucmass25(ista_2l:iend_2u,jsta_2l:jend_2u))
1323 allocate(ocsmass(ista_2l:iend_2u,jsta_2l:jend_2u))
1324 allocate(occmass(ista_2l:iend_2u,jsta_2l:jend_2u))
1325 allocate(ocsmass25(ista_2l:iend_2u,jsta_2l:jend_2u))
1326 allocate(occmass25(ista_2l:iend_2u,jsta_2l:jend_2u))
1327 allocate(bcsmass(ista_2l:iend_2u,jsta_2l:jend_2u))
1328 allocate(bccmass(ista_2l:iend_2u,jsta_2l:jend_2u))
1329 allocate(bcsmass25(ista_2l:iend_2u,jsta_2l:jend_2u))
1330 allocate(bccmass25(ista_2l:iend_2u,jsta_2l:jend_2u))
1331 allocate(sssmass(ista_2l:iend_2u,jsta_2l:jend_2u))
1332 allocate(sscmass(ista_2l:iend_2u,jsta_2l:jend_2u))
1333 allocate(sssmass25(ista_2l:iend_2u,jsta_2l:jend_2u))
1334 allocate(sscmass25(ista_2l:iend_2u,jsta_2l:jend_2u))
1335 allocate(dustcb(ista_2l:iend_2u,jsta_2l:jend_2u))
1336 if (nasa_on) then
1337 allocate(no3cb(ista_2l:iend_2u,jsta_2l:jend_2u))
1338 allocate(nh4cb(ista_2l:iend_2u,jsta_2l:jend_2u))
1339 endif
1340 allocate(occb(ista_2l:iend_2u,jsta_2l:jend_2u))
1341 allocate(bccb(ista_2l:iend_2u,jsta_2l:jend_2u))
1342 allocate(sulfcb(ista_2l:iend_2u,jsta_2l:jend_2u))
1343 allocate(pp25cb(ista_2l:iend_2u,jsta_2l:jend_2u))
1344 allocate(pp10cb(ista_2l:iend_2u,jsta_2l:jend_2u))
1345 allocate(sscb(ista_2l:iend_2u,jsta_2l:jend_2u))
1346 allocate(dustallcb(ista_2l:iend_2u,jsta_2l:jend_2u))
1347 allocate(ssallcb(ista_2l:iend_2u,jsta_2l:jend_2u))
1348 allocate(dustpm(ista_2l:iend_2u,jsta_2l:jend_2u))
1349 allocate(dustpm10(ista_2l:iend_2u,jsta_2l:jend_2u))
1350 allocate(sspm(ista_2l:iend_2u,jsta_2l:jend_2u))
1351 allocate(maod(ista_2l:iend_2u,jsta_2l:jend_2u))
1352!Initialization
1353!$omp parallel do private(i,j)
1354 do j=jsta_2l,jend_2u
1355 do i=ista_2l,iend_2u
1356 dusmass(i,j)=spval
1357 ducmass(i,j)=spval
1358 dusmass25(i,j)=spval
1359 ducmass25(i,j)=spval
1360 susmass(i,j)=spval
1361 sucmass(i,j)=spval
1362 susmass25(i,j)=spval
1363 sucmass25(i,j)=spval
1364 ocsmass(i,j)=spval
1365 occmass(i,j)=spval
1366 ocsmass25(i,j)=spval
1367 occmass25(i,j)=spval
1368 bcsmass(i,j)=spval
1369 bccmass(i,j)=spval
1370 bcsmass25(i,j)=spval
1371 bccmass25(i,j)=spval
1372 sssmass(i,j)=spval
1373 sscmass(i,j)=spval
1374 sssmass25(i,j)=spval
1375 sscmass25(i,j)=spval
1376 dustcb(i,j)=spval
1377 if (nasa_on) then
1378 no3cb(i,j)=spval
1379 nh4cb(i,j)=spval
1380 endif
1381 occb(i,j)=spval
1382 bccb(i,j)=spval
1383 sulfcb(i,j)=spval
1384 pp25cb(i,j)=spval
1385 pp10cb(i,j)=spval
1386 sscb(i,j)=spval
1387 dustallcb(i,j)=spval
1388 ssallcb(i,j)=spval
1389 dustpm(i,j)=spval
1390 dustpm10(i,j)=spval
1391 sspm(i,j)=spval
1392 maod(i,j)=spval
1393 enddo
1394 enddo
1395 endif
1396! HWRF RRTMG output
1397 allocate(acswupt(ista_2l:iend_2u,jsta_2l:jend_2u))
1398 allocate(swdnt(ista_2l:iend_2u,jsta_2l:jend_2u))
1399 allocate(acswdnt(ista_2l:iend_2u,jsta_2l:jend_2u))
1400!Initialization
1401!$omp parallel do private(i,j)
1402 do j=jsta_2l,jend_2u
1403 do i=ista_2l,iend_2u
1404 acswupt(i,j)=spval
1405 swdnt(i,j)=spval
1406 acswdnt(i,j)=spval
1407 enddo
1408 enddo
1409
1410! UPP_MATH MODULE DIFFERENTIAL EQUATIONS
1411 allocate(ddvdx(ista_2l:iend_2u,jsta_2l:jend_2u))
1412 allocate(ddudy(ista_2l:iend_2u,jsta_2l:jend_2u))
1413 allocate(uuavg(ista_2l:iend_2u,jsta_2l:jend_2u))
1414!Initialization
1415!$omp parallel do private(i,j)
1416 do j=jsta_2l,jend_2u
1417 do i=ista_2l,iend_2u
1418 ddvdx(i,j)=spval
1419 ddudy(i,j)=spval
1420 uuavg(i,j)=spval
1421 enddo
1422 enddo
1423
1424! AQF
1425 if (me == 0) print *,'aqf_on= ', aqf_on
1426 if (aqf_on) then
1427
1428 allocate(avgozcon(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
1429 allocate(avgpmtf(ista_2l:iend_2u,jsta_2l:jend_2u,lm))
1430 allocate(aqm_aod550(ista_2l:iend_2u,jsta_2l:jend_2u))
1431
1432!Initialization
1433!$omp parallel do private(i,j,l)
1434 do l=1,lm
1435 do j=jsta_2l,jend_2u
1436 do i=ista_2l,iend_2u
1437 avgozcon(i,j,l)=spval
1438 avgpmtf(i,j,l)=spval
1439 enddo
1440 enddo
1441 enddo
1442
1443!Initialization
1444!$omp parallel do private(i,j)
1445 do j=jsta_2l,jend_2u
1446 do i=ista_2l,iend_2u
1447 aqm_aod550(i,j)=spval
1448 enddo
1449 enddo
1450
1451 endif
1452!
1453 end
subroutine allocate_all()
SET UP MESSGAE PASSING INFO.