gdllsval

FORTRAN

integer gdllsval, ier
ier = gdllsval(gdid, zvals, zin, lat, lon, n)
integer gdid, n
real zvals(n), zin(*), lat(n), lon(n)

C

int c_gdllsval(int gdid, float *zvals, float *zin, float *lat, float *lon, int n)

 

Routine description

gdllsval does a bi-dimensional scalar interpolation on the values contained in zin, themselves defined on grid gdid, at selected lat/lon points. Interpolated values are returned in zvals.

Description of parameters

gdid

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

zvals

Output interpolated values. There is 1:1 relationship with zvals and lat/lon; that is, interpolated values at point lat(1), lon(1) is zvals(1).

zin

Input (source) winds. zin is assumed to have the dimensions referred by gdid (the input grid).

lat

Stream of latitude points

lon

Stream of longitude points

n

Number of points

?

Sample FORTRAN code :

We want to interpolate data from a GEM grid to selected lat-lon points. 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)
      ier = FSTLUK(zgem, key, NI, NJ, NK)
      
***   Define input grid         
      
      gdgem = ezqkdef(ni, nj, 'Z', ig1, ig2, ig3, ig4, iun)
***   Define latlon values
      lat(1)  =   45.73
      lon(1)  =  -73.75
      lat(2)  =   43.40
      lon(2)  =  -79.38
      lat(3)  =   49.18
      lon(3)  = -123.18
***   Do scalar interpolation at the latlon points
      ier = gdllsval(gdgem, zval, zgem, lat, lon, 3)

      do i=1,3
         print *, i,lat(i),lon(i),zval(i)
      enddo

Go to the list of functions, or the general index