gdllfxy

FORTRAN

integer gdllfxy, ier
ier = gdllfxy(gdid, lat, lon, x, y, n)
integer gdid, n
real lat(n), lon(n), x(n), y(n)

C

int c_gdllfxy(int gdid,  float *lat, float *lon, float *x, float *y, int npts)

Routine description

gdllfxy computes, on grid gdid, the lat-lon coordinates of the points defined in arrays x and y. The grid coordinates follow the FORTRAN convention, where the first grid point is at (1,1) and the last is at (ni, nj).

Description of parameters

gdid

a valid grid identifier (returned by ezqkdef or ezgdef) that will be used as the source (input) grid.

lat, lon

Stream of latitude and longitude points.

x,y

Position of the points on the grid, in grid coordinates.

n

Number of points

?

Sample FORTRAN code :

The following code computes the lat-lon coordinates of each grid point on a GEM grid. It does essentially the same work as gdll. Assume necessary memory space has been allocated.

      datev  = -1
      etiket = '        '
      typvar = ' '
      nomvar = 'GZ'
      ip1 = 500
      ip2 = 0
      ip3 = -1
      iun = 13
      
***   read fld info and data
      key = FSTINF(iun, NI, NJ, NK, datev, etiket, ip1, ip2, ip3, typvar, nomvar) 
      ier = FSTPRM(key, DATEO, DEET, NPAS, NI, NJ, NK, NBITS, DATYP, IP1,
     $     IP2, IP3, TYPVAR, NOMVAR, ETIKET, GRTYP, IG1, IG2, IG3,
     $     IG4, SWA, LNG, DLTF, UBC, EX1, EX2, EX3)
***   Define input grid         
      
      gdgem = ezqkdef(nigem,njgem ,'Z',ig1, ig2, ig3, ig4, iun)
***   Define latlon values and wind speed/directions
      do j=1,njgem
         do i=1,nigem
            x(i,j) = i *1.0 
            y(i,j) = j *1.0
         enddo
      enddo    
   
      ier = gdllfxy(gdgem, lat, lon, x, y, nigem*njgem)

Go to the list of functions, or the general index.