This function is a grid-to-station interpolator. It creates "station" data result by sampling a gridded data set and interpolating to a given location. That location may be provided by specifying a longitude and a latitude, or by providing a station expression.



Usage Notes

  1. The result of the function is station data.
  2. If grid_expr is a 2-D grid that varies in X and Y, then stn_expr should also be a 2-D expression that has multiple stations in the lat/lon domain. The result will be a station data set, with values interpolated from grid_expr to the station locations.
  3. If grid_expr is a 1-D grid, then only Z or T can be the varying dimension. In this case, stn_expr should be an expression that has a single location, such as "temp(stid=kdca)". Alternatively, you may provide exact longitude and latitude values.
  4. By default, the interpolation is done bi-linearly within the grid space. No weighting is done to account for real-world coordinate systems. If any of the four grid points around the station location are missing, the result will also be missing.
  5. As of version 2.0.a6, the -n option may be used to return the nearest grid point value instead of the bi-linearly interpolated value.
  6. See the section of the User's Guide on Arbitrary Cross Sections for more information on applications of gr2stn.


  1. To examine the difference between an analysis (ie, gridded data) and the original observations, one could:

    d t.3-gr2stn(t.1,t.3)

    where file 1 is gridded data, and file 3 is station data. The result would display as differences at the station locations.

  2. If one wanted to display the difference calculated in Example 1 as a contour field, one can use the oacres function to do a quick analysis of the station values:

    d oacres(t.1,t.3-gr2stn(t.1,t.3))