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