gdllwdal
FORTRAN integer gdllwdval, ier ier = gdllwdval(gdid, spdvals, wdvals, uuin, vvin, lat, lon, n) integer gdid, n real spdvals(n), wdvals(n), uuin(*), vvin(*), lat(n), lon(n) |
C int c_gdllwdval(int gdid, float *spdvals, float *wdvals, float *uuin, float *vvin, float *lat, float *lon, int n) |
Routine description
gdllwdval does a bi-dimensional vector interpolation on the values contained in uuin and vvin, themselves defined on grid gdid, at selected lat/lon points. Interpolated values are returned in spdvals and wdvals, in meteorological wind speed and direction. |
Description of parameters
gdid |
a valid grid identifier (returned by ezqkdef or ezgdef) that will be used as the source (input) grid. |
spdvals, wdvals |
Output interpolated winds, in grid coordinates based on gdid. There is 1:1 relationship with zvals and lat/lon; that is, interpolated values at point lat(1), lon(1) is zvals(1). |
uuin, vvin |
Input (source) winds. uuin and vvin are 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(nigem,njgem ,'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 vector interpolation, returned values are in x,y coordinates, *** uval is x-component (east-west) of the wind *** vval is y-component (north-south) of the wind call gdllvval(gdgem, uuvals, vvals, uugem, vvgem, lat, lon, 3) *** Do vector interpolation, returned values are in wind-speed coordinates. *** spdvals is wind speed. *** wdvals is meteorological wind direction call gdllwdval(gdgem, spdvals, wdvals, uugem, vvgem, lat, lon, 3) do i=1,3 print *, lat(i),lon(i), uvals(i),vvals(i) print *, lat(i),lon(i), wdvals(i), sdvals(i) print * enddo
Go to the list of functions, or the general index.