      subroutine geopol(vm)
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c     this subroutine specifies the geostrophically balanced   c
c     initial condition.                                       c
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

      include "slgcm.slgprm"
      include "slgcm.slgprg"
      include "slgcm.slgcon"
      include "slgcm.slgclm"

      do ii=1,im
         do jj=1, jm
            i = (jj-1)*imp3 + ii
            gtp(i,1) = twooma*vm*sphu(i,1)*sphu(i,1)*sphu(i,1)
     #              *cphu(i,1)*slm(ii,2)
            un0(i,1) = -vm*slm(ii,1)*sphu(i,1)
     #              *(4.0*cphu(i,1)*cphu(i,1) - 1.0)
         enddo            
      enddo

      do ii=1,im
         do jj=1, jmm1
            i = (jj-1)*imp3 + ii
            vn0(i,1) = vm*clm(ii,2)*sphv(i,1)*sphv(i,1)
         enddo
      enddo

      call wrap(1,jm,gtp)
      call wrap(1,jm,un0)
      call wrap(1,jmm1,vn0)

      call filpu(un0)
      call filpv(vn0)

      return
      end
