eccodes
 All Data Structures Namespaces Files Functions Groups Pages
Data Types | Public Member Functions
eccodes Module Reference

Module eccodes
This is the Fortran90 interface for ecCodes. More...

Data Types

interface  codes_get
 Get the value for a key from a grib message. More...
 
interface  codes_get_element
 Get a value of specified index from an array key. More...
 
interface  codes_get_message_size
 Get the size of a coded message. More...
 
interface  codes_get_size
 Get the size of an array key. More...
 
interface  codes_grib_find_nearest
 Find the nearest point/points of a given latitude/longitude point. More...
 
interface  codes_grib_get_data
 Get latitude/longitude and data values. More...
 
interface  codes_index_get
 Get the distinct values of the key in argument contained in the index. More...
 
interface  codes_index_get_size
 Get the number of distinct values of the key in argument contained in the index. More...
 
interface  codes_index_select
 Select the message subset with key==value. More...
 
interface  codes_new_from_message
 Create a new message in memory from an integer or character array containting the coded message. More...
 
interface  codes_read_bytes
 Reads nbytes bytes into the buffer from a file opened with codes_open_file. More...
 
interface  codes_read_from_file
 Reads a message in the buffer array from the file opened with codes_open_file. More...
 
interface  codes_set
 Set the value for a key in a grib message. More...
 
interface  codes_write_bytes
 Write nbytes bytes from the buffer in a file opened with codes_open_file. More...
 

Public Member Functions

subroutine codes_set_missing (id, key, status)
 Wrapper for eccodes. More...
 
subroutine codes_index_create (indexid, filename, keys, status)
 Create a new index form a file. More...
 
subroutine codes_index_add_file (indexid, filename, status)
 Add a file to an index. More...
 
subroutine codes_index_get_size_long (indexid, key, size, status)
 Get the number of distinct values of the key in argument contained in the index. More...
 
subroutine codes_index_get_size_int (indexid, key, size, status)
 Get the number of distinct values of the key in argument contained in the index. More...
 
subroutine codes_index_get_int (indexid, key, values, status)
 Get the distinct values of the key in argument contained in the index. More...
 
subroutine codes_index_get_long (indexid, key, values, status)
 Get the distinct values of the key in argument contained in the index. More...
 
subroutine codes_index_get_real8 (indexid, key, values, status)
 Get the distinct values of the key in argument contained in the index. More...
 
subroutine codes_index_get_string (indexid, key, values, status)
 Get the distinct values of the key in argument contained in the index. More...
 
subroutine codes_index_select_string (indexid, key, value, status)
 Select the message subset with key==value. More...
 
subroutine codes_index_select_int (indexid, key, value, status)
 Select the message subset with key==value. More...
 
subroutine codes_index_select_long (indexid, key, value, status)
 Select the message subset with key==value. More...
 
subroutine codes_index_select_real8 (indexid, key, value, status)
 Select the message subset with key==value. More...
 
subroutine codes_new_from_index (indexid, msgid, status)
 Create a new handle from an index after having selected the key values. More...
 
subroutine codes_index_read (indexid, filename, status)
 Load an index file previously created with codes_index_write. More...
 
subroutine codes_index_write (indexid, filename, status)
 Saves an index to a file for later reuse. More...
 
subroutine codes_index_release (indexid, status)
 Delete the index. More...
 
subroutine codes_open_file (ifile, filename, mode, status)
 Open a file according to a mode. More...
 
subroutine codes_read_bytes_char (ifile, buffer, nbytes, status)
 Reads nbytes bytes into the buffer from a file opened with codes_open_file. More...
 
subroutine codes_read_bytes_char_size_t (ifile, buffer, nbytes, status)
 Reads nbytes bytes into the buffer from a file opened with codes_open_file. More...
 
subroutine codes_read_bytes_int4 (ifile, buffer, nbytes, status)
 Reads nbytes bytes into the buffer from a file opened with codes_open_file. More...
 
subroutine codes_read_bytes_int4_size_t (ifile, buffer, nbytes, status)
 Reads nbytes bytes into the buffer from a file opened with codes_open_file. More...
 
subroutine codes_read_bytes_real4 (ifile, buffer, nbytes, status)
 Reads nbytes bytes into the buffer from a file opened with codes_open_file. More...
 
subroutine codes_read_bytes_real4_size_t (ifile, buffer, nbytes, status)
 Reads nbytes bytes into the buffer from a file opened with codes_open_file. More...
 
subroutine codes_read_bytes_real8 (ifile, buffer, nbytes, status)
 Reads nbytes bytes into the buffer from a file opened with codes_open_file. More...
 
subroutine codes_read_bytes_real8_size_t (ifile, buffer, nbytes, status)
 Reads nbytes bytes into the buffer from a file opened with codes_open_file. More...
 
subroutine codes_read_from_file_int4 (ifile, buffer, nbytes, status)
 Reads a message in the buffer array from the file opened with codes_open_file. More...
 
subroutine codes_read_from_file_int4_size_t (ifile, buffer, nbytes, status)
 Reads a message in the buffer array from the file opened with codes_open_file. More...
 
subroutine codes_read_from_file_real4 (ifile, buffer, nbytes, status)
 Reads a message in the buffer array from the file opened with codes_open_file. More...
 
subroutine codes_read_from_file_real4_size_t (ifile, buffer, nbytes, status)
 Reads a message in the buffer array from the file opened with codes_open_file. More...
 
subroutine codes_read_from_file_real8 (ifile, buffer, nbytes, status)
 Reads a message in the buffer array from the file opened with codes_open_file. More...
 
subroutine codes_read_from_file_real8_size_t (ifile, buffer, nbytes, status)
 Reads a message in the buffer array from the file opened with codes_open_file. More...
 
subroutine codes_read_from_file_char (ifile, buffer, nbytes, status)
 Reads a message in the buffer array from the file opened with codes_open_file. More...
 
subroutine codes_read_from_file_char_size_t (ifile, buffer, nbytes, status)
 Reads a message in the buffer array from the file opened with codes_open_file. More...
 
subroutine codes_write_bytes_char (ifile, buffer, nbytes, status)
 Write nbytes bytes from the buffer in a file opened with codes_open_file. More...
 
subroutine codes_write_bytes_char_size_t (ifile, buffer, nbytes, status)
 Write nbytes bytes from the buffer in a file opened with codes_open_file. More...
 
subroutine codes_write_bytes_int4 (ifile, buffer, nbytes, status)
 Write nbytes bytes from the buffer in a file opened with codes_open_file. More...
 
subroutine codes_write_bytes_int4_size_t (ifile, buffer, nbytes, status)
 Write nbytes bytes from the buffer in a file opened with codes_open_file. More...
 
subroutine codes_write_bytes_real4 (ifile, buffer, nbytes, status)
 Write nbytes bytes from the buffer in a file opened with codes_open_file. More...
 
subroutine codes_write_bytes_real4_size_t (ifile, buffer, nbytes, status)
 Write nbytes bytes from the buffer in a file opened with codes_open_file. More...
 
subroutine codes_write_bytes_real8 (ifile, buffer, nbytes, status)
 Write nbytes bytes from the buffer in a file opened with codes_open_file. More...
 
subroutine codes_write_bytes_real8_size_t (ifile, buffer, nbytes, status)
 Write nbytes bytes from the buffer in a file opened with codes_open_file. More...
 
subroutine codes_close_file (ifile, status)
 Close a file. More...
 
subroutine codes_count_in_file (ifile, n, status)
 Counts the messages in a file. More...
 
subroutine codes_new_from_file (ifile, msgid, product_kind, status)
 Load in memory a message from a file. More...
 
subroutine codes_any_new_from_file (ifile, msgid, status)
 Load in memory a message from a file. More...
 
subroutine codes_grib_new_from_file (ifile, gribid, status)
 Load in memory a GRIB message from a file. More...
 
subroutine codes_bufr_new_from_file (ifile, bufrid, status)
 Load in memory a BUFR message from a file. More...
 
subroutine codes_new_from_message_char (msgid, message, status)
 Create a new message in memory from a character array containting the coded message. More...
 
subroutine codes_new_from_message_int4 (msgid, message, status)
 Create a new message in memory from an integer array containting the coded message. More...
 
subroutine codes_grib_new_from_samples (gribid, samplename, status)
 Create a new valid gribid from a GRIB sample contained in a samples directory pointed by the environment variable ECCODES_SAMPLES_PATH. More...
 
subroutine codes_bufr_new_from_samples (bufrid, samplename, status)
 Create a new valid bufrid from a BUFR sample contained in a samples directory pointed by the environment variable ECCODES_SAMPLES_PATH. More...
 
subroutine codes_release (msgid, status)
 Free the memory for the message referred as msgid. More...
 
subroutine codes_clone (msgid_src, msgid_dest, status)
 Create a copy of a message. More...
 
subroutine codes_copy_namespace (gribid_src, namespace, gribid_dest, status)
 Copy the value of all the keys belonging to a namespace from the source message to the destination message. More...
 
subroutine codes_check (status, caller, string)
 Check the status returned by a subroutine. More...
 
subroutine codes_grib_get_data_real4 (gribid, lats, lons, values, status)
 Get latitudes/longitudes/data values (real(4)). More...
 
subroutine codes_grib_get_data_real8 (gribid, lats, lons, values, status)
 Get latitudes/longitudes/data values (real(8)). More...
 
subroutine codes_keys_iterator_new (msgid, iterid, namespace, status)
 Create a new iterator on the keys. More...
 
subroutine codes_keys_iterator_next (iterid, status)
 Advance to the next keys iterator value. More...
 
subroutine codes_keys_iterator_delete (iterid, status)
 Delete a keys iterator and free memory. More...
 
subroutine codes_keys_iterator_get_name (iterid, name, status)
 Get the name of a key from a keys iterator. More...
 
subroutine codes_keys_iterator_rewind (iterid, status)
 Rewind a keys iterator. More...
 
subroutine codes_dump (msgid, status)
 Dump the content of a message. More...
 
subroutine codes_get_error_string (error, error_message, status)
 Get the error message given an error code. More...
 
subroutine codes_get_size_int (msgid, key, size, status)
 Get the size of an array key. More...
 
subroutine codes_get_size_long (msgid, key, size, status)
 Get the size of an array key. More...
 
subroutine codes_get_int (msgid, key, value, status)
 Get the integer value of a key from a message. More...
 
subroutine codes_get_long (msgid, key, value, status)
 Get the integer value of a key from a message. More...
 
subroutine codes_is_missing (msgid, key, is_missing, status)
 Check if the value of a key is MISSING. More...
 
subroutine codes_is_defined (msgid, key, is_defined, status)
 Check if a key is defined (exists in the message) More...
 
subroutine codes_get_real4 (msgid, key, value, status)
 Get the real(4) value of a key from a message. More...
 
subroutine codes_get_real8 (msgid, key, value, status)
 Get the real(8) value of a key from a message. More...
 
subroutine codes_get_string (msgid, key, value, status)
 Get the character value of a key from a message. More...
 
subroutine codes_get_string_array (msgid, key, value, status)
 Get the string array of values for a key from a message. More...
 
subroutine codes_bufr_copy_data (msgid1, msgid2, status)
 Copy data values from a BUFR message msgid1 to another message msgid2. More...
 
subroutine codes_set_string_array (msgid, key, value, status)
 Set the string values for an array key in a message. More...
 
subroutine codes_get_int_array (msgid, key, value, status)
 Get the integer array of values for a key from a message. More...
 
subroutine codes_get_long_array (msgid, key, value, status)
 Get the integer array of values for a key from a message. More...
 
subroutine codes_get_byte_array (msgid, key, value, length, status)
 Get the array of bytes (character) for a key from a message. More...
 
subroutine codes_get_real4_array (msgid, key, value, status)
 Get the real(4) array of values for a key from a message. More...
 
subroutine codes_get_real8_array (msgid, key, value, status)
 Get the real(8) array of values for a key from a message. More...
 
subroutine codes_get_real4_element (msgid, key, kindex, value, status)
 Get a real(4) value of specified index from an array key. More...
 
subroutine codes_get_real8_element (msgid, key, kindex, value, status)
 Get a real(8) value of specified index from an array key. More...
 
subroutine codes_get_real4_elements (msgid, key, kindex, value, status)
 Get the real(4) values whose indexes are stored in the array "index" from an array key. More...
 
subroutine codes_get_real8_elements (msgid, key, kindex, value, status)
 Get the real(8) values whose indexes are stored in the array "index" from an array key. More...
 
subroutine codes_set_int (msgid, key, value, status)
 Set the integer value for a key in a message. More...
 
subroutine codes_set_long (msgid, key, value, status)
 Set the integer value for a key in a message. More...
 
subroutine codes_set_real4 (msgid, key, value, status)
 Set the real(4) value for a key in a message. More...
 
subroutine codes_set_real8 (msgid, key, value, status)
 Set the real(8) value for a key in a message. More...
 
subroutine codes_set_int_array (msgid, key, value, status)
 Set the integers values for an array key in a message. More...
 
subroutine codes_set_long_array (msgid, key, value, status)
 Set the integers values for an array key in a message. More...
 
subroutine codes_set_byte_array (msgid, key, value, length, status)
 Set the array of bytes (character) for a key in a message. More...
 
subroutine codes_set_real4_array (msgid, key, value, status)
 Set the real(4) values for an array key in a message. More...
 
subroutine codes_set_real8_array (msgid, key, value, status)
 Set the real(8) values for an array key in a message. More...
 
subroutine codes_set_string (msgid, key, value, status)
 */ More...
 
subroutine codes_get_message_size_int (msgid, nbytes, status)
 Get the size of a coded message. More...
 
subroutine codes_get_message_size_size_t (msgid, nbytes, status)
 Get the size of a coded message. More...
 
subroutine codes_copy_message (msgid, message, status)
 Copy the coded message into an array. More...
 
subroutine codes_write (msgid, ifile, status)
 Write the coded message to a file. More...
 
subroutine codes_grib_multi_write (multigribid, ifile, status)
 Write a multi field message to a file. More...
 
subroutine codes_grib_multi_append (ingribid, startsection, multigribid, status)
 Append a single field grib message to a multi field grib message. More...
 
subroutine codes_grib_find_nearest_multiple (gribid, is_lsm, inlats, inlons, outlats, outlons, values, distances, indexes, status)
 Find the nearest point of a set of points whose latitudes and longitudes are given in the inlats, inlons arrays respectively. More...
 
subroutine codes_grib_find_nearest_single (gribid, is_lsm, inlat, inlon, outlat, outlon, value, distance, kindex, status)
 Find the nearest point of a given latitude/longitude point. More...
 
subroutine codes_grib_find_nearest_four_single (gribid, is_lsm, inlat, inlon, outlat, outlon, value, distance, kindex, status)
 Find the 4 nearest points of a latitude longitude point. More...
 
subroutine codes_grib_multi_support_on (status)
 Turn on the support for multiple fields in a single message. More...
 
subroutine codes_grib_multi_support_off (status)
 Turn off the support for multiple fields in a single message. More...
 
subroutine codes_gribex_mode_on (status)
 Turn on the compatibility mode with gribex. More...
 
subroutine codes_gribex_mode_off (status)
 Turn off the compatibility mode with GRIBEX. More...
 
subroutine codes_skip_computed (iterid, status)
 Skip the computed keys in a keys iterator. More...
 
subroutine codes_skip_coded (iterid, status)
 Skip the coded keys in a keys iterator. More...
 
subroutine codes_skip_duplicates (iterid, status)
 Skip the duplicated keys in a keys iterator. More...
 
subroutine codes_skip_read_only (iterid, status)
 Skip the read_only keys in a keys iterator. More...
 
subroutine codes_set_definitions_path (path, status)
 Set the definition path. More...
 
subroutine codes_set_samples_path (path, status)
 Set the samples path. More...
 
subroutine codes_copy_key (msgid_src, key, msgid_dest, status)
 Copy the value of a key from the source message to the destination message. More...
 

Detailed Description

Module eccodes
This is the Fortran90 interface for ecCodes.

Member Function/Subroutine Documentation

subroutine codes_any_new_from_file ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=kindofint), intent(out)  msgid,
integer(kind=kindofint), intent(out), optional  status 
)

Load in memory a message from a file.

The message can be accessed through its msgid and it will be available
until codes_release is called.

Parameters
ifileid of the file opened with codes_open_file
msgidid of the message loaded in memory
statusCODES_SUCCESS if OK, CODES_END_OF_FILE at the end of file, or error code
subroutine codes_bufr_copy_data ( integer(kind=kindofint), intent(in)  msgid1,
integer(kind=kindofint), intent(in)  msgid2,
integer(kind=kindofint), intent(out), optional  status 
)

Copy data values from a BUFR message msgid1 to another message msgid2.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgid1id of the message from which the data are copied
msgid2id of the message to which the data are copied
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_bufr_new_from_file ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=kindofint), intent(out)  bufrid,
integer(kind=kindofint), intent(out), optional  status 
)

Load in memory a BUFR message from a file.

The message can be accessed through its bufrid and it will be available
until codes_release is called.
Examples: bufr_get_keys.f90

Parameters
ifileid of the file opened with codes_open_file
bufridid of the BUFR loaded in memory
statusCODES_SUCCESS if OK, CODES_END_OF_FILE at the end of file, or error code
subroutine codes_bufr_new_from_samples ( integer(kind=kindofint), intent(out)  bufrid,
character(len=*), intent(in)  samplename,
integer(kind=kindofint), intent(out), optional  status 
)

Create a new valid bufrid from a BUFR sample contained in a samples directory pointed by the environment variable ECCODES_SAMPLES_PATH.

To know where the samples directory is run the codes_info tool.
In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
bufridid of the BUFR loaded in memory
samplenamename of the BUFR sample to be used
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_check ( integer(kind=kindofint), intent(in)  status,
character(len=*), intent(in)  caller,
character(len=*), intent(in)  string 
)

Check the status returned by a subroutine.

In case of error it stops the program, returns the error code to the shell and prints the error message.

Parameters
statusthe status to be checked
callername of the caller soubroutine
stringa string variable from the caller routine (e.g. key,filename)
subroutine codes_clone ( integer(kind=kindofint), intent(in)  msgid_src,
integer(kind=kindofint), intent(out)  msgid_dest,
integer(kind=kindofint), intent(out), optional  status 
)

Create a copy of a message.

Create a copy of a given message (msgid_src) giving a new
message in memory (msgid_dest) exactly identical to the original one.
In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_clone.f90

Parameters
msgid_srcmessage to be cloned
msgid_destnew message returned
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_close_file ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=kindofint), intent(out), optional  status 
)

Close a file.

If the fileid does not refer to an opened file an error code is returned in status.
Examples: grib_get_keys.f90

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileis the id of the file to be closed.
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_copy_key ( integer(kind=kindofint), intent(in)  msgid_src,
character(len=*), intent(in)  key,
integer(kind=kindofint), intent(in)  msgid_dest,
integer(kind=kindofint), intent(out), optional  status 
)

Copy the value of a key from the source message to the destination message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgid_srcsource message
msgid_destdestination message
keykey whose value is to be copied
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_copy_message ( integer(kind=kindofint), intent(in)  msgid,
character(len=1), dimension(:), intent(out)  message,
integer(kind=kindofint), intent(out), optional  status 
)

Copy the coded message into an array.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
messagearray containing the coded message to be copied
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_copy_namespace ( integer(kind=kindofint), intent(in)  gribid_src,
character(len=*), intent(in)  namespace,
integer(kind=kindofint), intent(in)  gribid_dest,
integer(kind=kindofint), intent(out), optional  status 
)

Copy the value of all the keys belonging to a namespace from the source message to the destination message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
gribid_srcsource message
gribid_destdestination message
namespacenamespace to be copied
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_count_in_file ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=kindofint), intent(out)  n,
integer(kind=kindofint), intent(out), optional  status 
)

Counts the messages in a file.

Examples: count_messages.f90

Parameters
ifileid of the file opened with codes_open_file
nnumber of messages in the file
statusCODES_SUCCESS if OK or error code
subroutine codes_dump ( integer(kind=kindofint), intent(in)  msgid,
integer(kind=kindofint), intent(out), optional  status 
)

Dump the content of a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_byte_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
character(len=1), dimension(:), intent(inout)  value,
integer(kind=kindofint), intent(out), optional  length,
integer(kind=kindofint), intent(out), optional  status 
)

Get the array of bytes (character) for a key from a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuecharacter(len=1) array of byte values
length(optional) output: number of values retrieved
status(optional) CODES_SUCCESS if OK, integer value on error
subroutine codes_get_error_string ( integer(kind=kindofint), intent(in)  error,
character(len=*), intent(out)  error_message,
integer(kind=kindofint), intent(out), optional  status 
)

Get the error message given an error code.

Parameters
errorerror code
error_messageerror message
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_int ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind = kindofint), intent(out)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the integer value of a key from a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuethe integer(4) value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_int_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindofint), dimension(:), intent(inout), allocatable  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the integer array of values for a key from a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.
Note: This function supports the allocatable array attribute

Parameters
msgidid of the message loaded in memory
keykey name
valueinteger(4) array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_long ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind = kindoflong), intent(out)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the integer value of a key from a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuethe integer(4) value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_long_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindoflong), dimension(:), intent(inout), allocatable  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the integer array of values for a key from a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.
Note: This function supports the allocatable array attribute

Parameters
msgidid of the message loaded in memory
keykey name
valueinteger(4) array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_message_size_int ( integer(kind=kindofint), intent(in)  msgid,
integer(kind=kindofint), intent(out)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Get the size of a coded message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
nbytessize in bytes of the message
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_message_size_size_t ( integer(kind=kindofint), intent(in)  msgid,
integer(kind=kindofsize_t), intent(out)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Get the size of a coded message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
nbytessize in bytes of the message
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_real4 ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
real(kind = kindoffloat), intent(out)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the real(4) value of a key from a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuethe real(4) value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_real4_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
real(kind = kindoffloat), dimension(:), intent(inout), allocatable  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the real(4) array of values for a key from a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.
Note: This function supports the allocatable array attribute

Parameters
msgidid of the message loaded in memory
keykey name
valuereal(4) array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_real4_element ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindofint), intent(in)  kindex,
real(kind = kindoffloat), intent(out)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get a real(4) value of specified index from an array key.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
kindexinteger(4) index
valuereal(4) value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_real4_elements ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindofint), dimension(:), intent(in)  kindex,
real(kind = kindoffloat), dimension(:), intent(out)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the real(4) values whose indexes are stored in the array "index" from an array key.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
kindexinteger(4) array indexes
valuereal(4) array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_real8 ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
real(kind = kindofdouble), intent(out)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the real(8) value of a key from a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuethe real(8) value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_real8_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
real(kind = kindofdouble), dimension(:), intent(inout), allocatable  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the real(8) array of values for a key from a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.
Note: This function supports the allocatable array attribute

Parameters
msgidid of the message loaded in memory
keykey name
valuereal(8) array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_real8_element ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindofint), intent(in)  kindex,
real(kind = kindofdouble), intent(out)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get a real(8) value of specified index from an array key.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
kindexinteger(4) index
valuereal(8) value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_real8_elements ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindofint), dimension(:), intent(in)  kindex,
real(kind = kindofdouble), dimension(:), intent(out)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the real(8) values whose indexes are stored in the array "index" from an array key.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
kindexinteger(4) array index
valuereal(8) array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_size_int ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindofint), intent(out)  size,
integer(kind=kindofint), intent(out), optional  status 
)

Get the size of an array key.

To get the size of a key representing an array.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keyname of the key
sizesize of the array key
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_size_long ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindoflong), intent(out)  size,
integer(kind=kindofint), intent(out), optional  status 
)

Get the size of an array key.

To get the size of a key representing an array.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keyname of the key
sizesize of the array key
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_string ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
character(len=*), intent(out)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the character value of a key from a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuethe character value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_get_string_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
character(len=*), dimension(:), intent(inout), allocatable  value,
integer(kind=kindofint), intent(out), optional  status 
)

Get the string array of values for a key from a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.
Note: This function supports the allocatable array attribute

Parameters
msgidid of the message loaded in memory
keykey name
valuestring array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_grib_find_nearest_four_single ( integer(kind=kindofint), intent(in)  gribid,
logical, intent(in)  is_lsm,
real(kind = kindofdouble), intent(in)  inlat,
real(kind = kindofdouble), intent(in)  inlon,
real(kind = kindofdouble), dimension(4), intent(out)  outlat,
real(kind = kindofdouble), dimension(4), intent(out)  outlon,
real(kind = kindofdouble), dimension(4), intent(out)  value,
real(kind = kindofdouble), dimension(4), intent(out)  distance,
integer(kind = kindofint), dimension(4), intent(out)  kindex,
integer(kind=kindofint), intent(out), optional  status 
)

Find the 4 nearest points of a latitude longitude point.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
gribidid of the GRIB loaded in memory
is_lsm.true. if the nearest land point is required otherwise .false.
inlatlatitude of the point
inlonlongitudes of the point
outlatlatitude of the nearest point
outlonlongitude of the nearest point
distancedistance between the given point and its nearest
kindexzero based index
valuevalue of the field in the nearest point
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_grib_find_nearest_multiple ( integer(kind=kindofint), intent(in)  gribid,
logical, intent(in)  is_lsm,
real(kind = kindofdouble), dimension(:), intent(in)  inlats,
real(kind = kindofdouble), dimension(:), intent(in)  inlons,
real(kind = kindofdouble), dimension(:), intent(out)  outlats,
real(kind = kindofdouble), dimension(:), intent(out)  outlons,
real(kind = kindofdouble), dimension(:), intent(out)  values,
real(kind = kindofdouble), dimension(:), intent(out)  distances,
integer(kind = kindofint), dimension(:), intent(out)  indexes,
integer(kind=kindofint), intent(out), optional  status 
)

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

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
gribidid of the message loaded in memory
is_lsm.true. if the nearest land point is required otherwise .false.
inlatsinput real(8) array of the latitudes of the points
inlonsinput real(8) array of the longitudes of the points
outlatsoutput real(8) array of the latitudes of the nearest points
outlonsoutput real(8) array of the longitudes of the nearest points
distancesoutput real(8) array of the distances
indexesoutput integer(4) array of the zero based indexes
valuesoutput real(8) array of the values
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_grib_find_nearest_single ( integer(kind=kindofint), intent(in)  gribid,
logical, intent(in)  is_lsm,
real(kind = kindofdouble), intent(in)  inlat,
real(kind = kindofdouble), intent(in)  inlon,
real(kind = kindofdouble), intent(out)  outlat,
real(kind = kindofdouble), intent(out)  outlon,
real(kind = kindofdouble), intent(out)  value,
real(kind = kindofdouble), intent(out)  distance,
integer(kind = kindofint), intent(out)  kindex,
integer(kind=kindofint), intent(out), optional  status 
)

Find the nearest point of a given latitude/longitude point.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
gribidid of the message loaded in memory
is_lsm.true. if the nearest land point is required otherwise .false.
inlatlatitude of the point
inlonlongitudes of the point
outlatlatitude of the nearest point
outlonlongitude of the nearest point
distancedistance between the given point and its nearest
kindexzero based index
valuevalue of the field in the nearest point
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_grib_get_data_real4 ( integer(kind=kindofint), intent(in)  gribid,
real ( kind = kindoffloat ), dimension(:), intent(out)  lats,
real ( kind = kindoffloat ), dimension(:), intent(out)  lons,
real ( kind = kindoffloat ), dimension(:), intent(out)  values,
integer(kind=kindofint), intent(out), optional  status 
)

Get latitudes/longitudes/data values (real(4)).

Latitudes, longitudes, data values arrays are returned. They must be properly allocated by the caller and their required dimension can be obtained with codes_get_size or by getting (with codes_get) the value of the integer key "numberOfPoints".

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
gribidid of the message loaded in memory
latslatitudes array with dimension "size"
lonslongitudes array with dimension "size"
valuesdata values array with dimension "size"
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_grib_get_data_real8 ( integer(kind=kindofint), intent(in)  gribid,
real ( kind = kindofdouble ), dimension(:), intent(out)  lats,
real ( kind = kindofdouble ), dimension(:), intent(out)  lons,
real ( kind = kindofdouble ), dimension(:), intent(out)  values,
integer(kind=kindofint), intent(out), optional  status 
)

Get latitudes/longitudes/data values (real(8)).

Latitudes, longitudes, data values arrays are returned. They must be properly allocated by the calling program/function. Their required dimension can be obtained by getting (with codes_get) the value of the integer key "numberOfPoints". In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
gribidid of the message loaded in memory
latslatitudes array
lonslongitudes array
valuesdata values array
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_grib_multi_append ( integer(kind=kindofint), intent(in)  ingribid,
integer(kind=kindofint), intent(in)  startsection,
integer(kind=kindofint), intent(out)  multigribid,
integer(kind=kindofint), intent(out), optional  status 
)

Append a single field grib message to a multi field grib message.

Only the sections with section number greather or equal "startsection" are copied from the input single message to the multi field output grib.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ingribidid of the input single grib
startsectionstarting from startsection (included) all the sections are copied from the input single grib to the output multi grib
multigribidid of the output multi filed grib
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_grib_multi_support_off ( integer(kind=kindofint), intent(out), optional  status)

Turn off the support for multiple fields in a single message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_grib_multi_support_on ( integer(kind=kindofint), intent(out), optional  status)

Turn on the support for multiple fields in a single message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_grib_multi_write ( integer(kind=kindofint), intent(in)  multigribid,
integer(kind=kindofint), intent(in)  ifile,
integer(kind=kindofint), intent(out), optional  status 
)

Write a multi field message to a file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
multigribidid of the multi field grib loaded in memory
ifilefile id of a file opened with codes_open_file
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_grib_new_from_file ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=kindofint), intent(out)  gribid,
integer(kind=kindofint), intent(out), optional  status 
)

Load in memory a GRIB message from a file.

The message can be accessed through its gribid and it will be available
until codes_release is called.
Examples: grib_get_keys.f90

Parameters
ifileid of the file opened with codes_open_file
gribidid of the GRIB loaded in memory
statusCODES_SUCCESS if OK, CODES_END_OF_FILE at the end of file, or error code
subroutine codes_grib_new_from_samples ( integer(kind=kindofint), intent(out)  gribid,
character(len=*), intent(in)  samplename,
integer(kind=kindofint), intent(out), optional  status 
)

Create a new valid gribid from a GRIB sample contained in a samples directory pointed by the environment variable ECCODES_SAMPLES_PATH.

To know where the samples directory is run the codes_info tool.
In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_samples.f90

Parameters
gribidid of the message loaded in memory
samplenamename of the sample to be used
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_gribex_mode_off ( integer(kind=kindofint), intent(out), optional  status)

Turn off the compatibility mode with GRIBEX.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_gribex_mode_on ( integer(kind=kindofint), intent(out), optional  status)

Turn on the compatibility mode with gribex.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_add_file ( integer(kind=kindofint), intent(in)  indexid,
character(len=*), intent(in)  filename,
integer(kind=kindofint), intent(out), optional  status 
)

Add a file to an index.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of the index I want to add a file to
filenamename of the file I want to add to the index
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_create ( integer(kind=kindofint), intent(inout)  indexid,
character(len=*), intent(in)  filename,
character(len=*), intent(in)  keys,
integer(kind=kindofint), intent(out), optional  status 
)

Create a new index form a file.

The file is indexed with the keys in argument.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of the newly created index
filenamename of the file of messages to be indexed
keyscomma separated list of keys for the index. The type of the key can be explicitly declared appending :l for long (or alternatively :i), :d for double, :s for string to the key name. If the type is not declared explicitly, the native type is assumed.
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_get_int ( integer(kind=kindofint), intent(in)  indexid,
character(len=*), intent(in)  key,
integer(kind=kindofint), dimension(:), intent(out)  values,
integer(kind=kindofint), intent(out), optional  status 
)

Get the distinct values of the key in argument contained in the index.

The key must belong to the index. This function is used when the type of the key was explicitly defined as long or when the native type of the key is long.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of an index created from a file. The index must have been created with the key in argument.
keykey for wich the values are returned
valuesarray of values. The array must be allocated before entering this function and its size must be enough to contain all the values.
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_get_long ( integer(kind=kindofint), intent(in)  indexid,
character(len=*), intent(in)  key,
integer(kind=kindoflong), dimension(:), intent(out)  values,
integer(kind=kindofint), intent(out), optional  status 
)

Get the distinct values of the key in argument contained in the index.

The key must belong to the index. This function is used when the type of the key was explicitly defined as long or when the native type of the key is long.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of an index created from a file. The index must have been created with the key in argument.
keykey for wich the values are returned
valuesarray of values. The array must be allocated before entering this function and its size must be enough to contain all the values.
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_get_real8 ( integer(kind=kindofint), intent(in)  indexid,
character(len=*), intent(in)  key,
real(kind=kindofdouble), dimension(:), intent(out)  values,
integer(kind=kindofint), intent(out), optional  status 
)

Get the distinct values of the key in argument contained in the index.

The key must belong to the index. This function is used when the type of the key was explicitly defined as long or when the native type of the key is long.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of an index created from a file. The index must have been created with the key in argument.
keykey for wich the values are returned
valuesarray of values. The array must be allocated before entering this function and its size must be enough to contain all the values.
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_get_size_int ( integer(kind=kindofint), intent(in)  indexid,
character(len=*), intent(in)  key,
integer(kind=kindofint), intent(out)  size,
integer(kind=kindofint), intent(out), optional  status 
)

Get the number of distinct values of the key in argument contained in the index.

The key must belong to the index.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of an index created from a file. The index must have been created with the key in argument.
keykey for which the number of values is computed
sizenumber of distinct values of the key in the index
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_get_size_long ( integer(kind=kindofint), intent(in)  indexid,
character(len=*), intent(in)  key,
integer(kind=kindoflong), intent(out)  size,
integer(kind=kindofint), intent(out), optional  status 
)

Get the number of distinct values of the key in argument contained in the index.

The key must belong to the index.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of an index created from a file. The index must have been created with the key in argument.
keykey for which the number of values is computed
sizenumber of distinct values of the key in the index
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_get_string ( integer(kind=kindofint), intent(in)  indexid,
character(len=*), intent(in)  key,
character(len=*), dimension(:), intent(out)  values,
integer(kind=kindofint), intent(out), optional  status 
)

Get the distinct values of the key in argument contained in the index.

The key must belong to the index. This function is used when the type of the key was explicitly defined as string or when the native type of the key is string.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of an index created from a file. The index must have been created with the key in argument.
keykey for wich the values are returned
valuesarray of values. The array must be allocated before entering this function and its size must be enough to contain all the values.
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_read ( integer(kind=kindofint), intent(inout)  indexid,
character(len=*), intent(in)  filename,
integer(kind=kindofint), intent(out), optional  status 
)

Load an index file previously created with codes_index_write.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of loaded index
filenamename of the index file to load
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_release ( integer(kind=kindofint), intent(in)  indexid,
integer(kind=kindofint), intent(out), optional  status 
)

Delete the index.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
indexidid of an index created from a file.
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_select_int ( integer(kind=kindofint), intent(in)  indexid,
character(len=*), intent(in)  key,
integer(kind=kindofint), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Select the message subset with key==value.

The value is a integer. The key must have been created with integer type or have integer as native type if the type was not explicitly defined in the index creation.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of an index created from a file. The index must have been created with the key in argument.
keykey to be selected
valuevalue of the key to select
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_select_long ( integer(kind=kindofint), intent(in)  indexid,
character(len=*), intent(in)  key,
integer(kind=kindoflong), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Select the message subset with key==value.

The value is a integer. The key must have been created with integer type or have integer as native type if the type was not explicitly defined in the index creation.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of an index created from a file. The index must have been created with the key in argument.
keykey to be selected
valuevalue of the key to select
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_select_real8 ( integer(kind=kindofint), intent(in)  indexid,
character(len=*), intent(in)  key,
real(kind=kindofdouble), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Select the message subset with key==value.

The value is a real. The key must have been created with real type or have real as native type if the type was not explicitly defined in the index creation.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of an index created from a file. The index must have been created with the key in argument.
keykey to be selected
valuevalue of the key to select
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_select_string ( integer(kind=kindofint), intent(in)  indexid,
character(len=*), intent(in)  key,
character(len=*), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Select the message subset with key==value.

The value is a integer. The key must have been created with string type or have string as native type if the type was not explicitly defined in the index creation.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of an index created from a file. The index must have been created with the key in argument.
keykey to be selected
valuevalue of the key to select
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_index_write ( integer(kind=kindofint), intent(inout)  indexid,
character(len=*), intent(in)  filename,
integer(kind=kindofint), intent(out), optional  status 
)

Saves an index to a file for later reuse.

Index files can be read with codes_index_read.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_index.f90

Parameters
indexidid of the index to save to file
filenamename of file to save the index to
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_is_defined ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind = kindofint), intent(out)  is_defined,
integer(kind=kindofint), intent(out), optional  status 
)

Check if a key is defined (exists in the message)

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
is_defined0->not defined, 1->defined
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_is_missing ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind = kindofint), intent(out)  is_missing,
integer(kind=kindofint), intent(out), optional  status 
)

Check if the value of a key is MISSING.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
is_missing0->not missing, 1->missing
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_keys_iterator_delete ( integer(kind=kindofint), intent(in)  iterid,
integer(kind=kindofint), intent(out), optional  status 
)

Delete a keys iterator and free memory.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
iteridkeys iterator id created with codes_keys_iterator_new
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_keys_iterator_get_name ( integer(kind=kindofint), intent(in)  iterid,
character(len=*), intent(out)  name,
integer(kind=kindofint), intent(out), optional  status 
)

Get the name of a key from a keys iterator.

If the status parameter (optional) is not given the program will exit with an error message
otherwise the error message can be gathered with codes_get_error_string.

Parameters
iteridkeys iterator id created with codes_keys_iterator_new
namekey name to be retrieved
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_keys_iterator_new ( integer(kind=kindofint), intent(in)  msgid,
integer(kind=kindofint), intent(inout)  iterid,
character(len=*), intent(in)  namespace,
integer(kind=kindofint), intent(out), optional  status 
)

Create a new iterator on the keys.

The keys iterator can be navigated to give all the key names which can then be used to get or set the key values with codes_get or codes_set. The set of keys returned can be controlled with the input variable namespace or using the functions codes_skip_read_only, codes_skip_duplicates, codes_skip_coded,codes_skip_computed. If namespace is a non-empty string only the keys belonging to that namespace are returned. Example namespaces are "ls" (to get the same default keys as the grib_ls) and "mars" to get the keys used by mars.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
iteridkeys iterator id to be used in the keys iterator functions
namespacethe namespace of the keys to search for (all the keys if empty)
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_keys_iterator_next ( integer(kind=kindofint), intent(in)  iterid,
integer(kind=kindofint), intent(out), optional  status 
)

Advance to the next keys iterator value.

Parameters
iteridkeys iterator id created with codes_keys_iterator_new
statusCODES_SUCCESS if next iterator exists, integer value if no more elements to iterate on
subroutine codes_keys_iterator_rewind ( integer(kind=kindofint), intent(in)  iterid,
integer(kind=kindofint), intent(out), optional  status 
)

Rewind a keys iterator.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
iteridkeys iterator id created with codes_keys_iterator_new
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_new_from_file ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=kindofint), intent(out)  msgid,
integer(kind=kindofint), intent(in)  product_kind,
integer(kind=kindofint), intent(out), optional  status 
)

Load in memory a message from a file.

The message can be accessed through its message ID and it will be available
until codes_release is called.
Examples: grib_get_keys.f90

Parameters
ifileid of the file opened with codes_open_file
msgidid of the message loaded in memory
product_kindOne of CODES_PRODUCT_GRIB, CODES_PRODUCT_BUFR or CODES_PRODUCT_ANY
statusCODES_SUCCESS if OK, CODES_END_OF_FILE at the end of file, or error code
subroutine codes_new_from_index ( integer(kind=kindofint), intent(in)  indexid,
integer(kind=kindofint), intent(out)  msgid,
integer(kind=kindofint), intent(out), optional  status 
)

Create a new handle from an index after having selected the key values.

All the keys belonging to the index must be selected before calling this function. Successive calls to this function will return all the handles compatible with the constraints defined selecting the values of the index keys. When no more handles are available from the index a NULL pointer is returned and the err variable is set to CODES_END_OF_INDEX.

The message can be accessed through its msgid and it will be available
until codes_release is called.
Examples: grib_index.f90

Parameters
indexidid of an index created from a file.
msgidid of the message loaded in memory
statusCODES_SUCCESS if OK, CODES_END_OF_FILE at the end of file, or error code
subroutine codes_new_from_message_char ( integer(kind=kindofint), intent(out)  msgid,
character(len=1), dimension(:), intent(in)  message,
integer(kind=kindofint), intent(out), optional  status 
)

Create a new message in memory from a character array containting the coded message.

The message can be accessed through its msgid and it will be available
until codes_release is called. A reference to the original coded
message is kept in the new message structure.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_copy_message.f90

Parameters
msgidid of the message loaded in memory
messagecharacter array containing the coded message
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_new_from_message_int4 ( integer(kind=kindofint), intent(out)  msgid,
integer(kind=4), dimension(:), intent(in)  message,
integer(kind=kindofint), intent(out), optional  status 
)

Create a new message in memory from an integer array containting the coded message.

The message can be accessed through its msgid and it will be available
until codes_release is called. A reference to the original coded
message is kept in the new message structure.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_copy_message.f90

Parameters
msgidid of the message loaded in memory
messageinteger array containing the coded message
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_open_file ( integer(kind=kindofint), intent(out)  ifile,
character(len=*), intent(in)  filename,
character(len=*), intent(in)  mode,
integer(kind=kindofint), intent(out), optional  status 
)

Open a file according to a mode.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_get_keys.f90

Parameters
ifileid of the opened file to be used in all the file functions.
filenamename of the file to be open
modeopen mode can be 'r' (read only), 'w' (write only) or 'a' (append)
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_bytes_char ( integer(kind=kindofint), intent(in)  ifile,
character(len=1), dimension(:), intent(out)  buffer,
integer(kind=kindofint), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads nbytes bytes into the buffer from a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbinary buffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_bytes_char_size_t ( integer(kind=kindofint), intent(in)  ifile,
character(len=1), dimension(:), intent(out)  buffer,
integer(kind=kindofsize_t), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads nbytes bytes into the buffer from a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbinary buffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_bytes_int4 ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=4), dimension(:), intent(out)  buffer,
integer(kind=kindofint), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads nbytes bytes into the buffer from a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_bytes_int4_size_t ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=4), dimension(:), intent(out)  buffer,
integer(kind=kindofsize_t), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads nbytes bytes into the buffer from a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_bytes_real4 ( integer(kind=kindofint), intent(in)  ifile,
real(kind=4), dimension(:), intent(out)  buffer,
integer(kind=kindofint), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads nbytes bytes into the buffer from a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_bytes_real4_size_t ( integer(kind=kindofint), intent(in)  ifile,
real(kind=4), dimension(:), intent(out)  buffer,
integer(kind=kindofsize_t), intent(inout)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads nbytes bytes into the buffer from a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_bytes_real8 ( integer(kind=kindofint), intent(in)  ifile,
real(kind=8), dimension(:), intent(out)  buffer,
integer(kind=kindofint), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads nbytes bytes into the buffer from a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_bytes_real8_size_t ( integer(kind=kindofint), intent(in)  ifile,
real(kind=8), dimension(:), intent(out)  buffer,
integer(kind=kindofsize_t), intent(inout)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads nbytes bytes into the buffer from a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_from_file_char ( integer(kind=kindofint), intent(in)  ifile,
character(len=1), dimension(:), intent(out)  buffer,
integer(kind=kindofint), intent(inout)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads a message in the buffer array from the file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_from_file_char_size_t ( integer(kind=kindofint), intent(in)  ifile,
character(len=1), dimension(:), intent(out)  buffer,
integer(kind=kindofsize_t), intent(inout)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads a message in the buffer array from the file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_from_file_int4 ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=4), dimension(:), intent(out)  buffer,
integer(kind=kindofint), intent(inout)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads a message in the buffer array from the file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbinary buffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_from_file_int4_size_t ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=4), dimension(:), intent(out)  buffer,
integer(kind=kindofsize_t), intent(inout)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads a message in the buffer array from the file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbinary buffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_from_file_real4 ( integer(kind=kindofint), intent(in)  ifile,
real(kind=4), dimension(:), intent(out)  buffer,
integer(kind=kindofint), intent(inout)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads a message in the buffer array from the file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbinary buffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_from_file_real4_size_t ( integer(kind=kindofint), intent(in)  ifile,
real(kind=4), dimension(:), intent(out)  buffer,
integer(kind=kindofsize_t), intent(inout)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads a message in the buffer array from the file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbinary buffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_from_file_real8 ( integer(kind=kindofint), intent(in)  ifile,
real(kind=8), dimension(:), intent(out)  buffer,
integer(kind=kindofint), intent(inout)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads a message in the buffer array from the file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbinary buffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_read_from_file_real8_size_t ( integer(kind=kindofint), intent(in)  ifile,
real(kind=8), dimension(:), intent(out)  buffer,
integer(kind=kindofsize_t), intent(inout)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Reads a message in the buffer array from the file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbinary buffer to be read
nbytesnumber of bytes to be read
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_release ( integer(kind=kindofint), intent(in)  msgid,
integer(kind=kindofint), intent(out), optional  status 
)

Free the memory for the message referred as msgid.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_get_keys.f90

Parameters
msgidid of the message loaded in memory
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_byte_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
character(len=1), dimension(:), intent(in)  value,
integer(kind=kindofint), intent(out), optional  length,
integer(kind=kindofint), intent(out), optional  status 
)

Set the array of bytes (character) for a key in a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuecharacter(len=1) array of byte values
length(optional) output: number of values written
status(optional) CODES_SUCCESS if OK, integer value on error
subroutine codes_set_definitions_path ( character(len=*), intent(in)  path,
integer(kind=kindofint), intent(out), optional  status 
)

Set the definition path.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
pathdefinitions path
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_int ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindofint), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Set the integer value for a key in a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valueinteger(4) value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_int_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindofint), dimension(:), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Set the integers values for an array key in a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valueinteger(4) array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_long ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindoflong), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Set the integer value for a key in a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valueinteger(4) value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_long_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
integer(kind=kindoflong), dimension(:), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Set the integers values for an array key in a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valueinteger(4) array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_missing ( integer(kind=kindofint), intent(in)  id,
character(len=*), intent(in)  key,
integer(kind=kindofint), intent(out), optional  status 
)

Wrapper for eccodes.

Set as missing the value for a key in a message.

It can be used to set a missing value in the header but not in
the data values. To set missing data values see the bitmap examples.
In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Examples: grib_set_missing.f90

Parameters
idID of the message loaded in memory
keykey name
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_real4 ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
real(kind = kindoffloat), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Set the real(4) value for a key in a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuereal(4) value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_real4_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
real(kind = kindoffloat), dimension(:), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Set the real(4) values for an array key in a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuereal(4) array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_real8 ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
real(kind = kindofdouble), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Set the real(8) value for a key in a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuereal(8) value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_real8_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
real(kind = kindofdouble), dimension(:), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

Set the real(8) values for an array key in a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuereal(8) array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_samples_path ( character(len=*), intent(in)  path,
integer(kind=kindofint), intent(out), optional  status 
)

Set the samples path.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
pathsamples path
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_string ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
character(len=*), intent(in)  value,
integer(kind=kindofint), intent(out), optional  status 
)

*/

Set the character value for a string key in a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuecharacter value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_set_string_array ( integer(kind=kindofint), intent(in)  msgid,
character(len=*), intent(in)  key,
character(len=*), dimension(:), intent(in), allocatable  value,
integer(kind=kindofint), intent(out), optional  status 
)

Set the string values for an array key in a message.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
keykey name
valuestring array value
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_skip_coded ( integer(kind=kindofint), intent(in)  iterid,
integer(kind=kindofint), intent(out), optional  status 
)

Skip the coded keys in a keys iterator.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

The coded keys are actually coded in the message.

See Also
codes_keys_iterator_new, codes_keys_iterator_next, codes_keys_iterator_delete
Parameters
iteridkeys iterator id
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_skip_computed ( integer(kind=kindofint), intent(in)  iterid,
integer(kind=kindofint), intent(out), optional  status 
)

Skip the computed keys in a keys iterator.

The computed keys are not coded in the message they are computed from other keys.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

See Also
codes_keys_iterator_new, codes_keys_iterator_next, codes_keys_iterator_delete
Parameters
iteridkeys iterator id
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_skip_duplicates ( integer(kind=kindofint), intent(in)  iterid,
integer(kind=kindofint), intent(out), optional  status 
)

Skip the duplicated keys in a keys iterator.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

See Also
codes_keys_iterator_new, codes_keys_iterator_next, codes_keys_iterator_delete
Parameters
iteridkeys iterator id
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_skip_read_only ( integer(kind=kindofint), intent(in)  iterid,
integer(kind=kindofint), intent(out), optional  status 
)

Skip the read_only keys in a keys iterator.

Read only keys cannot be set.

See Also
codes_keys_iterator_new, codes_keys_iterator_next, codes_keys_iterator_delete
Parameters
iteridkeys iterator id
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_write ( integer(kind=kindofint), intent(in)  msgid,
integer(kind=kindofint), intent(in)  ifile,
integer(kind=kindofint), intent(out), optional  status 
)

Write the coded message to a file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
msgidid of the message loaded in memory
ifilefile id of a file opened with codes_open_file
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_write_bytes_char ( integer(kind=kindofint), intent(in)  ifile,
character(len=1), dimension(:), intent(in)  buffer,
integer(kind=kindofint), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Write nbytes bytes from the buffer in a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be written
nbytesnumber of bytes to be written
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_write_bytes_char_size_t ( integer(kind=kindofint), intent(in)  ifile,
character(len=1), dimension(:), intent(in)  buffer,
integer(kind=kindofsize_t), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Write nbytes bytes from the buffer in a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be written
nbytesnumber of bytes to be written
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_write_bytes_int4 ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=4), dimension(:), intent(in)  buffer,
integer(kind=kindofint), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Write nbytes bytes from the buffer in a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be written
nbytesnumber of bytes to be written
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_write_bytes_int4_size_t ( integer(kind=kindofint), intent(in)  ifile,
integer(kind=4), dimension(:), intent(in)  buffer,
integer(kind=kindofsize_t), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Write nbytes bytes from the buffer in a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be written
nbytesnumber of bytes to be written
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_write_bytes_real4 ( integer(kind=kindofint), intent(in)  ifile,
real(kind=4), dimension(:), intent(in)  buffer,
integer(kind=kindofint), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Write nbytes bytes from the buffer in a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be written
nbytesnumber of bytes to be written
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_write_bytes_real4_size_t ( integer(kind=kindofint), intent(in)  ifile,
real(kind=4), dimension(:), intent(in)  buffer,
integer(kind=kindofsize_t), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Write nbytes bytes from the buffer in a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be written
nbytesnumber of bytes to be written
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_write_bytes_real8 ( integer(kind=kindofint), intent(in)  ifile,
real(kind=8), dimension(:), intent(in)  buffer,
integer(kind=kindofint), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Write nbytes bytes from the buffer in a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be written
nbytesnumber of bytes to be written
statusCODES_SUCCESS if OK, integer value on error
subroutine codes_write_bytes_real8_size_t ( integer(kind=kindofint), intent(in)  ifile,
real(kind=8), dimension(:), intent(in)  buffer,
integer(kind=kindofsize_t), intent(in)  nbytes,
integer(kind=kindofint), intent(out), optional  status 
)

Write nbytes bytes from the buffer in a file opened with codes_open_file.

In case of error, if the status parameter (optional) is not given, the program will exit with an error message.
Otherwise the error message can be gathered with codes_get_error_string.

Parameters
ifileid of the opened file to be used in all the file functions.
bufferbuffer to be written
nbytesnumber of bytes to be written
statusCODES_SUCCESS if OK, integer value on error

The documentation for this module was generated from the following file: