UPP  V11.0.0
 All Data Structures Files Functions Pages
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
Definition: MASKS_mod.f:1
Definition: SOIL_mod.f:1
dvdxdudy() computes dudy, dvdx, uwnd
Definition: UPP_MATH.f:17