The ecCodes C header file. More...
Macros | |
#define | CODES_KEYS_ITERATOR_ALL_KEYS 0 |
#define | CODES_KEYS_ITERATOR_SKIP_READ_ONLY (1<<0) |
#define | CODES_KEYS_ITERATOR_SKIP_OPTIONAL (1<<1) |
#define | CODES_KEYS_ITERATOR_SKIP_EDITION_SPECIFIC (1<<2) |
#define | CODES_KEYS_ITERATOR_SKIP_CODED (1<<3) |
#define | CODES_KEYS_ITERATOR_SKIP_COMPUTED (1<<4) |
#define | CODES_KEYS_ITERATOR_SKIP_DUPLICATES (1<<5) |
#define | CODES_KEYS_ITERATOR_SKIP_FUNCTION (1<<6) |
#define | CODES_SUCCESS 0 |
No error. More... | |
#define | CODES_END_OF_FILE -1 |
End of resource reached. More... | |
#define | CODES_INTERNAL_ERROR -2 |
Internal error. More... | |
#define | CODES_BUFFER_TOO_SMALL -3 |
Passed buffer is too small. More... | |
#define | CODES_NOT_IMPLEMENTED -4 |
Function not yet implemented. More... | |
#define | CODES_7777_NOT_FOUND -5 |
Missing 7777 at end of message. More... | |
#define | CODES_ARRAY_TOO_SMALL -6 |
Passed array is too small. More... | |
#define | CODES_FILE_NOT_FOUND -7 |
File not found. More... | |
#define | CODES_CODE_NOT_FOUND_IN_TABLE -8 |
Code not found in code table. More... | |
#define | CODES_WRONG_ARRAY_SIZE -9 |
Array size mismatch. More... | |
#define | CODES_NOT_FOUND -10 |
Key/value not found. More... | |
#define | CODES_IO_PROBLEM -11 |
Input output problem. More... | |
#define | CODES_INVALID_MESSAGE -12 |
Message invalid. More... | |
#define | CODES_DECODING_ERROR -13 |
Decoding invalid. More... | |
#define | CODES_ENCODING_ERROR -14 |
Encoding invalid. More... | |
#define | CODES_NO_MORE_IN_SET -15 |
Code cannot unpack because of string too small. More... | |
#define | CODES_GEOCALCULUS_PROBLEM -16 |
Problem with calculation of geographic attributes. More... | |
#define | CODES_OUT_OF_MEMORY -17 |
Out of memory. More... | |
#define | CODES_READ_ONLY -18 |
Value is read only. More... | |
#define | CODES_INVALID_ARGUMENT -19 |
Invalid argument. More... | |
#define | CODES_NULL_HANDLE -20 |
Null handle. More... | |
#define | CODES_INVALID_SECTION_NUMBER -21 |
Invalid section number. More... | |
#define | CODES_VALUE_CANNOT_BE_MISSING -22 |
Value cannot be missing. More... | |
#define | CODES_WRONG_LENGTH -23 |
Wrong message length. More... | |
#define | CODES_INVALID_TYPE -24 |
Invalid key type. More... | |
#define | CODES_WRONG_STEP -25 |
Unable to set step. More... | |
#define | CODES_WRONG_STEP_UNIT -26 |
Wrong units for step (step must be integer) More... | |
#define | CODES_INVALID_FILE -27 |
Invalid file id. More... | |
#define | CODES_INVALID_GRIB -28 |
Invalid grib id. More... | |
#define | CODES_INVALID_INDEX -29 |
Invalid index id. More... | |
#define | CODES_INVALID_ITERATOR -30 |
Invalid iterator id. More... | |
#define | CODES_INVALID_KEYS_ITERATOR -31 |
Invalid keys iterator id. More... | |
#define | CODES_INVALID_NEAREST -32 |
Invalid nearest id. More... | |
#define | CODES_INVALID_ORDERBY -33 |
Invalid order by. More... | |
#define | CODES_MISSING_KEY -34 |
Missing a key from the fieldset. More... | |
#define | CODES_OUT_OF_AREA -35 |
The point is out of the grid area. More... | |
#define | CODES_CONCEPT_NO_MATCH -36 |
Concept no match. More... | |
#define | CODES_HASH_ARRAY_NO_MATCH -37 |
Hash array no match. More... | |
#define | CODES_NO_DEFINITIONS -38 |
Definitions files not found. More... | |
#define | CODES_WRONG_TYPE -39 |
Wrong type while packing. More... | |
#define | CODES_END -40 |
End of resource. More... | |
#define | CODES_NO_VALUES -41 |
Unable to code a field without values. More... | |
#define | CODES_WRONG_GRID -42 |
Grid description is wrong or inconsistent. More... | |
#define | CODES_END_OF_INDEX -43 |
End of index reached. More... | |
#define | CODES_NULL_INDEX -44 |
Null index. More... | |
#define | CODES_PREMATURE_END_OF_FILE -45 |
End of resource reached when reading message. More... | |
#define | CODES_INTERNAL_ARRAY_TOO_SMALL -46 |
An internal array is too small. More... | |
#define | CODES_MESSAGE_TOO_LARGE -47 |
Message is too large for the current architecture. More... | |
#define | CODES_CONSTANT_FIELD -48 |
Constant field. More... | |
#define | CODES_SWITCH_NO_MATCH -49 |
Switch unable to find a matching case. More... | |
#define | CODES_UNDERFLOW -50 |
Underflow. More... | |
#define | CODES_MESSAGE_MALFORMED -51 |
Message malformed. More... | |
#define | CODES_CORRUPTED_INDEX -52 |
Index is corrupted. More... | |
#define | CODES_INVALID_BPV -53 |
Invalid number of bits per value. More... | |
#define | CODES_DIFFERENT_EDITION -54 |
Edition of two messages is different. More... | |
#define | CODES_VALUE_DIFFERENT -55 |
Value is different. More... | |
#define | CODES_INVALID_KEY_VALUE -56 |
Invalid key value. More... | |
#define | CODES_STRING_TOO_SMALL -57 |
String is smaller than requested. More... | |
#define | CODES_WRONG_CONVERSION -58 |
Wrong type conversion. More... | |
#define | CODES_MISSING_BUFR_ENTRY -59 |
Missing BUFR table entry for descriptor. More... | |
#define | CODES_NULL_POINTER -60 |
Null pointer. More... | |
#define | CODES_ATTRIBUTE_CLASH -61 |
Attribute is already present, cannot add. More... | |
#define | CODES_TOO_MANY_ATTRIBUTES -62 |
Too many attributes. More... | |
#define | CODES_ATTRIBUTE_NOT_FOUND -63 |
Attribute not found. More... | |
#define | CODES_UNSUPPORTED_EDITION -64 |
Edition not supported. More... | |
#define | CODES_OUT_OF_RANGE -65 |
Value out of coding range. More... | |
#define | CODES_WRONG_BITMAP_SIZE -66 |
Size of bitmap is incorrect. More... | |
Functions | |
codes_index * | codes_index_new_from_file (codes_context *c, char *filename, const char *keys, int *err) |
Create a new index form a file. More... | |
codes_index * | codes_index_new (codes_context *c, const char *keys, int *err) |
Create a new index based on a set of keys. More... | |
int | codes_index_add_file (grib_index *index, const char *filename) |
Indexes the file given in argument in the index given in argument. More... | |
int | codes_index_get_size (codes_index *index, const char *key, size_t *size) |
Get the number of distinct values of the key in argument contained in the index. More... | |
int | codes_index_get_long (codes_index *index, const char *key, long *values, size_t *size) |
Get the distinct values of the key in argument contained in the index. More... | |
int | codes_index_get_double (codes_index *index, const char *key, double *values, size_t *size) |
Get the distinct values of the key in argument contained in the index. More... | |
int | codes_index_get_string (codes_index *index, const char *key, char **values, size_t *size) |
Get the distinct values of the key in argument contained in the index. More... | |
int | codes_index_select_long (codes_index *index, const char *key, long value) |
Select the message subset with key==value. More... | |
int | codes_index_select_double (codes_index *index, const char *key, double value) |
Select the message subset with key==value. More... | |
int | codes_index_select_string (codes_index *index, const char *key, char *value) |
Select the message subset with key==value. More... | |
codes_handle * | codes_handle_new_from_index (codes_index *index, int *err) |
Create a new handle from an index after having selected the key values. More... | |
void | codes_index_delete (codes_index *index) |
Delete the index. More... | |
int | codes_count_in_file (codes_context *c, FILE *f, int *n) |
Counts the messages contained in a file resource. More... | |
grib_handle * | codes_handle_new_from_file (grib_context *c, FILE *f, ProductKind product, int *error) |
Create a handle from a file resource. More... | |
grib_handle * | codes_grib_handle_new_from_file (grib_context *c, FILE *f, int *error) |
Create a GRIB handle from a file resource. More... | |
grib_handle * | codes_bufr_handle_new_from_file (grib_context *c, FILE *f, int *error) |
Create a BUFR handle from a file resource. More... | |
int | codes_write_message (codes_handle *h, const char *file, const char *mode) |
Write a coded message to a file. More... | |
codes_handle * | codes_handle_new_from_message (codes_context *c, void *data, size_t data_len) |
Create a handle from a user message in memory. More... | |
codes_handle * | codes_grib_handle_new_from_multi_message (codes_context *c, void **data, size_t *data_len, int *error) |
Create a handle from a user message in memory. More... | |
codes_handle * | codes_handle_new_from_message_copy (codes_context *c, const void *data, size_t data_len) |
Create a handle from a user message. More... | |
codes_handle * | codes_grib_handle_new_from_samples (codes_context *c, const char *res_name) |
Create a handle from a GRIB message contained in a samples directory. More... | |
codes_handle * | codes_bufr_handle_new_from_samples (codes_context *c, const char *res_name) |
Create a handle from a BUFR message contained in a samples directory. More... | |
codes_handle * | codes_handle_clone (codes_handle *h) |
Clone an existing handle using the context of the original handle, The message is copied and reparsed. More... | |
int | codes_handle_delete (codes_handle *h) |
Frees a handle, also frees the message if it is not a user message. More... | |
codes_multi_handle * | codes_grib_multi_handle_new (codes_context *c) |
Create an empty multi-field GRIB handle. More... | |
int | codes_grib_multi_handle_append (codes_handle *h, int start_section, codes_multi_handle *mh) |
Append the sections starting with start_section of the message pointed by h at the end of the multi-field GRIB handle mh. More... | |
int | codes_grib_multi_handle_delete (codes_multi_handle *mh) |
Delete multi-field GRIB handle. More... | |
int | codes_grib_multi_handle_write (codes_multi_handle *mh, FILE *f) |
Write a multi-field GRIB handle in a file. More... | |
int | codes_get_message (codes_handle *h, const void **message, size_t *message_length) |
getting the message attached to a handle More... | |
int | codes_get_message_copy (codes_handle *h, void *message, size_t *message_length) |
getting a copy of the message attached to a handle More... | |
codes_iterator * | codes_grib_iterator_new (codes_handle *h, unsigned long flags, int *error) |
Create a new iterator from a GRIB handle, using current geometry and values. More... | |
int | codes_grib_get_data (codes_handle *h, double *lats, double *lons, double *values) |
Get latitude/longitude and data values. More... | |
int | codes_grib_iterator_next (codes_iterator *i, double *lat, double *lon, double *value) |
Get the next value from an iterator. More... | |
int | codes_grib_iterator_previous (codes_iterator *i, double *lat, double *lon, double *value) |
Get the previous value from an iterator. More... | |
int | codes_grib_iterator_has_next (codes_iterator *i) |
Test procedure for values in an iterator. More... | |
int | codes_grib_iterator_reset (codes_iterator *i) |
Test procedure for values in an iterator. More... | |
int | codes_grib_iterator_delete (codes_iterator *i) |
Frees an iterator from memory. More... | |
codes_nearest * | codes_grib_nearest_new (codes_handle *h, int *error) |
Create a new nearest from a handle, using current geometry . More... | |
int | codes_grib_nearest_find (codes_nearest *nearest, codes_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. More... | |
int | codes_grib_nearest_delete (codes_nearest *nearest) |
Frees an nearest from memory. More... | |
int | codes_grib_nearest_find_multiple (codes_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. More... | |
int | codes_get_offset (codes_handle *h, const char *key, size_t *offset) |
Get the number offset of a key, in a message if several keys of the same name are present, the offset of the last one is returned. More... | |
int | codes_get_size (codes_handle *h, const char *key, size_t *size) |
Get the number of coded value from a key, if several keys of the same name are present, the total sum is returned. More... | |
int | codes_get_length (codes_handle *h, const char *key, size_t *length) |
Get the length of the string representation of the key, if several keys of the same name are present, the maximum length is returned. More... | |
int | codes_get_long (codes_handle *h, const char *key, long *value) |
Get a long value from a key, if several keys of the same name are present, the last one is returned. More... | |
int | codes_get_double (codes_handle *h, const char *key, double *value) |
Get a double value from a key, if several keys of the same name are present, the last one is returned. More... | |
int | codes_get_double_element (codes_handle *h, const char *key, int i, double *value) |
Get as double the i-th element of the "key" array. More... | |
int | codes_get_double_elements (codes_handle *h, const char *key, int *i, long size, double *value) |
Get as double array the elements of the "key" array whose indexes are listed in the input array i. More... | |
int | codes_get_string (codes_handle *h, const char *key, char *mesg, size_t *length) |
Get a string value from a key, if several keys of the same name are present, the last one is returned. More... | |
int | codes_get_bytes (codes_handle *h, const char *key, unsigned char *bytes, size_t *length) |
Get raw bytes values from a key. More... | |
int | codes_get_double_array (codes_handle *h, const char *key, double *vals, size_t *length) |
Get double array values from a key. More... | |
int | codes_get_long_array (codes_handle *h, const char *key, long *vals, size_t *length) |
Get long array values from a key. More... | |
int | codes_copy_namespace (codes_handle *dest, const char *name, codes_handle *src) |
Copy the keys belonging to a given namespace from a source handle to a destination handle. More... | |
int | codes_set_long (codes_handle *h, const char *key, long val) |
Set a long value from a key. More... | |
int | codes_set_double (codes_handle *h, const char *key, double val) |
Set a double value from a key. More... | |
int | codes_set_string (codes_handle *h, const char *key, const char *mesg, size_t *length) |
Set a string value from a key. More... | |
int | codes_set_bytes (codes_handle *h, const char *key, const unsigned char *bytes, size_t *length) |
Set a bytes array from a key. More... | |
int | codes_set_double_array (codes_handle *h, const char *key, const double *vals, size_t length) |
Set a double array from a key. More... | |
int | codes_set_force_double_array (codes_handle *h, const char *key, const double *vals, size_t length) |
Same as codes_set_double_array but allows setting of READ-ONLY keys like codedValues. More... | |
int | codes_set_long_array (codes_handle *h, const char *key, const long *vals, size_t length) |
Set a long array from a key. More... | |
void | codes_dump_content (codes_handle *h, FILE *out, const char *mode, unsigned long option_flags, void *arg) |
Print all keys, with the context print procedure and dump mode to a resource. More... | |
void | codes_dump_action_tree (codes_context *c, FILE *f) |
Print all keys from the parsed definition files available in a context. More... | |
codes_context * | codes_context_get_default (void) |
Get the static default context. More... | |
void | codes_context_delete (codes_context *c) |
Frees the cached definition files of the context. More... | |
void | codes_gts_header_on (codes_context *c) |
Set the GTS header mode on. More... | |
void | codes_gts_header_off (codes_context *c) |
Set the GTS header mode off. More... | |
void | codes_gribex_mode_on (codes_context *c) |
Set the GRIBEX mode on. More... | |
int | codes_get_gribex_mode (codes_context *c) |
Get the GRIBEX mode. More... | |
void | codes_gribex_mode_off (codes_context *c) |
Set the GRIBEX mode off. More... | |
void | codes_context_set_definitions_path (grib_context *c, const char *path) |
Sets the search path for definition files. More... | |
void | codes_context_set_samples_path (grib_context *c, const char *path) |
Sets the search path for sample files. More... | |
void | codes_grib_multi_support_on (codes_context *c) |
Turn on support for multiple fields in single GRIB messages. More... | |
void | codes_grib_multi_support_off (codes_context *c) |
Turn off support for multiple fields in single GRIB messages. More... | |
void | codes_grib_multi_support_reset_file (codes_context *c, FILE *f) |
Reset file handle in multiple GRIB field support mode. More... | |
long | codes_get_api_version (void) |
Get the API version. More... | |
const char * | codes_get_git_sha1 (void) |
Get the Git version control SHA1 identifier. More... | |
void | codes_print_api_version (FILE *out) |
Prints the API version. More... | |
codes_keys_iterator * | codes_keys_iterator_new (codes_handle *h, unsigned long filter_flags, const char *name_space) |
int | codes_keys_iterator_next (codes_keys_iterator *kiter) |
const char * | codes_keys_iterator_get_name (codes_keys_iterator *kiter) |
int | codes_keys_iterator_delete (codes_keys_iterator *kiter) |
int | codes_keys_iterator_rewind (codes_keys_iterator *kiter) |
const char * | codes_get_error_message (int code) |
Convert an error code into a string. More... | |
The ecCodes C header file.
This is the only file that must be included to use the ecCodes library from C.
void codes_dump_action_tree | ( | codes_context * | c, |
FILE * | f | ||
) |
Print all keys from the parsed definition files available in a context.
f | : the File used to print the keys on |
c | : the context that contains the cached definition files to be printed |
void codes_dump_content | ( | codes_handle * | h, |
FILE * | out, | ||
const char * | mode, | ||
unsigned long | option_flags, | ||
void * | arg | ||
) |
Print all keys, with the context print procedure and dump mode to a resource.
h | : the handle to be printed |
out | : output file handle |
mode | : available dump modes are: debug wmo c_code |
option_flags | : all the CODES_DUMP_FLAG_x flags can be used |
arg | : used to provide a format to output data (experimental) |
long codes_get_api_version | ( | void | ) |
Get the API version.
Get the API version.
Returns the version of the api as a string in the format "major.minor.revision".
Referenced by ecCodes::codes_index_get(), and ecCodes::codes_index_select().
const char* codes_get_error_message | ( | int | code | ) |
Convert an error code into a string.
code | : the error code |
const char* codes_get_git_sha1 | ( | void | ) |
Get the Git version control SHA1 identifier.
void codes_print_api_version | ( | FILE * | out | ) |
Prints the API version.