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