56 use vrbls3d, only: pint, t, q, zint, alpint, pmid, exch_h, uh, &
57 vh, omga, q2, cwm, qqw, qqi, qqr, qqs, cfr, &
61 use params_mod, only: d50 , pq0, a2, a3, a4, h1, d01, d608, rgamog,&
62 h1m12, d00, h2, rd, g, gi, h99999
63 use ctlblk_mod
, only: jsta_2l, jend_2u, spval, lp1, jsta, jend, lm, &
64 grib, cfld, datapd, fld_info, me, jend_m, im, &
66 use rqstfld_mod
, only: iget, lvls, id, iavblfld, lvlsxml
67 use gridspec_mod
, only :gridtype
75 integer,
PARAMETER :: lsig=22
76 real,
PARAMETER :: ptsigo=1.0e4
82 LOGICAL donefsl1,tsldone
83 real,
dimension(im,jsta_2l:jend_2u) :: fsl, tsl, qsl, osl, usl, vsl, q2sl, &
84 fsl1, cfrsig, egrid1, egrid2
86 real,
dimension(im,jsta_2l:jend_2u) :: grid2
88 REAL sigo(lsig+1),dsigo(lsig),asigo(lsig)
90 INTEGER,
dimension(im,jsta_2l:jend_2u) :: nl1x,nl1xf
101 real,
dimension(im,jsta_2l:jend_2u) :: c1d, qw1, qi1, qr1, qs1, qg1, akh
103 integer i,j,l,ll,lp,llmh,ii,jj,jjb,jje,nhold
104 real pfsigo,apfsigo,psigo,apsigo,pnl1,pu,zu,tu,qu,qsat, &
105 rhu,tvru,tvrabv,tabv,qabv,b,ahf,fac,pl,zl,tl,ql, &
106 rhl,tmt0,ai,bi,tvrl,tvrblo,tblo,qblo,fact, &
107 px,bf,facf,ahff,dpsig,tv,pdv,denom,denomf,pnl1f,dum
123 IF((iget(205)>0).OR.(iget(206)>0).OR. &
124 (iget(207)>0).OR.(iget(208)>0).OR. &
125 (iget(209)>0).OR.(iget(210)>0).OR. &
126 (iget(216)>0).OR.(iget(217)>0).OR. &
127 (iget(211)>0).OR.(iget(212)>0).OR. &
128 (iget(213)>0).OR.(iget(214)>0).OR. &
129 (iget(215)>0).OR.(iget(222)>0).OR. &
143 sigo(l)=sigo(l-1)+dsigo(lsig-l+2)
147 asigo(l)=0.5*(sigo(l)+sigo(l+1))
204 IF(nl1xf(i,j)==lp1.AND.pint(i,j,l)>ptsigo)
THEN
215 pnl1=pint(i,j,nl1xf(i,j))
217 llmh = nint(lmh(i,j))
218 IF(nl1xf(i,j)==1 .AND. t(i,j,1)<spval &
219 .AND. t(i,j,2)<spval .AND. q(i,j,1)<spval &
220 .AND. q(i,j,2)<spval)
THEN
223 tu=d50*(t(i,j,1)+t(i,j,2))
224 qu=d50*(q(i,j,1)+q(i,j,2))
225 qsat=pq0/pu*exp(a2*(tu-a3)/(tu-a4))
237 tvrabv=tvru*(pfsigo/pu)**rgamog
238 tabv=tvrabv/(h1+d608*qu)
239 qsat=pq0/pfsigo*exp(a2*(tabv-a3)/(tabv-a4))
241 qabv =max(h1m12,qabv)
247 ELSEIF(nl1xf(i,j)==lp1 .AND. t(i,j,lm-1)<spval &
248 .AND. t(i,j,lm-2)<spval .AND. q(i,j,lm-1)<spval &
249 .AND. q(i,j,lm-2)<spval)
THEN
252 tl=d50*(t(i,j,lm-2)+t(i,j,lm-1))
253 ql=d50*(q(i,j,lm-2)+q(i,j,lm-1))
257 qsat=pq0/pl*exp(a2*(tl-a3)/(tl-a4))
268 tvrl =tl*(h1+d608*ql)
269 tvrblo=tvrl*(pfsigo/pl)**rgamog
270 tblo =tvrblo/(h1+d608*ql)
271 qsat=pq0/pfsigo*exp(a2*(tblo-a3)/(tblo-a4))
273 qblo =max(h1m12,qblo)
279 ELSEIF(t(i,j,nl1xf(i,j))<spval &
280 & .AND. q(i,j,nl1xf(i,j))<spval)
THEN
282 b =t(i,j,nl1xf(i,j))*(h1+d608*q(i,j,nl1xf(i,j)))
283 denom=(alpint(i,j,nl1xf(i,j)+1)-alpint(i,j,nl1xf(i,j)-1))
285 ahf =(b-t(i,j,nl1xf(i,j)-1)*(h1+d608*q(i,j,nl1xf(i,j)-1))) &
287 fac =h2*log(pmid(i,j,nl1xf(i,j)))
291 if(donefsl1)fsl1(i,j)=(pnl1-pfsigo)/(pfsigo+pnl1) &
292 *((apfsigo+alpint(i,j,nl1xf(i,j))-fac)*ahf+b)*rd*h2 &
293 +zint(i,j,nl1xf(i,j))*g
295 IF(nl1xf(i,j)<=2 .OR. nl1xf(i,j)>(llmh+1))
THEN
298 fact=(apfsigo-log(pint(i,j,ll)))/ &
299 & (log(pint(i,j,ll))-log(pint(i,j,ll-1)))
301 IF(exch_h(i,j,ll-2)<spval .AND. exch_h(i,j,ll-1)<spval) &
302 & akh(i,j)=exch_h(i,j,ll-1)+(exch_h(i,j,ll-1) &
303 & -exch_h(i,j,ll-2))*fact
308 IF (iget(205)>0)
THEN
309 IF (lvls(1,iget(205))>0)
THEN
313 IF(fsl1(i,j)<spval)
THEN
314 grid1(i,j)=fsl1(i,j)*gi
320 if(grib==
'grib2')
then
322 fld_info(cfld)%ifld=iavblfld(iget(205))
323 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
329 IF (iget(243)>0)
THEN
330 IF (lvls(1,iget(243))>0)
THEN
337 if(grib==
"grib2" )
then
339 fld_info(cfld)%ifld=iavblfld(iget(243))
340 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
343 if(me==0)print*,
'output Heat Diffusivity'
379 llmh = nint(lmh(i,j))
380 psigo=ptsigo+asigo(lp)*(pint(i,j,llmh+1)-ptsigo)
381 IF(nl1x(i,j)==lp1.AND.pmid(i,j,l)>psigo)
THEN
391 IF(nl1x(i,j)==lp1.AND.pint(i,j,llmh+1)>=psigo)
THEN
418 llmh = nint(lmh(i,j))
419 psigo=ptsigo+asigo(lp)*(pint(i,j,llmh+1)-ptsigo)
421 IF(nl1x(i,j)<=llmh)
THEN
431 fact=(apsigo-log(pmid(i,j,ll)))/ &
432 & (log(pmid(i,j,ll))-log(pmid(i,j,ll-1)))
433 tsl(i,j)=t(i,j,ll)+(t(i,j,ll)-t(i,j,ll-1))*fact
434 IF(q(i,j,ll)<spval .AND. q(i,j,ll-1)<spval) &
435 & qsl(i,j)=q(i,j,ll)+(q(i,j,ll)-q(i,j,ll-1))*fact
436 IF(gridtype==
'A')
THEN
437 IF(uh(i,j,ll)<spval .AND. uh(i,j,ll-1)<spval) &
438 & usl(i,j)=uh(i,j,ll)+(uh(i,j,ll)-uh(i,j,ll-1))*fact
439 IF(vh(i,j,ll)<spval .AND. vh(i,j,ll-1)<spval) &
440 & vsl(i,j)=vh(i,j,ll)+(vh(i,j,ll)-vh(i,j,ll-1))*fact
442 IF(omga(i,j,ll)<spval .AND. omga(i,j,ll-1)<spval) &
443 & osl(i,j)=omga(i,j,ll)+(omga(i,j,ll)-omga(i,j,ll-1))*fact
444 IF(q2(i,j,ll)<spval .AND. q2(i,j,ll-1)<spval) &
445 & q2sl(i,j)=q2(i,j,ll)+(q2(i,j,ll)-q2(i,j,ll-1))*fact
455 IF(q2sl(i,j)<0.0) q2sl(i,j)=0.0
458 IF(cwm(i,j,ll)<spval .AND. cwm(i,j,ll-1)<spval) &
459 & c1d(i,j)=cwm(i,j,ll)+(cwm(i,j,ll)-cwm(i,j,ll-1))*fact
460 c1d(i,j)=max(c1d(i,j),h1m12)
461 IF(qqw(i,j,ll)<spval .AND. qqw(i,j,ll-1)<spval) &
462 & qw1(i,j)=qqw(i,j,ll)+(qqw(i,j,ll)-qqw(i,j,ll-1))*fact
463 qw1(i,j)=max(qw1(i,j),h1m12)
464 IF(qqi(i,j,ll)<spval .AND. qqi(i,j,ll-1)<spval) &
465 & qi1(i,j)=qqi(i,j,ll)+(qqi(i,j,ll)-qqi(i,j,ll-1))*fact
466 qi1(i,j)=max(qi1(i,j),h1m12)
467 IF(qqr(i,j,ll)<spval .AND. qqr(i,j,ll-1)<spval) &
468 & qr1(i,j)=qqr(i,j,ll)+(qqr(i,j,ll)-qqr(i,j,ll-1))*fact
469 qr1(i,j)=max(qr1(i,j),h1m12)
470 IF(qqs(i,j,ll)<spval .AND. qqs(i,j,ll-1)<spval) &
471 & qs1(i,j)=qqs(i,j,ll)+(qqs(i,j,ll)-qqs(i,j,ll-1))*fact
472 qs1(i,j)=max(qs1(i,j),h1m12)
473 IF(cfr(i,j,ll)<spval .AND. cfr(i,j,ll-1)<spval) &
474 & cfrsig(i,j)=cfr(i,j,ll)+(cfr(i,j,ll)-cfr(i,j,ll-1))*fact
475 cfrsig(i,j)=max(cfrsig(i,j),h1m12)
476 IF(qqs(i,j,ll)<spval .AND. qqs(i,j,ll-1)<spval)
THEN
477 dum=f_rimef(i,j,ll)+(f_rimef(i,j,ll)-f_rimef(i,j,ll-1))*fact
496 tl=0.5*(t(i,j,lm-2)+t(i,j,lm-1))
497 ql=0.5*(q(i,j,lm-2)+q(i,j,lm-1))
505 qsat=pq0/pl*exp(a2*(tl-a3)/(tl-a4))
519 tvrl =tl*(1.+0.608*ql)
520 tvrblo=tvrl*(psigo/pl)**rgamog
521 tblo =tvrblo/(1.+0.608*ql)
530 qsat=pq0/psigo*exp(a2*(tblo-a3)/(tblo-a4))
534 qsl(i,j) = max(1.e-12,qblo)
535 IF(gridtype==
'A')
THEN
536 usl(i,j) = uh(i,j,llmh)
537 vsl(i,j) = vh(i,j,llmh)
539 osl(i,j) = omga(i,j,llmh)
540 q2sl(i,j) = max(0.0,0.5*(q2(i,j,llmh-1)+q2(i,j,llmh)))
541 pnl1 = pint(i,j,nl1x(i,j))
562 llmh = nint(lmh(i,j))
563 psigo=ptsigo+sigo(lp+1)*(pint(i,j,llmh+1)-ptsigo)
565 IF(nl1xf(i,j)==lp1.AND.pint(i,j,l)>psigo)
THEN
577 llmh = nint(lmh(i,j))
578 pfsigo=ptsigo+sigo(lp+1)*(pint(i,j,llmh+1)-ptsigo)
579 psigo=ptsigo+asigo(lp)*(pint(i,j,llmh+1)-ptsigo)
581 pnl1f=pint(i,j,nl1xf(i,j))
583 IF(nl1xf(i,j)==1 .AND. t(i,j,1)<spval &
584 & .AND. t(i,j,2)<spval .AND. q(i,j,1)<spval &
585 & .AND. q(i,j,2)<spval)
THEN
588 tu=d50*(t(i,j,1)+t(i,j,2))
589 qu=d50*(q(i,j,1)+q(i,j,2))
593 qsat=pq0/pu*exp(a2*(tu-a3)/(tu-a4))
607 px=(pfsigo+pnl1f)*0.5
608 tvrabv=tvru*(px/pu)**rgamog
609 tabv=tvrabv/(h1+d608*qu)
618 ELSEIF(nl1xf(i,j)==lp1 .AND. t(i,j,lm-1)<spval &
619 & .AND. t(i,j,lm-2)<spval .AND. q(i,j,lm-1)<spval &
620 & .AND. q(i,j,lm-2)<spval)
THEN
628 tl=d50*(t(i,j,lm-2)+t(i,j,lm-1))
629 ql=d50*(q(i,j,lm-2)+q(i,j,lm-1))
633 qsat=pq0/pl*exp(a2*(tl-a3)/(tl-a4))
644 tvrl =tl*(h1+d608*ql)
646 px=(pfsigo+pnl1f)*0.5
647 tvrblo=tvrl*(px/pl)**rgamog
648 tblo =tvrblo/(h1+d608*ql)
658 ELSEIF(t(i,j,nl1xf(i,j))<spval &
659 & .AND. q(i,j,nl1xf(i,j))<spval)
THEN
667 bf =t(i,j,nl1xf(i,j))*(h1+d608*q(i,j,nl1xf(i,j)))
669 facf =h2*log(pmid(i,j,nl1xf(i,j)))
670 denomf=(alpint(i,j,nl1xf(i,j)+1)-alpint(i,j,nl1xf(i,j)-1))
672 ahff=(bf-t(i,j,nl1xf(i,j)-1)*(h1+d608*q(i,j,nl1xf(i,j)-1))) &
679 fsl(i,j)=(pnl1f-pfsigo)/(pfsigo+pnl1f) &
680 *((apfsigo+alpint(i,j,nl1xf(i,j))-facf)*ahff+bf)*rd*h2 &
681 +zint(i,j,nl1xf(i,j))*g
683 dpsig=(sigo(lp+1)-sigo(lp))*(pint(i,j,llmh+1)-ptsigo)
686 IF(.NOT.tsldone)
THEN
687 tsl(i,j)=(fsl1(i,j)-fsl(i,j))*psigo/(rd*dpsig)
690 IF(.NOT.tsldone)
THEN
692 tsl(i,j)=tv/(h1+d608*qsl(i,j))
694 qsat=pq0/psigo *exp(a2*(tsl(i,j)-a3)/(tsl(i,j)-a4))
698 IF(rhl>1.) qsl(i,j)=qsat
699 IF(rhl<0.01) qsl(i,j)=0.01*qsat
705 IF(nl1xf(i,j)<=2 .OR. nl1xf(i,j)>(llmh+1))
THEN
708 fact=(apfsigo-log(pint(i,j,ll)))/ &
709 & (log(pint(i,j,ll))-log(pint(i,j,ll-1)))
711 IF(exch_h(i,j,ll-2)<spval .AND. &
712 & exch_h(i,j,ll-1)<spval) &
713 & akh(i,j)=exch_h(i,j,ll-1)+(exch_h(i,j,ll-1) &
714 & -exch_h(i,j,ll-2))*fact
723 if(gridtype==
'B' .or. gridtype==
'E') &
724 call exch(pint(1:im,jsta_2l:jend_2u,lp1))
725 IF(gridtype==
'E')
THEN
732 llmh = nint(lmh(i,j))
733 IF(j == 1 .AND. i < im)
THEN
734 pdv=0.5*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1))
735 ELSE IF(j==jm .AND. i<im)
THEN
736 pdv=0.5*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1))
737 ELSE IF(i == 1 .AND. mod(j,2) == 0)
THEN
738 pdv=0.5*(pint(i,j-1,llmh+1)+pint(i,j+1,llmh+1))
739 ELSE IF(i == im .AND. mod(j,2) == 0)
THEN
740 pdv=0.5*(pint(i,j-1,llmh+1)+pint(i,j+1,llmh+1))
741 ELSE IF (mod(j,2) < 1)
THEN
742 pdv=0.25*(pint(i,j,llmh+1)+pint(i-1,j,llmh+1) &
743 & +pint(i,j+1,llmh+1)+pint(i,j-1,llmh+1))
745 pdv=0.25*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1) &
746 & +pint(i,j+1,llmh+1)+pint(i,j-1,llmh+1))
748 psigo=ptsigo+asigo(lp)*(pdv-ptsigo)
751 IF(nl1x(i,j)==lp1.AND.pmidv(i,j,l)>psigo)
THEN
761 IF(nl1x(i,j)==lp1.AND. pdv>psigo)
THEN
769 DO 230 i=1,im-mod(j,2)
770 llmh = nint(lmh(i,j))
771 IF(j == 1 .AND. i < im)
THEN
772 pdv=0.5*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1))
773 ELSE IF(j==jm .AND. i<im)
THEN
774 pdv=0.5*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1))
775 ELSE IF(i == 1 .AND. mod(j,2) == 0)
THEN
776 pdv=0.5*(pint(i,j-1,llmh+1)+pint(i,j+1,llmh+1))
777 ELSE IF(i == im .AND. mod(j,2) == 0)
THEN
778 pdv=0.5*(pint(i,j-1,llmh+1)+pint(i,j+1,llmh+1))
779 ELSE IF (mod(j,2) < 1)
THEN
780 pdv=0.25*(pint(i,j,llmh+1)+pint(i-1,j,llmh+1) &
781 & +pint(i,j+1,llmh+1)+pint(i,j-1,llmh+1))
783 pdv=0.25*(pint(i,j,llmh+1)+pint(i+1,j,llmh+1) &
784 & +pint(i,j+1,llmh+1)+pint(i,j-1,llmh+1))
786 psigo=ptsigo+asigo(lp)*(pdv-ptsigo)
794 llmh = nint(lmh(i,j))
795 IF(nl1x(i,j)<=llmh)
THEN
805 fact=(apsigo-log(pmidv(i,j,ll)))/ &
806 & (log(pmidv(i,j,ll))-log(pmidv(i,j,ll-1)))
807 IF(uh(i,j,ll)<spval .AND. uh(i,j,ll-1)<spval) &
808 & usl(i,j)=uh(i,j,ll)+(uh(i,j,ll)-uh(i,j,ll-1))*fact
809 IF(vh(i,j,ll)<spval .AND. vh(i,j,ll-1)<spval) &
810 & vsl(i,j)=vh(i,j,ll)+(vh(i,j,ll)-vh(i,j,ll-1))*fact
817 IF(uh(i,j,llmh)<spval)usl(i,j)=uh(i,j,llmh)
818 IF(vh(i,j,llmh)<spval)vsl(i,j)=vh(i,j,llmh)
822 IF(mod(jsta,2)==0)jjb=jsta+1
824 IF(mod(jend,2)==0)jje=jend-1
826 usl(im,j)=usl(im-1,j)
827 vsl(im,j)=vsl(im-1,j)
830 ELSE IF (gridtype==
'B')
THEN
837 pdv=0.25*(pint(i,j,lp1)+pint(i+1,j,lp1) &
838 +pint(i,j+1,lp1)+pint(i+1,j+1,lp1))
840 psigo=ptsigo+asigo(lp)*(pdv-ptsigo)
843 IF(nl1x(i,j)==lp1.AND.pmidv(i,j,l)>psigo)
THEN
853 IF(nl1x(i,j)==lp1.AND. pdv>psigo)
THEN
862 pdv=0.25*(pint(i,j,lp1)+pint(i+1,j,lp1) &
863 +pint(i,j+1,lp1)+pint(i+1,j+1,lp1))
864 psigo=ptsigo+asigo(lp)*(pdv-ptsigo)
872 llmh = nint(lmh(i,j))
873 IF(nl1x(i,j)<=llmh)
THEN
883 fact=(apsigo-log(pmidv(i,j,ll)))/ &
884 & (log(pmidv(i,j,ll))-log(pmidv(i,j,ll-1)))
885 IF(uh(i,j,ll)<spval .AND. uh(i,j,ll-1)<spval) &
886 & usl(i,j)=uh(i,j,ll)+(uh(i,j,ll)-uh(i,j,ll-1))*fact
887 IF(vh(i,j,ll)<spval .AND. vh(i,j,ll-1)<spval) &
888 & vsl(i,j)=vh(i,j,ll)+(vh(i,j,ll)-vh(i,j,ll-1))*fact
895 IF(uh(i,j,llmh)<spval)usl(i,j)=uh(i,j,llmh)
896 IF(vh(i,j,llmh)<spval)vsl(i,j)=vh(i,j,llmh)
929 IF(lvls(lp+1,iget(205))>0)
THEN
933 IF(fsl(i,j)<spval)
THEN
934 grid1(i,j)=fsl(i,j)*gi
940 if(grib==
"grib2" )
then
942 fld_info(cfld)%ifld=iavblfld(iget(205))
943 fld_info(cfld)%lvl=lvlsxml(lp+1,iget(205))
944 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
952 IF (iget(243)>0)
THEN
953 IF (lvls(lp+1,iget(243))>0)
THEN
958 IF(lp==(lsig+1))grid1(i,j)=0.0
961 if(grib==
"grib2" )
then
963 fld_info(cfld)%ifld=iavblfld(iget(243))
964 fld_info(cfld)%lvl=lvlsxml(lp+1,iget(243))
965 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
967 if(me==0)print*,
'output Heat Diffusivity'
974 IF(lvls(lp,iget(206))>0)
THEN
980 if(grib==
"grib2" )
then
982 fld_info(cfld)%ifld=iavblfld(iget(206))
983 fld_info(cfld)%lvl=lvlsxml(lp,iget(206))
984 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
992 IF(lvls(lp,iget(216))>0)
THEN
996 llmh = nint(lmh(i,j))
997 grid1(i,j)=ptsigo+asigo(lp)*(pint(i,j,llmh+1)-ptsigo)
1000 if(grib==
"grib2" )
then
1002 fld_info(cfld)%ifld=iavblfld(iget(216))
1003 fld_info(cfld)%lvl=lvlsxml(lp,iget(216))
1004 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1012 IF(lvls(lp,iget(207))>0)
THEN
1018 CALL bound(grid1,h1m12,h99999)
1019 if(grib==
"grib2" )
then
1021 fld_info(cfld)%ifld=iavblfld(iget(207))
1022 fld_info(cfld)%lvl=lvlsxml(lp,iget(207))
1023 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1031 IF(lvls(lp,iget(210))>0)
THEN
1037 if(grib==
"grib2" )
then
1039 fld_info(cfld)%ifld=iavblfld(iget(210))
1040 fld_info(cfld)%lvl=lvlsxml(lp,iget(210))
1041 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1048 IF(iget(208)>0.OR.iget(209)>0)
THEN
1049 IF(lvls(lp,iget(208))>0.OR.lvls(lp,iget(209))>0)
then
1056 if(grib==
"grib2" )
then
1058 fld_info(cfld)%ifld=iavblfld(iget(208))
1059 fld_info(cfld)%lvl=lvlsxml(lp,iget(208))
1060 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1062 fld_info(cfld)%ifld=iavblfld(iget(209))
1063 fld_info(cfld)%lvl=lvlsxml(lp,iget(209))
1064 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1071 IF (iget(217)>0)
THEN
1072 IF (lvls(lp,iget(217))>0)
THEN
1075 grid1(i,j)=q2sl(i,j)
1078 if(grib==
"grib2" )
then
1080 fld_info(cfld)%ifld=iavblfld(iget(217))
1081 fld_info(cfld)%lvl=lvlsxml(lp,iget(217))
1082 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1089 IF (iget(211)>0)
THEN
1090 IF (lvls(lp,iget(211))>0)
THEN
1096 if(grib==
"grib2" )
then
1098 fld_info(cfld)%ifld=iavblfld(iget(211))
1099 fld_info(cfld)%lvl=lvlsxml(lp,iget(211))
1100 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1107 IF (iget(212)>0)
THEN
1108 IF (lvls(lp,iget(212))>0)
THEN
1114 if(grib==
"grib2" )
then
1116 fld_info(cfld)%ifld=iavblfld(iget(212))
1117 fld_info(cfld)%lvl=lvlsxml(lp,iget(212))
1118 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1124 IF (iget(213)>0)
THEN
1125 IF (lvls(lp,iget(213))>0)
THEN
1131 if(grib==
"grib2" )
then
1133 fld_info(cfld)%ifld=iavblfld(iget(213))
1134 fld_info(cfld)%lvl=lvlsxml(lp,iget(213))
1135 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1141 IF (iget(214)>0)
THEN
1142 IF (lvls(lp,iget(214))>0)
THEN
1148 if(grib==
"grib2" )
then
1150 fld_info(cfld)%ifld=iavblfld(iget(214))
1151 fld_info(cfld)%lvl=lvlsxml(lp,iget(214))
1152 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1158 IF (iget(255)>0)
THEN
1159 IF (lvls(lp,iget(255))>0)
THEN
1165 if(grib==
"grib2" )
then
1167 fld_info(cfld)%ifld=iavblfld(iget(255))
1168 fld_info(cfld)%lvl=lvlsxml(lp,iget(255))
1169 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1175 IF (iget(215)>0)
THEN
1176 IF (lvls(lp,iget(215))>0)
THEN
1182 if(grib==
"grib2" )
then
1184 fld_info(cfld)%ifld=iavblfld(iget(215))
1185 fld_info(cfld)%lvl=lvlsxml(lp,iget(215))
1186 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)
1192 IF (iget(222)>0)
THEN
1193 IF (lvls(lp,iget(222))>0)
THEN
1196 grid1(i,j)=cfrsig(i,j)
1199 if(grib==
"grib2" )
then
1201 fld_info(cfld)%ifld=iavblfld(iget(222))
1202 fld_info(cfld)%lvl=lvlsxml(lp,iget(222))
1203 datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend)