subroutine cc2gxy(stcprm, x,y, ue,vn, ug,vg)
      parameter (sin1dg=.017452406437284)
      real stcprm(15)
      real norm
      call cpolxy(stcprm, x,y, enx,eny,enz)
      norm = sqrt(enx*enx + eny*eny)
      if (norm .le. sin1dg) then
        call cgrnxy(stcprm, x,y, enx,eny,enz)
        norm = sqrt(enx*enx + eny*eny)
      endif
      enx = enx/norm
      eny = eny/norm
C* CHANGE MADE 3/9/99 TO ALLOW UG,VG AND UE,VN TO USE SAME STORAGE
      temp = enx * vn + eny * ue
      vg = eny * vn - enx * ue
      ug = temp
C* WITHOUT INTERFERING WITH OTHER
      return
      end