Page tree

GRIB-API support is being discontinued at the end of 2018. Please consider upgrading to ecCodes


Skip to end of metadata
Go to start of metadata

Functions

grib_iterator grib_iterator_new (grib_handle *h, unsigned long flags, int *error)
  Create a new iterator from a handle, using current geometry and values.
int  grib_iterator_next (grib_iterator *i, double *lat, double *lon, double *value)
  Get the next value from an iterator.
int  grib_iterator_previous (grib_iterator *i, double *lat, double *lon, double *value)
  Get the previous value from an iterator.
int  grib_iterator_has_next (grib_iterator *i)
  Test procedure for values in an iterator.
int  grib_iterator_reset (grib_iterator *i)
  Test procedure for values in an iterator.
int  grib_iterator_delete (grib_iterator *i)
  Frees an iterator from memory.
grib_nearest grib_nearest_new (grib_handle *h, int *error)
  Create a new nearest from a handle, using current geometry .
int  grib_nearest_find (grib_nearest *nearest, grib_handle *h, double inlat, double inlon, unsigned long flags, double *outlats, double *outlons, double *values, double *distances, int *indexes, size_t *len)
  Find the 4 nearest points of a latitude longitude point.
int  grib_nearest_delete (grib_nearest *nearest)
  Frees an nearest from memory.
int  grib_nearest_find_multiple (grib_handle *h, int is_lsm, double *inlats, double *inlons, long npoints, double *outlats, double *outlons, double *values, double *distances, int *indexes)
  Find the nearest point of a set of points whose latitudes and longitudes are given in the inlats, inlons arrays respectively.

Function Documentation

int grib_iterator_delete ( grib_iterator i )

Frees an iterator from memory.

Parameters:
i : the iterator
Returns:
0 if OK, integer value on error
Examples:
iterator.c.
int grib_iterator_has_next ( grib_iterator i )

Test procedure for values in an iterator.

Parameters:
i : the iterator
Returns:
boolean, 1 if the iterator still nave next values, 0 otherwise
grib_iterator* grib_iterator_new ( grib_handle h,
unsigned long  flags,
int *  error 
)

Create a new iterator from a handle, using current geometry and values.

Parameters:
h : the handle from which the iterator will be created
flags : flags for future use.
error : error code
Returns:
the new iterator, NULL if no iterator can be created
Examples:
iterator.c.
int grib_iterator_next ( grib_iterator i,
double *  lat,
double *  lon,
double *  value 
)

Get the next value from an iterator.

Parameters:
i : the iterator
lat : on output latitude in degree
lon : on output longitude in degree
value : on output value of the point
Returns:
positive value if successful, 0 if no more data are available
Examples:
iterator.c.
int grib_iterator_previous ( grib_iterator i,
double *  lat,
double *  lon,
double *  value 
)

Get the previous value from an iterator.

Parameters:
i : the iterator
lat : on output latitude in degree
lon : on output longitude in degree
value : on output value of the point*
Returns:
positive value if successful, 0 if no more data are available
int grib_iterator_reset ( grib_iterator i )

Test procedure for values in an iterator.

Parameters:
i : the iterator
Returns:
0 if OK, integer value on error
int grib_nearest_delete ( grib_nearest nearest )

Frees an nearest from memory.

Parameters:
nearest : the nearest
Returns:
0 if OK, integer value on error
Examples:
nearest.c.
int grib_nearest_find ( grib_nearest nearest,
grib_handle h,
double  inlat,
double  inlon,
unsigned long  flags,
double *  outlats,
double *  outlons,
double *  values,
double *  distances,
int *  indexes,
size_t *  len 
)

Find the 4 nearest points of a latitude longitude point.

The flags are provided to speed up the process of searching. If you are sure that the point you are asking for is not changing from a call to another you can use GRIB_NEAREST_SAME_POINT. The same is valid for the grid. Flags can be used together doing a bitwise OR. The distances are given in kilometres.

Parameters:
nearest : nearest structure
h : handle from which geography and data values are taken
inlat : latitude of the point to search for
inlon : longitude of the point to search for
flags : GRIB_NEAREST_SAME_POINT, GRIB_NEAREST_SAME_GRID
outlats : returned array of latitudes of the nearest points
outlons : returned array of longitudes of the nearest points
values : returned array of data values of the nearest points
distances : returned array of distances from the nearest points
indexes : returned array of indexes of the nearest points
len : size of the arrays
Returns:
0 if OK, integer value on error
Examples:
nearest.c.
int grib_nearest_find_multiple ( grib_handle h,
int  is_lsm,
double *  inlats,
double *  inlons,
long  npoints,
double *  outlats,
double *  outlons,
double *  values,
double *  distances,
int *  indexes 
)

Find the nearest point of a set of points whose latitudes and longitudes are given in the inlats, inlons arrays respectively.

If the flag is_lsm is 1 the nearest land point is returned and the grib passed as handle (h) is considered a land sea mask. The land nearest point is the nearest point with land sea mask value>=0.5. If no nearest land points are found the nearest value is returned. If the flag is_lsm is 0 the nearest point is returned. values, distances, indexes (in the "values" array) for the nearest points (ilons,ilats) are returned.

Parameters:
h : handle from which geography and data values are taken
is_lsm : lsm flag (1-> nearest land, 0-> nearest)
inlats : latitudes of the points to search for
inlons : longitudes of the points to search for
npoints : number of points (size of the inlats,inlons,outlats,outlons,values,distances,indexes arrays)
outlats : returned array of latitudes of the nearest points
outlons : returned array of longitudes of the nearest points
values : returned array of data values of the nearest points
distances : returned array of distances from the nearest points
indexes : returned array of indexes of the nearest points
Returns:
0 if OK, integer value on error
grib_nearest* grib_nearest_new ( grib_handle h,
int *  error 
)

Create a new nearest from a handle, using current geometry .

Parameters:
h : the handle from which the iterator will be created
error : error code
Returns:
the new nearest, NULL if no nearest can be created
Examples:
nearest.c.
  • No labels