copyright (C) 2001 MSC-RPN COMM %%%MC2%%%subroutine latlon2 (deglat,deglon,xp,yp,ni,nj) 3 implicit none * integer ni,nj real deglat(ni,nj),deglon(ni,nj) real*8 xp(ni),yp(nj) * #include "grd.cdk"
#include "consdyn_8.cdk"
* integer i,j,gid,ezgdef_fmem,gdll,gdrls,g1,g2,g3,g4,err real*8 d2r,c1 parameter (c1 = 180.d0) real xps,yps,xp1(ni),yp1(nj) * *--------------------------------------------------------------------- * d2r = pi_8/c1 * if (Grd_proj_S.eq.'P') then do j=1,nj yps = yp(1)*1000./Grd_dx + real(j-1) do i=1,ni xps = xp(1)*1000./Grd_dx + real(i-1) call llfxy(deglat(i,j),deglon(i,j),xps,yps, $ Grd_dx,Grd_dgrw,0) deglat(i,j)= deglat(i,j) * d2r deglon(i,j)= deglon(i,j) * d2r end do end do endif * if ((Grd_proj_S.eq.'M').or.(Grd_proj_S.eq.'L')) then call cxgaig ('E',g1,g2,g3,g4,Grd_xlat1,Grd_xlon1, $ Grd_xlat2,Grd_xlon2) xp1 = xp yp1 = yp gid = ezgdef_fmem (ni,nj,'Z','E',g1,g2,g3,g4,xp1,yp1) err = gdll (gid,deglat,deglon) err = gdrls (gid) do j=1,nj do i=1,ni deglat(i,j) = deglat(i,j) * d2r deglon(i,j) = deglon(i,j) * d2r end do end do endif * *--------------------------------------------------------------------- return end