FORALL (j=0:nlat+1,i=-1:nlon) t47(i,j) = pstadj(i+1,j)/(hxt(i+1,j
     .  )*hyt(i+1,j))
      FORALL (j=1:nlat,i=0:nlon) t49(i,j) = -3.13922461152095E-7*rdlam*
     .  hyu(i,j)*(t47(i,j)-t47(i-1,j))
      FORALL (j=0:nlat,i=1:nlon) t54(i,j) = 3.13922461152095E-7*rdth*hx
     .  v(i,j)*(t47(i-1,j)-t47(i-1,j+1))
CMIC$ DO ALL
      DO 1000 j = 1,nlat
         DO 1010 i = 1,nlon
            IF (j.LE.1) THEN
               IF (2.LE.i) THEN
                  t0(i) = 0
                  DO 1020 k = 2,nlev
                     t0(i) = t0(i)+BHYB(k)*(t49(i,1)*(PUZ(i,1,k)-PUZ(i,
     .  1,k-1))+t49(i-1,1)*(PUZ(i-1,1,k)-PUZ(i-1,1,k-1))+t54(i,1)*(PVZ(
     .  i,1,k)-PVZ(i,1,k-1)))
1020              CONTINUE
                  t44(i) = 0
                  DO 1030 k = 1,1
                     t44(i) = t44(i)+BHYB(1)*(t49(i,1)*PUZ(i,1,1)+t49(i
     .  -1,1)*PUZ(i-1,1,1)+t54(i,1)*PVZ(i,1,1))
1030              CONTINUE
                  t44(i,j) = -0.5*(t0(i)+t44(i))
               ELSE
                  IF (if(j.LE.1,if(MAX(i,j).LE.1,i-2.LT.0.AND.i.LE.1)))
     .   THEN
                     t1(i) = 0
                     DO 1040 k = 2,nlev
                        t1(i) = t1(i)+BHYB(k)*(t49(i,1)*(PUZ(i,1,k)-PUZ
     .  (i,1,k-1))+t54(i,1)*(PVZ(i,1,k)-PVZ(i,1,k-1)))
1040                 CONTINUE
                     t44(i) = 0
                     DO 1050 k = 1,1
                        t44(i) = t44(i)+BHYB(1)*(t49(i,1)*PUZ(i,1,1)+t5
     .  4(i,1)*PVZ(i,1,1))
1050                 CONTINUE
                     t44(i,j) = -0.5*(t1(i)+t44(i))
                  ENDIF
               ENDIF
            ELSE IF (2.LE.i) THEN
               t2(i,j) = 0
               DO 1060 k = 2,nlev
                  t2(i,j) = t2(i,j)+BHYB(k)*(t49(i,j)*(PUZ(i,j,k)-PUZ(i
     .  ,j,k-1))+t49(i-1,j)*(PUZ(i-1,j,k)-PUZ(i-1,j,k-1))+t54(i,j)*(PVZ
     .  (i,j,k)-PVZ(i,j,k-1))+t54(i,j-1)*(PVZ(i,j-1,k)-PVZ(i,j-1,k-1)))
1060           CONTINUE
               t44(i,j) = 0
               DO 1070 k = 1,1
                  t44(i,j) = t44(i,j)+BHYB(1)*(t49(i,j)*PUZ(i,j,1)+t49(
     .  i-1,j)*PUZ(i-1,j,1)+t54(i,j)*PVZ(i,j,1)+t54(i,j-1)*PVZ(i,j-1,1)
     .  )
1070           CONTINUE
               t44(i,j) = -0.5*(t2(i,j)+t44(i,j))
            ELSE
               IF (if(2.LE.j,if(2.LE.j.AND.i.LE.1,i-2.LT.0.AND.i.LE.1))
     .  ) THEN
                  t3(i,j) = 0
                  DO 1080 k = 2,nlev
                     t3(i,j) = t3(i,j)+BHYB(k)*(t49(i,j)*(PUZ(i,j,k)-PU
     .  Z(i,j,k-1))+t54(i,j)*(PVZ(i,j,k)-PVZ(i,j,k-1))+t54(i,j-1)*(PVZ(
     .  i,j-1,k)-PVZ(i,j-1,k-1)))
1080              CONTINUE
                  t44(i,j) = 0
                  DO 1090 k = 1,1
                     t44(i,j) = t44(i,j)+BHYB(1)*(t49(i,j)*PUZ(i,j,1)+t
     .  54(i,j)*PVZ(i,j,1)+t54(i,j-1)*PVZ(i,j-1,1))
1090              CONTINUE
                  t44(i,j) = -0.5*(t3(i,j)+t44(i,j))
               ENDIF
            ENDIF
1010     CONTINUE
1000  CONTINUE
      FORALL (j=1:nlat,i=1:nlon) psadj(i,j) = t44(i,j)
      FORALL (k=1:nlev+1,j=0:nlat+1,i=0:nlon+1) p(i,j,k) = AHYB(k)+BHYB
     .  (k)*PS(i,j)
      FORALL (k=1:nlev+1,j=0:nlat+1,i=0:nlon+1) ptl(i,j,k) = BHYB(k)*ps
     .  tl(i,j)
      FORALL (j=1:nlat,i=1:nlon+1) t16(i,j) = 0
      DO 1100 k = 1,nlev
         FORALL (j=1:nlat,i=1:nlon+1) t16(i,j) = t16(i,j)+PUZ(i-1,j,k)*
     .  (ptl(i,j,k)+ptl(i-1,j,k)-ptl(i,j,k+1)-ptl(i-1,j,k+1))+utl(i-1,j
     .  ,k)*(p(i,j,k)+p(i-1,j,k)-p(i,j,k+1)-p(i-1,j,k+1))
1100  CONTINUE
      FORALL (j=1:nlat,i=1:nlon+1) t16(i,j) = -0.5*t16(i,j)
      FORALL (k=1:nlev,j=0:nlat,i=1:nlon) t11(i,j,k) = p(i,j,k)+p(i,j+1
     .  ,k)-p(i,j,k+1)-p(i,j+1,k+1)
      FORALL (j=1:nlat+1,i=1:nlon) t20(i,j) = 0
      DO 1110 k = 1,nlev
         FORALL (j=1:nlat+1,i=1:nlon) t20(i,j) = t20(i,j)+t11(i,j-1,k)*
     .  vtl(i,j-1,k)+PVZ(i,j-1,k)*(ptl(i,j,k)+ptl(i,j-1,k)-ptl(i,j,k+1)
     .  -ptl(i,j-1,k+1))
1110  CONTINUE
      FORALL (j=1:nlat+1,i=1:nlon) t20(i,j) = -0.5*t20(i,j)
      FORALL (j=1:nlat,i=1:nlon) psttl(i,j) = -1.56961230576048E-7*((rd
     .  lam*(hyu(i,j)*t16(i+1,j)-hyu(i-1,j)*t16(i,j))+rdth*(hxv(i,j)*t2
     .  0(i,j+1)-hxv(i,j-1)*t20(i,j)))/(hxt(i,j)*hyt(i,j)))
      FORALL (j=1:nlat+1,i=1:nlon) t32(i,j) = 0
      DO 1120 k = 1,nlev
         FORALL (j=1:nlat+1,i=1:nlon) t32(i,j) = t32(i,j)+t11(i,j-1,k)*
     .  PVZ(i,j-1,k)
1120  CONTINUE
      FORALL (j=1:nlat+1,i=1:nlon) t32(i,j) = -0.5*t32(i,j)
      FORALL (k=1:nlev,j=1:nlat,i=0:nlon) t45(i,j,k) = 0.5*(p(i,j,k)+p(
     .  i+1,j,k)-p(i,j,k+1)-p(i+1,j,k+1))
      FORALL (j=1:nlat,i=1:nlon+1) t28(i,j) = -nil
      FORALL (j=1:nlat,i=1:nlon) PDPSDT(i,j) = -1.56961230576048E-7*((r
     .  dlam*(hyu(i,j)*t28(i+1,j)-hyu(i-1,j)*t28(i,j))+rdth*(hxv(i,j)*t
     .  32(i,j+1)-hxv(i,j-1)*t32(i,j)))/(hxt(i,j)*hyt(i,j)))
      FORALL (k=1:nlev,j=1:nlat,i=1:nlon) uadj(i,j,k) = -t45(i,j,k)*t49
     .  (i,j)
      FORALL (k=1:nlev,j=1:nlat,i=1:nlon) vadj(i,j,k) = -0.5*t11(i,j,k)
     .  *t54(i,j)