57 use vrbls3d, only: pint, t, q, zint, alpint, pmid, exch_h, uh, &
58 vh, omga, q2, cwm, qqw, qqi, qqr, qqs, cfr, &
62 use params_mod, only: d50 , pq0, a2, a3, a4, h1, d01, d608, rgamog,&
63 h1m12, d00, h2, rd, g, gi, h99999
64 use ctlblk_mod
, only: jsta_2l, jend_2u, spval, lp1, jsta, jend, lm, &
65 grib, cfld, datapd, fld_info, me, jend_m, im, &
66 jm, im_jm, ista, iend, ista_2l, iend_2u, ista_m, iend_m
67 use rqstfld_mod
, only: iget, lvls, id, iavblfld, lvlsxml
68 use gridspec_mod
, only :gridtype
76 integer,
PARAMETER :: lsig=22
77 real,
PARAMETER :: ptsigo=1.0e4
83 LOGICAL donefsl1,tsldone
84 real,
dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: fsl, tsl, qsl, osl, usl, vsl, q2sl, &
85 fsl1, cfrsig, egrid1, egrid2
87 real,
dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: grid2
89 REAL sigo(lsig+1),dsigo(lsig),asigo(lsig)
91 INTEGER,
dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: nl1x,nl1xf
102 real,
dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: c1d, qw1, qi1, qr1, qs1, qg1, akh
104 integer i,j,l,ll,lp,llmh,ii,jj,jjb,jje,nhold
105 real pfsigo,apfsigo,psigo,apsigo,pnl1,pu,zu,tu,qu,qsat, &
106 rhu,tvru,tvrabv,tabv,qabv,b,ahf,fac,pl,zl,tl,ql, &
107 rhl,tmt0,ai,bi,tvrl,tvrblo,tblo,qblo,fact, &
108 px,bf,facf,ahff,dpsig,tv,pdv,denom,denomf,pnl1f,dum
124 IF((iget(205)>0).OR.(iget(206)>0).OR. &
125 (iget(207)>0).OR.(iget(208)>0).OR. &
126 (iget(209)>0).OR.(iget(210)>0).OR. &
127 (iget(216)>0).OR.(iget(217)>0).OR. &
128 (iget(211)>0).OR.(iget(212)>0).OR. &
129 (iget(213)>0).OR.(iget(214)>0).OR. &
130 (iget(215)>0).OR.(iget(222)>0).OR. &
144 sigo(l)=sigo(l-1)+dsigo(lsig-l+2)
148 asigo(l)=0.5*(sigo(l)+sigo(l+1))
205 IF(nl1xf(i,j)==lp1.AND.pint(i,j,l)>ptsigo)
THEN
212 DO 167 i=ista_2l,iend_2u
216 pnl1=pint(i,j,nl1xf(i,j))
218 llmh = nint(lmh(i,j))
219 IF(nl1xf(i,j)==1 .AND. t(i,j,1)<spval &
220 .AND. t(i,j,2)<spval .AND. q(i,j,1)<spval &
221 .AND. q(i,j,2)<spval)
THEN
224 tu=d50*(t(i,j,1)+t(i,j,2))
225 qu=d50*(q(i,j,1)+q(i,j,2))
226 qsat=pq0/pu*exp(a2*(tu-a3)/(tu-a4))
238 tvrabv=tvru*(pfsigo/pu)**rgamog
239 tabv=tvrabv/(h1+d608*qu)
240 qsat=pq0/pfsigo*exp(a2*(tabv-a3)/(tabv-a4))
242 qabv =max(h1m12,qabv)
248 ELSEIF(nl1xf(i,j)==lp1 .AND. t(i,j,lm-1)<spval &
249 .AND. t(i,j,lm-2)<spval .AND. q(i,j,lm-1)<spval &
250 .AND. q(i,j,lm-2)<spval)
THEN
253 tl=d50*(t(i,j,lm-2)+t(i,j,lm-1))
254 ql=d50*(q(i,j,lm-2)+q(i,j,lm-1))
258 qsat=pq0/pl*exp(a2*(tl-a3)/(tl-a4))
269 tvrl =tl*(h1+d608*ql)
270 tvrblo=tvrl*(pfsigo/pl)**rgamog
271 tblo =tvrblo/(h1+d608*ql)
272 qsat=pq0/pfsigo*exp(a2*(tblo-a3)/(tblo-a4))
274 qblo =max(h1m12,qblo)
280 ELSEIF(t(i,j,nl1xf(i,j))<spval &
281 & .AND. q(i,j,nl1xf(i,j))<spval)
THEN
283 b =t(i,j,nl1xf(i,j))*(h1+d608*q(i,j,nl1xf(i,j)))
284 denom=(alpint(i,j,nl1xf(i,j)+1)-alpint(i,j,nl1xf(i,j)-1))
286 ahf =(b-t(i,j,nl1xf(i,j)-1)*(h1+d608*q(i,j,nl1xf(i,j)-1))) &
288 fac =h2*log(pmid(i,j,nl1xf(i,j)))
292 if(donefsl1)fsl1(i,j)=(pnl1-pfsigo)/(pfsigo+pnl1) &
293 *((apfsigo+alpint(i,j,nl1xf(i,j))-fac)*ahf+b)*rd*h2 &
294 +zint(i,j,nl1xf(i,j))*g
296 IF(nl1xf(i,j)<=2 .OR. nl1xf(i,j)>(llmh+1))
THEN
299 fact=(apfsigo-log(pint(i,j,ll)))/ &
300 & (log(pint(i,j,ll))-log(pint(i,j,ll-1)))
302 IF(exch_h(i,j,ll-2)<spval .AND. exch_h(i,j,ll-1)<spval) &
303 & akh(i,j)=exch_h(i,j,ll-1)+(exch_h(i,j,ll-1) &
304 & -exch_h(i,j,ll-2))*fact
309 IF (iget(205)>0)
THEN
310 IF (lvls(1,iget(205))>0)
THEN
314 IF(fsl1(i,j)<spval)
THEN
315 grid1(i,j)=fsl1(i,j)*gi
321 if(grib==
'grib2')
then
323 fld_info(cfld)%ifld=iavblfld(iget(205))
324 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
330 IF (iget(243)>0)
THEN
331 IF (lvls(1,iget(243))>0)
THEN
338 if(grib==
"grib2" )
then
340 fld_info(cfld)%ifld=iavblfld(iget(243))
341 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
344 if(me==0)print*,
'output Heat Diffusivity'
380 llmh = nint(lmh(i,j))
381 psigo=ptsigo+asigo(lp)*(pint(i,j,llmh+1)-ptsigo)
382 IF(nl1x(i,j)==lp1.AND.pmid(i,j,l)>psigo)
THEN
392 IF(nl1x(i,j)==lp1.AND.pint(i,j,llmh+1)>=psigo)
THEN
419 llmh = nint(lmh(i,j))
420 psigo=ptsigo+asigo(lp)*(pint(i,j,llmh+1)-ptsigo)
422 IF(nl1x(i,j)<=llmh)
THEN
432 fact=(apsigo-log(pmid(i,j,ll)))/ &
433 & (log(pmid(i,j,ll))-log(pmid(i,j,ll-1)))
434 tsl(i,j)=t(i,j,ll)+(t(i,j,ll)-t(i,j,ll-1))*fact
435 IF(q(i,j,ll)<spval .AND. q(i,j,ll-1)<spval) &
436 & qsl(i,j)=q(i,j,ll)+(q(i,j,ll)-q(i,j,ll-1))*fact
437 IF(gridtype==
'A')
THEN
438 IF(uh(i,j,ll)<spval .AND. uh(i,j,ll-1)<spval) &
439 & usl(i,j)=uh(i,j,ll)+(uh(i,j,ll)-uh(i,j,ll-1))*fact
440 IF(vh(i,j,ll)<spval .AND. vh(i,j,ll-1)<spval) &
441 & vsl(i,j)=vh(i,j,ll)+(vh(i,j,ll)-vh(i,j,ll-1))*fact
443 IF(omga(i,j,ll)<spval .AND. omga(i,j,ll-1)<spval) &
444 & osl(i,j)=omga(i,j,ll)+(omga(i,j,ll)-omga(i,j,ll-1))*fact
445 IF(q2(i,j,ll)<spval .AND. q2(i,j,ll-1)<spval) &
446 & q2sl(i,j)=q2(i,j,ll)+(q2(i,j,ll)-q2(i,j,ll-1))*fact
456 IF(q2sl(i,j)<0.0) q2sl(i,j)=0.0
459 IF(cwm(i,j,ll)<spval .AND. cwm(i,j,ll-1)<spval) &
460 & c1d(i,j)=cwm(i,j,ll)+(cwm(i,j,ll)-cwm(i,j,ll-1))*fact
461 c1d(i,j)=max(c1d(i,j),h1m12)
462 IF(qqw(i,j,ll)<spval .AND. qqw(i,j,ll-1)<spval) &
463 & qw1(i,j)=qqw(i,j,ll)+(qqw(i,j,ll)-qqw(i,j,ll-1))*fact
464 qw1(i,j)=max(qw1(i,j),h1m12)
465 IF(qqi(i,j,ll)<spval .AND. qqi(i,j,ll-1)<spval) &
466 & qi1(i,j)=qqi(i,j,ll)+(qqi(i,j,ll)-qqi(i,j,ll-1))*fact
467 qi1(i,j)=max(qi1(i,j),h1m12)
468 IF(qqr(i,j,ll)<spval .AND. qqr(i,j,ll-1)<spval) &
469 & qr1(i,j)=qqr(i,j,ll)+(qqr(i,j,ll)-qqr(i,j,ll-1))*fact
470 qr1(i,j)=max(qr1(i,j),h1m12)
471 IF(qqs(i,j,ll)<spval .AND. qqs(i,j,ll-1)<spval) &
472 & qs1(i,j)=qqs(i,j,ll)+(qqs(i,j,ll)-qqs(i,j,ll-1))*fact
473 qs1(i,j)=max(qs1(i,j),h1m12)
474 IF(cfr(i,j,ll)<spval .AND. cfr(i,j,ll-1)<spval) &
475 & cfrsig(i,j)=cfr(i,j,ll)+(cfr(i,j,ll)-cfr(i,j,ll-1))*fact
476 cfrsig(i,j)=max(cfrsig(i,j),h1m12)
477 IF(qqs(i,j,ll)<spval .AND. qqs(i,j,ll-1)<spval)
THEN
478 dum=f_rimef(i,j,ll)+(f_rimef(i,j,ll)-f_rimef(i,j,ll-1))*fact
497 tl=0.5*(t(i,j,lm-2)+t(i,j,lm-1))
498 ql=0.5*(q(i,j,lm-2)+q(i,j,lm-1))
506 qsat=pq0/pl*exp(a2*(tl-a3)/(tl-a4))
520 tvrl =tl*(1.+0.608*ql)
521 tvrblo=tvrl*(psigo/pl)**rgamog
522 tblo =tvrblo/(1.+0.608*ql)
531 qsat=pq0/psigo*exp(a2*(tblo-a3)/(tblo-a4))
535 qsl(i,j) = max(1.e-12,qblo)
536 IF(gridtype==
'A')
THEN
537 usl(i,j) = uh(i,j,llmh)
538 vsl(i,j) = vh(i,j,llmh)
540 osl(i,j) = omga(i,j,llmh)
541 q2sl(i,j) = max(0.0,0.5*(q2(i,j,llmh-1)+q2(i,j,llmh)))
542 pnl1 = pint(i,j,nl1x(i,j))
563 llmh = nint(lmh(i,j))
564 psigo=ptsigo+sigo(lp+1)*(pint(i,j,llmh+1)-ptsigo)
566 IF(nl1xf(i,j)==lp1.AND.pint(i,j,l)>psigo)
THEN
578 llmh = nint(lmh(i,j))
579 pfsigo=ptsigo+sigo(lp+1)*(pint(i,j,llmh+1)-ptsigo)
580 psigo=ptsigo+asigo(lp)*(pint(i,j,llmh+1)-ptsigo)
582 pnl1f=pint(i,j,nl1xf(i,j))
584 IF(nl1xf(i,j)==1 .AND. t(i,j,1)<spval &
585 & .AND. t(i,j,2)<spval .AND. q(i,j,1)<spval &
586 & .AND. q(i,j,2)<spval)
THEN
589 tu=d50*(t(i,j,1)+t(i,j,2))
590 qu=d50*(q(i,j,1)+q(i,j,2))
594 qsat=pq0/pu*exp(a2*(tu-a3)/(tu-a4))
608 px=(pfsigo+pnl1f)*0.5
609 tvrabv=tvru*(px/pu)**rgamog
610 tabv=tvrabv/(h1+d608*qu)
619 ELSEIF(nl1xf(i,j)==lp1 .AND. t(i,j,lm-1)<spval &
620 & .AND. t(i,j,lm-2)<spval .AND. q(i,j,lm-1)<spval &
621 & .AND. q(i,j,lm-2)<spval)
THEN
629 tl=d50*(t(i,j,lm-2)+t(i,j,lm-1))
630 ql=d50*(q(i,j,lm-2)+q(i,j,lm-1))
634 qsat=pq0/pl*exp(a2*(tl-a3)/(tl-a4))
645 tvrl =tl*(h1+d608*ql)
647 px=(pfsigo+pnl1f)*0.5
648 tvrblo=tvrl*(px/pl)**rgamog
649 tblo =tvrblo/(h1+d608*ql)
659 ELSEIF(t(i,j,nl1xf(i,j))<spval &
660 & .AND. q(i,j,nl1xf(i,j))<spval)
THEN
668 bf =t(i,j,nl1xf(i,j))*(h1+d608*q(i,j,nl1xf(i,j)))
670 facf =h2*log(pmid(i,j,nl1xf(i,j)))
671 denomf=(alpint(i,j,nl1xf(i,j)+1)-alpint(i,j,nl1xf(i,j)-1))
673 ahff=(bf-t(i,j,nl1xf(i,j)-1)*(h1+d608*q(i,j,nl1xf(i,j)-1))) &
680 fsl(i,j)=(pnl1f-pfsigo)/(pfsigo+pnl1f) &
681 *((apfsigo+alpint(i,j,nl1xf(i,j))-facf)*ahff+bf)*rd*h2 &
682 +zint(i,j,nl1xf(i,j))*g
684 dpsig=(sigo(lp+1)-sigo(lp))*(pint(i,j,llmh+1)-ptsigo)
687 IF(.NOT.tsldone)
THEN
688 tsl(i,j)=(fsl1(i,j)-fsl(i,j))*psigo/(rd*dpsig)
691 IF(.NOT.tsldone)
THEN
693 tsl(i,j)=tv/(h1+d608*qsl(i,j))
695 qsat=pq0/psigo *exp(a2*(tsl(i,j)-a3)/(tsl(i,j)-a4))
699 IF(rhl>1.) qsl(i,j)=qsat
700 IF(rhl<0.01) qsl(i,j)=0.01*qsat
706 IF(nl1xf(i,j)<=2 .OR. nl1xf(i,j)>(llmh+1))
THEN
709 fact=(apfsigo-log(pint(i,j,ll)))/ &
710 & (log(pint(i,j,ll))-log(pint(i,j,ll-1)))
712 IF(exch_h(i,j,ll-2)<spval .AND. &
713 & exch_h(i,j,ll-1)<spval) &
714 & akh(i,j)=exch_h(i,j,ll-1)+(exch_h(i,j,ll-1) &
715 & -exch_h(i,j,ll-2))*fact
724 if(gridtype==
'B' .or. gridtype==
'E') &
725 call exch(pint(ista_2l:iend_2u,jsta_2l:jend_2u,lp1))
726 IF(gridtype==
'E')
THEN
729 DO i=ista,iend-mod(j,2)
734 llmh = nint(lmh(i,j))
753 IF(j == 1 .AND. i < iend)
THEN
754 pdv=0.5*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1))
755 ELSE IF(j==jm .AND. i<iend)
THEN
756 pdv=0.5*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1))
757 ELSE IF(i == ista .AND. mod(j,2) == 0)
THEN
758 pdv=0.5*(pint(i,j-1,llmh+1)+pint(i,j+1,llmh+1))
759 ELSE IF(i == iend .AND. mod(j,2) == 0)
THEN
760 pdv=0.5*(pint(i,j-1,llmh+1)+pint(i,j+1,llmh+1))
761 ELSE IF (mod(j,2) < 1)
THEN
762 pdv=0.25*(pint(i,j,llmh+1)+pint(i-1,j,llmh+1) &
763 & +pint(i,j+1,llmh+1)+pint(i,j-1,llmh+1))
765 pdv=0.25*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1) &
766 & +pint(i,j+1,llmh+1)+pint(i,j-1,llmh+1))
769 psigo=ptsigo+asigo(lp)*(pdv-ptsigo)
772 IF(nl1x(i,j)==lp1.AND.pmidv(i,j,l)>psigo)
THEN
782 IF(nl1x(i,j)==lp1.AND. pdv>psigo)
THEN
791 DO 230 i=ista,iend-mod(j,2)
793 llmh = nint(lmh(i,j))
812 IF(j == 1 .AND. i < iend)
THEN
813 pdv=0.5*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1))
814 ELSE IF(j==jm .AND. i<iend)
THEN
815 pdv=0.5*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1))
816 ELSE IF(i == ista .AND. mod(j,2) == 0)
THEN
817 pdv=0.5*(pint(i,j-1,llmh+1)+pint(i,j+1,llmh+1))
818 ELSE IF(i == iend .AND. mod(j,2) == 0)
THEN
819 pdv=0.5*(pint(i,j-1,llmh+1)+pint(i,j+1,llmh+1))
820 ELSE IF (mod(j,2) < 1)
THEN
821 pdv=0.25*(pint(i,j,llmh+1)+pint(i-1,j,llmh+1) &
822 & +pint(i,j+1,llmh+1)+pint(i,j-1,llmh+1))
824 pdv=0.25*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1) &
825 & +pint(i,j+1,llmh+1)+pint(i,j-1,llmh+1))
828 psigo=ptsigo+asigo(lp)*(pdv-ptsigo)
836 llmh = nint(lmh(i,j))
837 IF(nl1x(i,j)<=llmh)
THEN
847 fact=(apsigo-log(pmidv(i,j,ll)))/ &
848 & (log(pmidv(i,j,ll))-log(pmidv(i,j,ll-1)))
849 IF(uh(i,j,ll)<spval .AND. uh(i,j,ll-1)<spval) &
850 & usl(i,j)=uh(i,j,ll)+(uh(i,j,ll)-uh(i,j,ll-1))*fact
851 IF(vh(i,j,ll)<spval .AND. vh(i,j,ll-1)<spval) &
852 & vsl(i,j)=vh(i,j,ll)+(vh(i,j,ll)-vh(i,j,ll-1))*fact
859 IF(uh(i,j,llmh)<spval)usl(i,j)=uh(i,j,llmh)
860 IF(vh(i,j,llmh)<spval)vsl(i,j)=vh(i,j,llmh)
864 IF(mod(jsta,2)==0)jjb=jsta+1
866 IF(mod(jend,2)==0)jje=jend-1
868 usl(iend,j)=usl(iend-1,j)
869 vsl(iend,j)=vsl(iend-1,j)
872 ELSE IF (gridtype==
'B')
THEN
879 pdv=0.25*(pint(i,j,lp1)+pint(i+1,j,lp1) &
880 +pint(i,j+1,lp1)+pint(i+1,j+1,lp1))
882 psigo=ptsigo+asigo(lp)*(pdv-ptsigo)
885 IF(nl1x(i,j)==lp1.AND.pmidv(i,j,l)>psigo)
THEN
895 IF(nl1x(i,j)==lp1.AND. pdv>psigo)
THEN
904 pdv=0.25*(pint(i,j,lp1)+pint(i+1,j,lp1) &
905 +pint(i,j+1,lp1)+pint(i+1,j+1,lp1))
906 psigo=ptsigo+asigo(lp)*(pdv-ptsigo)
914 llmh = nint(lmh(i,j))
915 IF(nl1x(i,j)<=llmh)
THEN
925 fact=(apsigo-log(pmidv(i,j,ll)))/ &
926 & (log(pmidv(i,j,ll))-log(pmidv(i,j,ll-1)))
927 IF(uh(i,j,ll)<spval .AND. uh(i,j,ll-1)<spval) &
928 & usl(i,j)=uh(i,j,ll)+(uh(i,j,ll)-uh(i,j,ll-1))*fact
929 IF(vh(i,j,ll)<spval .AND. vh(i,j,ll-1)<spval) &
930 & vsl(i,j)=vh(i,j,ll)+(vh(i,j,ll)-vh(i,j,ll-1))*fact
937 IF(uh(i,j,llmh)<spval)usl(i,j)=uh(i,j,llmh)
938 IF(vh(i,j,llmh)<spval)vsl(i,j)=vh(i,j,llmh)
971 IF(lvls(lp+1,iget(205))>0)
THEN
975 IF(fsl(i,j)<spval)
THEN
976 grid1(i,j)=fsl(i,j)*gi
982 if(grib==
"grib2" )
then
984 fld_info(cfld)%ifld=iavblfld(iget(205))
985 fld_info(cfld)%lvl=lvlsxml(lp+1,iget(205))
986 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
994 IF (iget(243)>0)
THEN
995 IF (lvls(lp+1,iget(243))>0)
THEN
1000 IF(lp==(lsig+1))grid1(i,j)=0.0
1003 if(grib==
"grib2" )
then
1005 fld_info(cfld)%ifld=iavblfld(iget(243))
1006 fld_info(cfld)%lvl=lvlsxml(lp+1,iget(243))
1007 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1009 if(me==0)print*,
'output Heat Diffusivity'
1015 IF(iget(206)>0)
THEN
1016 IF(lvls(lp,iget(206))>0)
THEN
1022 if(grib==
"grib2" )
then
1024 fld_info(cfld)%ifld=iavblfld(iget(206))
1025 fld_info(cfld)%lvl=lvlsxml(lp,iget(206))
1026 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1034 IF(lvls(lp,iget(216))>0)
THEN
1038 llmh = nint(lmh(i,j))
1039 grid1(i,j)=ptsigo+asigo(lp)*(pint(i,j,llmh+1)-ptsigo)
1042 if(grib==
"grib2" )
then
1044 fld_info(cfld)%ifld=iavblfld(iget(216))
1045 fld_info(cfld)%lvl=lvlsxml(lp,iget(216))
1046 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1054 IF(lvls(lp,iget(207))>0)
THEN
1060 CALL bound(grid1,h1m12,h99999)
1061 if(grib==
"grib2" )
then
1063 fld_info(cfld)%ifld=iavblfld(iget(207))
1064 fld_info(cfld)%lvl=lvlsxml(lp,iget(207))
1065 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1073 IF(lvls(lp,iget(210))>0)
THEN
1079 if(grib==
"grib2" )
then
1081 fld_info(cfld)%ifld=iavblfld(iget(210))
1082 fld_info(cfld)%lvl=lvlsxml(lp,iget(210))
1083 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1090 IF(iget(208)>0.OR.iget(209)>0)
THEN
1091 IF(lvls(lp,iget(208))>0.OR.lvls(lp,iget(209))>0)
then
1098 if(grib==
"grib2" )
then
1100 fld_info(cfld)%ifld=iavblfld(iget(208))
1101 fld_info(cfld)%lvl=lvlsxml(lp,iget(208))
1102 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1104 fld_info(cfld)%ifld=iavblfld(iget(209))
1105 fld_info(cfld)%lvl=lvlsxml(lp,iget(209))
1106 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid2(ista:iend,jsta:jend)
1113 IF (iget(217)>0)
THEN
1114 IF (lvls(lp,iget(217))>0)
THEN
1117 grid1(i,j)=q2sl(i,j)
1120 if(grib==
"grib2" )
then
1122 fld_info(cfld)%ifld=iavblfld(iget(217))
1123 fld_info(cfld)%lvl=lvlsxml(lp,iget(217))
1124 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1131 IF (iget(211)>0)
THEN
1132 IF (lvls(lp,iget(211))>0)
THEN
1138 if(grib==
"grib2" )
then
1140 fld_info(cfld)%ifld=iavblfld(iget(211))
1141 fld_info(cfld)%lvl=lvlsxml(lp,iget(211))
1142 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1149 IF (iget(212)>0)
THEN
1150 IF (lvls(lp,iget(212))>0)
THEN
1156 if(grib==
"grib2" )
then
1158 fld_info(cfld)%ifld=iavblfld(iget(212))
1159 fld_info(cfld)%lvl=lvlsxml(lp,iget(212))
1160 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1166 IF (iget(213)>0)
THEN
1167 IF (lvls(lp,iget(213))>0)
THEN
1173 if(grib==
"grib2" )
then
1175 fld_info(cfld)%ifld=iavblfld(iget(213))
1176 fld_info(cfld)%lvl=lvlsxml(lp,iget(213))
1177 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1183 IF (iget(214)>0)
THEN
1184 IF (lvls(lp,iget(214))>0)
THEN
1190 if(grib==
"grib2" )
then
1192 fld_info(cfld)%ifld=iavblfld(iget(214))
1193 fld_info(cfld)%lvl=lvlsxml(lp,iget(214))
1194 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1200 IF (iget(255)>0)
THEN
1201 IF (lvls(lp,iget(255))>0)
THEN
1207 if(grib==
"grib2" )
then
1209 fld_info(cfld)%ifld=iavblfld(iget(255))
1210 fld_info(cfld)%lvl=lvlsxml(lp,iget(255))
1211 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1217 IF (iget(215)>0)
THEN
1218 IF (lvls(lp,iget(215))>0)
THEN
1224 if(grib==
"grib2" )
then
1226 fld_info(cfld)%ifld=iavblfld(iget(215))
1227 fld_info(cfld)%lvl=lvlsxml(lp,iget(215))
1228 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)
1234 IF (iget(222)>0)
THEN
1235 IF (lvls(lp,iget(222))>0)
THEN
1238 grid1(i,j)=cfrsig(i,j)
1241 if(grib==
"grib2" )
then
1243 fld_info(cfld)%ifld=iavblfld(iget(222))
1244 fld_info(cfld)%lvl=lvlsxml(lp,iget(222))
1245 datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend)