mirror of https://github.com/ecmwf/eccodes.git
Merge branch 'eccodes' of ssh://software.ecmwf.int:7999/grib/grib_api into eccodes
This commit is contained in:
commit
767d813e63
|
@ -92,26 +92,27 @@ examples/F90/*.sh.log
|
|||
examples/F90/*.sh.trs
|
||||
examples/F90/test-suite.log
|
||||
examples/C/bufr_read_header
|
||||
examples/C/bufr_read_synop
|
||||
examples/C/bufr_read_temp
|
||||
examples/C/bufr_print_data
|
||||
examples/C/bufr_print_header
|
||||
examples/C/get
|
||||
examples/C/grib_get_keys
|
||||
examples/C/get_data
|
||||
examples/C/get_product_kind
|
||||
examples/C/iterator
|
||||
examples/C/keys_iterator
|
||||
examples/C/grib_iterator
|
||||
examples/C/grib_keys_iterator
|
||||
examples/C/large_grib1
|
||||
examples/C/list
|
||||
examples/C/mars_param
|
||||
examples/C/multi
|
||||
examples/C/multi2
|
||||
examples/C/multi_write
|
||||
examples/C/nearest
|
||||
examples/C/grib_nearest
|
||||
examples/C/points
|
||||
examples/C/precision
|
||||
examples/C/print_data
|
||||
examples/C/grib_print_data
|
||||
examples/C/sections_copy
|
||||
examples/C/set
|
||||
examples/C/grib_set_keys
|
||||
examples/C/set_bitmap
|
||||
examples/C/set_data
|
||||
examples/C/set_missing
|
||||
|
@ -248,35 +249,35 @@ include
|
|||
|
||||
#from make
|
||||
examples/C/check_gaussian_grid
|
||||
examples/C/ensemble_index
|
||||
examples/C/clone
|
||||
examples/C/iterator_bitmap
|
||||
examples/C/grib_ensemble_index
|
||||
examples/C/grib_clone
|
||||
examples/C/grib_iterator_bitmap
|
||||
examples/C/new_sample
|
||||
examples/F90/f_bufr_read_header
|
||||
examples/F90/f_bufr_clone
|
||||
examples/F90/f_bufr_print_header
|
||||
examples/F90/f_clone
|
||||
examples/F90/f_grib_clone
|
||||
examples/F90/f_copy_message
|
||||
examples/F90/f_copy_namespace
|
||||
examples/F90/f_count_messages
|
||||
examples/F90/f_get
|
||||
examples/F90/f_grib_get_keys
|
||||
examples/F90/f_get_data
|
||||
examples/F90/f_get_product_kind
|
||||
examples/F90/f_get_pl
|
||||
examples/F90/f_get_pv
|
||||
examples/F90/f_get_set_uuid
|
||||
examples/F90/f_index
|
||||
examples/F90/f_keys_iterator
|
||||
examples/F90/f_grib_keys_iterator
|
||||
examples/F90/f_multi
|
||||
examples/F90/f_multi_write
|
||||
examples/F90/f_nearest
|
||||
examples/F90/f_grib_nearest
|
||||
examples/F90/f_new_from_file
|
||||
examples/F90/f_precision
|
||||
examples/F90/f_print_data
|
||||
examples/F90/f_grib_print_data
|
||||
examples/F90/f_read_from_file
|
||||
examples/F90/f_read_message
|
||||
examples/F90/f_samples
|
||||
examples/F90/f_set
|
||||
examples/F90/f_grib_set_keys
|
||||
examples/F90/f_set_bitmap
|
||||
examples/F90/f_set_gvc
|
||||
examples/F90/f_set_missing
|
||||
|
@ -284,9 +285,9 @@ examples/F90/f_set_pv
|
|||
examples/python/.libs/
|
||||
examples/python/my.idx
|
||||
examples/python/p_count_messages
|
||||
examples/python/p_iterator
|
||||
examples/python/p_keys_iterator
|
||||
examples/python/p_print_data
|
||||
examples/python/p_grib_iterator
|
||||
examples/python/p_grib_keys_iterator
|
||||
examples/python/p_grib_print_data
|
||||
examples/python/*.sh.log
|
||||
examples/python/*.sh.trs
|
||||
examples/python/test-suite.log
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
#examples
|
||||
|
||||
GRIB (
|
||||
clone
|
||||
ensemble_index
|
||||
get
|
||||
grib_clone
|
||||
grib_ensemble_index
|
||||
grib_get_keys
|
||||
index
|
||||
iterator_bitmap
|
||||
iterator
|
||||
keys_iterator
|
||||
grib_iterator_bitmap
|
||||
grib_iterator
|
||||
grib_keys_iterator
|
||||
multi_write
|
||||
multi
|
||||
nearest
|
||||
grib_nearest
|
||||
precision
|
||||
print_data
|
||||
grib_print_data
|
||||
set_bitmap
|
||||
set_data
|
||||
set_pv
|
||||
set
|
||||
grib_set_keys
|
||||
)
|
||||
!BUFR (
|
||||
bufr_attributes
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
/*! \page examples Grib API examples
|
||||
|
||||
\example get.c get.c How to get values through the key names.
|
||||
\example grib_get_keys.c grib_get_keys.c How to get values through the key names.
|
||||
\example set.c set.c How to set values through the key names.
|
||||
\example keys_iterator.c keys_iterator.c How to get the names of all the keys
|
||||
\example grib_keys_iterator.c grib_keys_iterator.c How to get the names of all the keys
|
||||
defined in a message and how to iterate through them.
|
||||
\example iterator.c iterator.c How to use an iterator on latitude, longitude, values.
|
||||
\example grib_iterator.c grib_iterator.c How to use an iterator on latitude, longitude, values.
|
||||
\example precision.c precision.c How to control precision when coding a grib field.
|
||||
\example multi.c multi.c How to decode a grib message containing many fields.
|
||||
\example multi_write.c multi_write.c How to encode a grib message containing many fields.
|
||||
\example print_data.c print_data.c How to print all the data from a grib message.
|
||||
\example nearest.c nearest.c How to find the nearest grid points.
|
||||
\example grib_print_data.c grib_print_data.c How to print all the data from a grib message.
|
||||
\example grib_nearest.c grib_nearest.c How to find the nearest grid points.
|
||||
|
||||
\example index.f90 How access a grib file through and index.
|
||||
\example get.f90 How to get values through the key names.
|
||||
\example grib_get_keys.f90 How to get values through the key names.
|
||||
\example count_messages.f90 count the messages in a file and loop through them.
|
||||
\example get_pl.f90 How to get the list of number of points for each parallel in reduced grids.
|
||||
\example get_pv.f90 How to get the list of levels.
|
||||
|
@ -22,15 +22,15 @@ defined in a message and how to iterate through them.
|
|||
\example set_missing.f90 How to set a missing value in the header.
|
||||
\example set_pv.f90 How to set the list of levels.
|
||||
\example samples.f90 How to create a new message from a samples.
|
||||
\example clone.f90 How to clone a message.
|
||||
\example grib_clone.f90 How to clone a message.
|
||||
\example copy_message.f90 How to copy a message in memory and create a new message.
|
||||
\example keys_iterator.f90 How to get the names of all the keys
|
||||
\example grib_keys_iterator.f90 How to get the names of all the keys
|
||||
defined in a message and how to iterate through them.
|
||||
\example precision.f90 How to control precision when coding a grib field.
|
||||
\example multi_write.f90 How to encode a grib message containing many fields.
|
||||
\example multi.f90 How to decode a grib message containing many fields.
|
||||
\example print_data.f90 How to print all the data contained in a grib file.
|
||||
\example nearest.f90 How to find the nearest grid points.
|
||||
\example grib_print_data.f90 How to print all the data contained in a grib file.
|
||||
\example grib_nearest.f90 How to find the nearest grid points.
|
||||
|
||||
\example get_fortran.F get_fortran.F How to get values through the key names.
|
||||
\example set_fortran.F set_fortran.F How to set values through the key names.
|
||||
|
@ -42,16 +42,16 @@ defined in a message and how to iterate through them.
|
|||
\example print_data_fortran.F print_data_fortran.F How to print all the data from a grib message.
|
||||
|
||||
\example index.py How access a grib file through and index.
|
||||
\example get.py How to get values through the key names.
|
||||
\example print_data.py How to print all the data contained in a grib file.
|
||||
\example grib_get_keys.py How to get values through the key names.
|
||||
\example grib_print_data.py How to print all the data contained in a grib file.
|
||||
\example set.py How to set values through the key names.
|
||||
\example nearest.py How to find the nearest grid points.
|
||||
\example grib_nearest.py How to find the nearest grid points.
|
||||
\example set_missing.py How to set a missing value in the header.
|
||||
\example count_messages.py How to count the messages in a file and loop through them.
|
||||
\example samples.py How to create a new message from a sample.
|
||||
\example clone.py How to clone a message.
|
||||
\example iterator.py How to use an iterator on latitude, longitude, values.
|
||||
\example keys_iterator.py How to get the names of all the keys.
|
||||
\example grib_clone.py How to clone a message.
|
||||
\example grib_iterator.py How to use an iterator on latitude, longitude, values.
|
||||
\example grib_keys_iterator.py How to get the names of all the keys.
|
||||
\example multi_write.py How to encode a multi grib message.
|
||||
\example set_pv.py How to encode the pv coefficients.
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ giving access to the main features of the C library.
|
|||
|
||||
The library is designed to access and modify messages in both editions with the same
|
||||
\ref get_set "function calls" using a set of \ref keys to access the coded information
|
||||
( examples: \ref get.f90 "get.f90" \ref set.f90 "set.f90", \ref get.c "get.c", \ref set.c "set.c", \ref grib_get_examples "grib_get", \ref grib_set_examples "grib_set" ).
|
||||
( examples: \ref grib_get_keys.f90 "grib_get_keys.f90" \ref set.f90 "set.f90", \ref grib_get_keys.c "grib_get_keys.c", \ref set.c "set.c", \ref grib_get_examples "grib_get", \ref grib_set_examples "grib_set" ).
|
||||
|
||||
The \ref keys "keys" available for a message are different depending not only on the edition
|
||||
but also and mainly on the type of each message and the information it contains.
|
||||
|
|
|
@ -5,22 +5,22 @@ that can be taken as a starting point to write more complex programs.\n
|
|||
|
||||
\section python Python
|
||||
- \ref index.py "index.py" How access a grib file through and index.
|
||||
- \ref get.py "get.py" How to get values through the key names.
|
||||
- \ref print_data.py "print_data.py" How to print all the data contained in a grib file.
|
||||
- \ref grib_get_keys.py "grib_get_keys.py" How to get values through the key names.
|
||||
- \ref grib_print_data.py "grib_print_data.py" How to print all the data contained in a grib file.
|
||||
- \ref set.py "set.py" How to set values through the key names.
|
||||
- \ref nearest.py "nearest.py" How to find the nearest grid points.
|
||||
- \ref grib_nearest.py "grib_nearest.py" How to find the nearest grid points.
|
||||
- \ref set_missing.py "set_missing.py" How to set a missing value in the header.
|
||||
- \ref count_messages.py "count_messages.py" How to count the messages in a file and loop through them.
|
||||
- \ref samples.py "samples.py" How to create a new message from a sample.
|
||||
- \ref clone.py "clone.py" How to clone a message.
|
||||
- \ref iterator.py "iterator.py" How to use an iterator on latitude, longitude, values.
|
||||
- \ref keys_iterator.py "keys_iterator.py" How to get the names of all the keys.
|
||||
- \ref grib_clone.py "grib_clone.py" How to clone a message.
|
||||
- \ref grib_iterator.py "grib_iterator.py" How to use an iterator on latitude, longitude, values.
|
||||
- \ref grib_keys_iterator.py "grib_keys_iterator.py" How to get the names of all the keys.
|
||||
- \ref multi_write.py "multi_write.py" How to encode a multi grib message.
|
||||
- \ref set_pv.py "set_pv.py" How to encode the pv coefficients.
|
||||
|
||||
\section fortran90 Fortran 90
|
||||
- \ref index.f90 "index.f90" how to access a grib file through an index.
|
||||
- \ref get.f90 "get.f90" how to get values through the key names.
|
||||
- \ref grib_get_keys.f90 "grib_get_keys.f90" how to get values through the key names.
|
||||
- \ref count_messages.f90 "count_messages.f90" count the messages in a file and loop through them.
|
||||
- \ref get_pl.f90 "get_pl.f90" how to get the list of number of points for each parallel in reduced grids.
|
||||
- \ref get_pv.f90 "get_pv.f90" how to get the list of levels.
|
||||
|
@ -30,26 +30,26 @@ that can be taken as a starting point to write more complex programs.\n
|
|||
- \ref set_missing.f90 "set_missing.f90" how to set a missing value in the header.
|
||||
- \ref set_pv.f90 "set_pv.f90" how to set the list of levels.
|
||||
- \ref samples.f90 "samples.f90" how to create a new message from a template.
|
||||
- \ref clone.f90 "clone.f90" how to clone a message.
|
||||
- \ref grib_clone.f90 "grib_clone.f90" how to clone a message.
|
||||
- \ref copy_message.f90 "copy_message.f90" how to copy a message in memory and create a new message.
|
||||
- \ref keys_iterator.f90 "keys_iterator.f90" how to get the names of all the keys
|
||||
- \ref grib_keys_iterator.f90 "grib_keys_iterator.f90" how to get the names of all the keys
|
||||
defined in a message and how to iterate through them.
|
||||
- \ref precision.f90 "precision.f90" how to control precision when coding a grib field.
|
||||
- \ref multi_write.f90 "multi_write.f90" how to encode a grib message containing many fields.
|
||||
- \ref multi.f90 "multi.f90" how to decode a grib message containing many fields.
|
||||
- \ref print_data.f90 "print_data.f90" how to print all the data contained in a grib file.
|
||||
- \ref nearest.f90 "nearest.f90" how to find the nearest grid points.
|
||||
- \ref grib_print_data.f90 "grib_print_data.f90" how to print all the data contained in a grib file.
|
||||
- \ref grib_nearest.f90 "grib_nearest.f90" how to find the nearest grid points.
|
||||
|
||||
\section C
|
||||
- \ref get.c "get.c" is an example showing how to get values through the key names.
|
||||
- \ref grib_get_keys.c "grib_get_keys.c" is an example showing how to get values through the key names.
|
||||
- \ref set.c "set.c" is an example illustrating how to set values through the key names.
|
||||
- \ref keys_iterator.c "keys_iterator.c" explains how to get the names of all the keys
|
||||
- \ref grib_keys_iterator.c "grib_keys_iterator.c" explains how to get the names of all the keys
|
||||
defined in a message and how to iterate through them.
|
||||
- \ref iterator.c "iterator.c" shows how to use an iterator on latitude, longitude, values.
|
||||
- \ref grib_iterator.c "grib_iterator.c" shows how to use an iterator on latitude, longitude, values.
|
||||
- \ref precision.c "precision.c" illustrates how to control precision when coding a grib field.
|
||||
- \ref multi.c "multi.c" is an example describing how to decode a grib message containing many fields.
|
||||
- \ref print_data.c "print_data.c" is an example on how to print all the data contained in a grib file.
|
||||
- \ref nearest.c "nearest.c" is an example on how to find the nearest grid points.
|
||||
- \ref grib_print_data.c "grib_print_data.c" is an example on how to print all the data contained in a grib file.
|
||||
- \ref grib_nearest.c "grib_nearest.c" is an example on how to find the nearest grid points.
|
||||
- \ref multi_write.c "multi_write.c" how to encode a grib message containing many fields.
|
||||
|
||||
\section fortran77 Fortran 77
|
||||
|
|
|
@ -7,14 +7,14 @@ configure_file( include.ctest.sh.in include.ctest.sh @ONLY )
|
|||
# Build the executables used by test scripts
|
||||
################################################
|
||||
list( APPEND test_bins
|
||||
nearest
|
||||
grib_nearest
|
||||
set_bitmap
|
||||
iterator
|
||||
get
|
||||
print_data
|
||||
set
|
||||
grib_iterator
|
||||
grib_get_keys
|
||||
grib_print_data
|
||||
grib_set_keys
|
||||
set_missing
|
||||
keys_iterator
|
||||
grib_keys_iterator
|
||||
set_data
|
||||
mars_param
|
||||
values_check
|
||||
|
@ -27,11 +27,11 @@ list( APPEND test_bins
|
|||
list
|
||||
get_data
|
||||
sections_copy
|
||||
iterator_bitmap
|
||||
grib_iterator_bitmap
|
||||
large_grib1
|
||||
clone
|
||||
grib_clone
|
||||
check_gaussian_grid
|
||||
ensemble_index
|
||||
grib_ensemble_index
|
||||
get_product_kind
|
||||
bufr_attributes
|
||||
bufr_clone
|
||||
|
@ -56,11 +56,11 @@ endforeach()
|
|||
# Now add each test (shell scripts)
|
||||
#################################################
|
||||
list( APPEND tests
|
||||
iterator
|
||||
get
|
||||
print_data
|
||||
set
|
||||
keys_iterator
|
||||
grib_iterator
|
||||
grib_get_keys
|
||||
grib_print_data
|
||||
grib_set_keys
|
||||
grib_keys_iterator
|
||||
multi
|
||||
multi_write
|
||||
precision
|
||||
|
@ -68,7 +68,7 @@ list( APPEND tests
|
|||
large_grib1
|
||||
get_data
|
||||
set_missing
|
||||
clone
|
||||
grib_clone
|
||||
sections_copy
|
||||
set_pv
|
||||
check_gaussian_grids
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
|
||||
AM_CFLAGS = @WARN_PEDANTIC@ @WERROR@
|
||||
|
||||
TESTS = iterator.sh get.sh print_data.sh set.sh keys_iterator.sh multi.sh multi_write.sh \
|
||||
precision.sh list.sh large_grib1.sh get_data.sh sections_copy.sh set_missing.sh clone.sh set_pv.sh \
|
||||
check_gaussian_grids.sh \
|
||||
bufr_attributes.sh bufr_clone.sh bufr_expanded.sh bufr_get_keys.sh bufr_read_header.sh bufr_read_synop.sh \
|
||||
bufr_set_keys.sh bufr_subset.sh bufr_keys_iterator.sh bufr_missing.sh bufr_read_temp.sh \
|
||||
get_product_kind.sh
|
||||
TESTS = grib_iterator.sh grib_get_keys.sh grib_print_data.sh grib_set_keys.sh \
|
||||
grib_keys_iterator.sh multi.sh multi_write.sh precision.sh \
|
||||
list.sh large_grib1.sh get_data.sh sections_copy.sh \
|
||||
set_missing.sh grib_clone.sh set_pv.sh \
|
||||
check_gaussian_grids.sh bufr_attributes.sh bufr_clone.sh bufr_expanded.sh \
|
||||
bufr_get_keys.sh bufr_read_header.sh bufr_read_synop.sh \
|
||||
bufr_set_keys.sh bufr_subset.sh bufr_keys_iterator.sh bufr_missing.sh \
|
||||
bufr_read_temp.sh get_product_kind.sh
|
||||
|
||||
noinst_PROGRAMS = nearest set_bitmap iterator get print_data set set_missing keys_iterator \
|
||||
noinst_PROGRAMS = grib_nearest set_bitmap grib_iterator grib_get_keys grib_print_data grib_set_keys set_missing grib_keys_iterator \
|
||||
set_data mars_param values_check box multi multi2 multi_write precision \
|
||||
set_pv list sections_copy large_grib1 get_data iterator_bitmap clone new_sample \
|
||||
check_gaussian_grid ensemble_index points \
|
||||
set_pv list sections_copy large_grib1 get_data grib_iterator_bitmap grib_clone new_sample \
|
||||
check_gaussian_grid grib_ensemble_index points \
|
||||
bufr_attributes bufr_clone bufr_expanded bufr_get_keys bufr_read_header bufr_read_synop \
|
||||
bufr_get_keys bufr_subset bufr_keys_iterator bufr_set_keys bufr_missing bufr_read_temp \
|
||||
get_product_kind
|
||||
|
@ -22,28 +24,28 @@ box_SOURCES = box.c
|
|||
set_data_SOURCES = set_data.c
|
||||
mars_param_SOURCES = mars_param.c
|
||||
values_check_SOURCES = values_check.c
|
||||
nearest_SOURCES = nearest.c
|
||||
grib_nearest_SOURCES = grib_nearest.c
|
||||
multi_write_SOURCES = multi_write.c
|
||||
get_SOURCES = get.c
|
||||
print_data_SOURCES = print_data.c
|
||||
set_SOURCES = set.c
|
||||
grib_get_keys_SOURCES = grib_get_keys.c
|
||||
grib_print_data_SOURCES = grib_print_data.c
|
||||
grib_set_keys_SOURCES = grib_set_keys.c
|
||||
set_missing_SOURCES = set_missing.c
|
||||
set_bitmap_SOURCES = set_bitmap.c
|
||||
multi_SOURCES = multi.c
|
||||
multi2_SOURCES = multi2.c
|
||||
keys_iterator_SOURCES = keys_iterator.c
|
||||
iterator_SOURCES = iterator.c
|
||||
iterator_bitmap_SOURCES = iterator_bitmap.c
|
||||
grib_keys_iterator_SOURCES = grib_keys_iterator.c
|
||||
grib_iterator_SOURCES = grib_iterator.c
|
||||
grib_iterator_bitmap_SOURCES = grib_iterator_bitmap.c
|
||||
set_pv_SOURCES = set_pv.c
|
||||
points_SOURCES = points.c
|
||||
list_SOURCES = list.c
|
||||
sections_copy_SOURCES = sections_copy.c
|
||||
large_grib1_SOURCES = large_grib1.c
|
||||
get_data_SOURCES = get_data.c
|
||||
clone_SOURCES = clone.c
|
||||
grib_clone_SOURCES = grib_clone.c
|
||||
new_sample_SOURCES = new_sample.c
|
||||
check_gaussian_grid_SOURCES = check_gaussian_grid.c
|
||||
ensemble_index_SOURCES = ensemble_index.c
|
||||
grib_ensemble_index_SOURCES = grib_ensemble_index.c
|
||||
bufr_attributes_SOURCES = bufr_attributes.c
|
||||
bufr_clone_SOURCES = bufr_clone.c
|
||||
bufr_expanded_SOURCES = bufr_expanded.c
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
|
||||
#include "eccodes.h"
|
||||
|
||||
|
||||
int main(int argc,char* argv[])
|
||||
{
|
||||
FILE* in = NULL;
|
||||
|
@ -85,15 +84,13 @@ int main(int argc,char* argv[])
|
|||
sigt_td = malloc(sigt_len*sizeof(double));
|
||||
|
||||
/* Get pressure */
|
||||
|
||||
sprintf(key_name,"/verticalSoundingSignificance=4/pressure");
|
||||
|
||||
/* get the values */
|
||||
len=sigt_len;
|
||||
CODES_CHECK(codes_get_double_array(h,key_name,sigt_pres,&len),0);
|
||||
|
||||
/* Get gepotential */
|
||||
|
||||
/* Get geopotential */
|
||||
sprintf(key_name,"/verticalSoundingSignificance=4/geopotential");
|
||||
|
||||
/* check the size*/
|
||||
|
@ -108,7 +105,6 @@ int main(int argc,char* argv[])
|
|||
CODES_CHECK(codes_get_double_array(h,key_name,sigt_geo,&len),0);
|
||||
|
||||
/* Get temperature */
|
||||
|
||||
sprintf(key_name,"/verticalSoundingSignificance=4/airTemperature");
|
||||
|
||||
/* check the size*/
|
||||
|
@ -122,7 +118,6 @@ int main(int argc,char* argv[])
|
|||
CODES_CHECK(codes_get_double_array(h,key_name,sigt_t,&len),0);
|
||||
|
||||
/* Get dew point */
|
||||
|
||||
sprintf(key_name,"/verticalSoundingSignificance=4/dewpointTemperature");
|
||||
|
||||
/* check the size*/
|
||||
|
@ -136,7 +131,6 @@ int main(int argc,char* argv[])
|
|||
CODES_CHECK(codes_get_double_array(h,key_name,sigt_td,&len),0);
|
||||
|
||||
/* Print the values */
|
||||
|
||||
printf("lev pres geo t td\n");
|
||||
printf("-------------------------------\n");
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* C Implementation: clone
|
||||
* C Implementation: grib_clone
|
||||
*
|
||||
* Description: How to create a new GRIB message by cloning
|
||||
* an existing message.
|
|
@ -12,11 +12,11 @@
|
|||
TEMP=cloned.grib
|
||||
|
||||
INPUT=${data_dir}/reduced_gaussian_pressure_level.grib1
|
||||
${examples_dir}clone ${INPUT} ${TEMP} > /dev/null
|
||||
${examples_dir}grib_clone ${INPUT} ${TEMP} > /dev/null
|
||||
${tools_dir}grib_compare ${INPUT} ${TEMP}
|
||||
|
||||
INPUT=${data_dir}/sample.grib2
|
||||
${examples_dir}clone ${INPUT} ${TEMP} > /dev/null
|
||||
${examples_dir}grib_clone ${INPUT} ${TEMP} > /dev/null
|
||||
${tools_dir}grib_compare ${INPUT} ${TEMP}
|
||||
|
||||
rm -f ${TEMP}
|
|
@ -9,9 +9,9 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* C Implementation: get
|
||||
* C Implementation: grib_get_keys
|
||||
*
|
||||
* Description: how to get values using keys.
|
||||
* Description: how to get values using keys from GRIB messages
|
||||
*
|
||||
*/
|
||||
#include <stdio.h>
|
|
@ -9,6 +9,5 @@
|
|||
|
||||
. ./include.sh
|
||||
|
||||
${examples_dir}get > /dev/null
|
||||
|
||||
${examples_dir}grib_get_keys > /dev/null
|
||||
|
|
@ -9,9 +9,9 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* C Implementation: iterator
|
||||
* C Implementation: grib_iterator
|
||||
*
|
||||
* Description: how to use an iterator on lat/lon/values.
|
||||
* Description: how to use an iterator on lat/lon/values for GRIB messages
|
||||
*
|
||||
*/
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
. ./include.sh
|
||||
|
||||
${examples_dir}keys_iterator ${data_dir}/reduced_latlon_surface.grib1 > /dev/null
|
||||
${examples_dir}grib_iterator ${data_dir}/reduced_gaussian_model_level.grib1 > /dev/null
|
||||
|
||||
${examples_dir}keys_iterator ${data_dir}/regular_gaussian_model_level.grib1 > /dev/null
|
||||
${examples_dir}grib_iterator ${data_dir}/regular_gaussian_model_level.grib1 > /dev/null
|
||||
|
|
@ -9,12 +9,12 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* C Implementation: keys_iterator
|
||||
* C Implementation: grib_keys_iterator
|
||||
*
|
||||
* Description:
|
||||
* Example on how to use keys_iterator functions and the
|
||||
* codes_keys_iterator structure to get all the available
|
||||
* keys in a message.
|
||||
* keys in a GRIB message.
|
||||
*
|
||||
*/
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
. ./include.sh
|
||||
|
||||
${examples_dir}iterator ${data_dir}/reduced_gaussian_model_level.grib1 > /dev/null
|
||||
${examples_dir}grib_keys_iterator ${data_dir}/reduced_latlon_surface.grib1 > /dev/null
|
||||
|
||||
${examples_dir}iterator ${data_dir}/regular_gaussian_model_level.grib1 > /dev/null
|
||||
${examples_dir}grib_keys_iterator ${data_dir}/regular_gaussian_model_level.grib1 > /dev/null
|
||||
|
|
@ -9,9 +9,9 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* C Implementation: print_data
|
||||
* C Implementation: grib_print_data
|
||||
*
|
||||
* Description: prints all the data contained in a grib file
|
||||
* Description: prints all the data contained in a GRIB file
|
||||
*
|
||||
*/
|
||||
#include <stdio.h>
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
. ./include.sh
|
||||
|
||||
numberOfValues=`${examples_dir}print_data ../../data/constant_field.grib1 | grep values | awk '{print $1}'`
|
||||
numberOfValues=`${examples_dir}grib_print_data ../../data/constant_field.grib1 | grep values | awk '{print $1}'`
|
||||
|
||||
if [ $numberOfValues -ne 99200 ]
|
||||
then
|
|
@ -9,9 +9,9 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* C Implementation: set
|
||||
* C Implementation: grib_set_keys
|
||||
*
|
||||
* Description: how to set key values.
|
||||
* Description: how to set key values in GRIB messages
|
||||
*
|
||||
*/
|
||||
#include <stdio.h>
|
|
@ -9,6 +9,6 @@
|
|||
|
||||
. ./include.sh
|
||||
|
||||
${examples_dir}set > /dev/null
|
||||
${examples_dir}grib_set_keys > /dev/null
|
||||
|
||||
rm -f out.set.grib1
|
|
@ -9,17 +9,17 @@ configure_file( include.ctest.sh.in include.ctest.sh @ONLY )
|
|||
list( APPEND tests
|
||||
index
|
||||
copy_message
|
||||
get
|
||||
grib_get_keys
|
||||
get_data
|
||||
get_pl
|
||||
get_pv
|
||||
keys_iterator
|
||||
grib_keys_iterator
|
||||
multi_write
|
||||
multi
|
||||
nearest
|
||||
grib_nearest
|
||||
precision
|
||||
print_data
|
||||
set
|
||||
grib_print_data
|
||||
grib_set_keys
|
||||
set_bitmap
|
||||
set_missing
|
||||
set_pv
|
||||
|
@ -28,7 +28,7 @@ list( APPEND tests
|
|||
read_message
|
||||
read_from_file
|
||||
get_set_uuid
|
||||
clone
|
||||
grib_clone
|
||||
bufr_attributes
|
||||
bufr_clone
|
||||
bufr_expanded
|
||||
|
|
|
@ -1,32 +1,33 @@
|
|||
|
||||
AM_CFLAGS = @WARN_PEDANTIC@ @WERROR@ @FORCE_32_CFLAGS@
|
||||
|
||||
TESTS = copy_message.sh get.sh get_data.sh get_pl.sh get_pv.sh keys_iterator.sh \
|
||||
nearest.sh precision.sh multi_write.sh multi.sh print_data.sh set.sh set_bitmap.sh set_missing.sh \
|
||||
set_pv.sh samples.sh count_messages.sh read_message.sh read_from_file.sh index.sh get_set_uuid.sh \
|
||||
bufr_attributes.sh bufr_clone.sh bufr_expanded.sh bufr_get_keys.sh bufr_print_header.sh bufr_print_data.sh bufr_set_keys.sh \
|
||||
bufr_keys_iterator.sh bufr_subset.sh get_product_kind.sh bufr_read_temp.sh
|
||||
TESTS = copy_message.sh grib_get_keys.sh get_data.sh get_pl.sh get_pv.sh grib_keys_iterator.sh \
|
||||
grib_nearest.sh precision.sh multi_write.sh multi.sh grib_print_data.sh grib_set_keys.sh \
|
||||
set_bitmap.sh set_missing.sh set_pv.sh samples.sh count_messages.sh read_message.sh \
|
||||
read_from_file.sh index.sh get_set_uuid.sh bufr_attributes.sh bufr_clone.sh \
|
||||
bufr_expanded.sh bufr_get_keys.sh bufr_print_header.sh bufr_print_data.sh \
|
||||
bufr_set_keys.sh bufr_keys_iterator.sh bufr_subset.sh get_product_kind.sh bufr_read_temp.sh
|
||||
|
||||
noinst_PROGRAMS = f_index f_copy_message f_get f_get_data f_get_pl f_get_pv f_keys_iterator \
|
||||
f_multi_write f_multi f_nearest f_precision f_print_data f_set f_set_bitmap f_set_missing \
|
||||
noinst_PROGRAMS = f_index f_copy_message f_grib_get_keys f_get_data f_get_pl f_get_pv f_grib_keys_iterator \
|
||||
f_multi_write f_multi f_grib_nearest f_precision f_grib_print_data f_grib_set_keys f_set_bitmap f_set_missing \
|
||||
f_set_pv f_samples f_count_messages f_read_message f_read_from_file f_new_from_file \
|
||||
f_copy_namespace f_get_set_uuid f_set_gvc f_clone f_bufr_clone f_bufr_expanded f_bufr_get_keys \
|
||||
f_copy_namespace f_get_set_uuid f_set_gvc f_grib_clone f_bufr_clone f_bufr_expanded f_bufr_get_keys \
|
||||
f_bufr_print_header f_bufr_print_data f_bufr_set_keys f_bufr_keys_iterator f_bufr_subset f_bufr_attributes \
|
||||
f_get_product_kind f_bufr_read_temp
|
||||
|
||||
f_index_SOURCES=index.f90
|
||||
f_copy_message_SOURCES=copy_message.f90
|
||||
f_get_SOURCES=get.f90
|
||||
f_grib_get_keys_SOURCES=grib_get_keys.f90
|
||||
f_get_data_SOURCES=get_data.f90
|
||||
f_get_pl_SOURCES=get_pl.f90
|
||||
f_get_pv_SOURCES=get_pv.f90
|
||||
f_keys_iterator_SOURCES=keys_iterator.f90
|
||||
f_grib_keys_iterator_SOURCES=grib_keys_iterator.f90
|
||||
f_multi_write_SOURCES=multi_write.f90
|
||||
f_multi_SOURCES=multi.f90
|
||||
f_nearest_SOURCES=nearest.f90
|
||||
f_grib_nearest_SOURCES=grib_nearest.f90
|
||||
f_precision_SOURCES=precision.f90
|
||||
f_print_data_SOURCES=print_data.f90
|
||||
f_set_SOURCES=set.f90
|
||||
f_grib_print_data_SOURCES=grib_print_data.f90
|
||||
f_grib_set_keys_SOURCES=grib_set_keys.f90
|
||||
f_set_bitmap_SOURCES=set_bitmap.f90
|
||||
f_set_missing_SOURCES=set_missing.f90
|
||||
f_set_pv_SOURCES=set_pv.f90
|
||||
|
@ -38,7 +39,7 @@ f_new_from_file_SOURCES=new_from_file.f90
|
|||
f_copy_namespace_SOURCES=copy_namespace.f90
|
||||
f_get_set_uuid_SOURCES=get_set_uuid.f90
|
||||
f_set_gvc_SOURCES=set_gvc.f90
|
||||
f_clone_SOURCES=clone.f90
|
||||
f_grib_clone_SOURCES=grib_clone.f90
|
||||
f_bufr_attributes_SOURCES=bufr_attributes.f90
|
||||
f_bufr_clone_SOURCES=bufr_clone.f90
|
||||
f_bufr_expanded_SOURCES=bufr_expanded.f90
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
! virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||
!
|
||||
!
|
||||
! FOTRAN 90 Implementation: grib_clone
|
||||
!
|
||||
! Description: how to create a new GRIB message by cloning
|
||||
! an existing message.
|
||||
!
|
||||
!
|
||||
!
|
||||
program clone
|
||||
use eccodes
|
||||
implicit none
|
|
@ -9,5 +9,5 @@
|
|||
|
||||
. ./include.sh
|
||||
|
||||
${examples_dir}f_clone > /dev/null
|
||||
${examples_dir}f_grib_clone > /dev/null
|
||||
rm -f out.clone.grib1
|
|
@ -7,10 +7,10 @@
|
|||
! virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||
!
|
||||
!
|
||||
! Description: how to get values using keys.
|
||||
! Description: how to get values using keys from GRIB messages
|
||||
!
|
||||
!
|
||||
program get
|
||||
program grib_get_keys
|
||||
use eccodes
|
||||
implicit none
|
||||
|
||||
|
@ -120,4 +120,4 @@ program get
|
|||
|
||||
call codes_close_file(ifile)
|
||||
|
||||
end program get
|
||||
end program grib_get_keys
|
|
@ -9,4 +9,4 @@
|
|||
|
||||
. ./include.sh
|
||||
|
||||
${examples_dir}f_nearest > /dev/null
|
||||
${examples_dir}f_grib_get_keys > /dev/null
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/sh
|
||||
# Copyright 2005-2015 ECMWF.
|
||||
#
|
||||
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||
#
|
||||
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||
|
||||
. ./include.sh
|
||||
|
||||
${examples_dir}f_grib_keys_iterator > /dev/null
|
|
@ -11,7 +11,6 @@
|
|||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
program find
|
||||
use eccodes
|
||||
implicit none
|
|
@ -9,4 +9,4 @@
|
|||
|
||||
. ./include.sh
|
||||
|
||||
${examples_dir}f_get > /dev/null
|
||||
${examples_dir}f_grib_nearest > /dev/null
|
|
@ -7,7 +7,7 @@
|
|||
! virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||
!
|
||||
!
|
||||
! Description: prints all the data contained in a grib file
|
||||
! Description: prints all the data contained in a GRIB file
|
||||
!
|
||||
!
|
||||
!
|
|
@ -9,4 +9,4 @@
|
|||
|
||||
. ./include.sh
|
||||
|
||||
${examples_dir}f_keys_iterator > /dev/null
|
||||
${examples_dir}f_grib_print_data > /dev/null
|
|
@ -7,9 +7,7 @@
|
|||
! virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||
!
|
||||
!
|
||||
!
|
||||
! Description: how to set key values.
|
||||
!
|
||||
! Description: how to set key values in GRIB messages
|
||||
!
|
||||
!
|
||||
program set
|
||||
|
@ -19,7 +17,6 @@ program set
|
|||
integer :: infile,outfile
|
||||
integer :: igrib
|
||||
|
||||
|
||||
centre = 80
|
||||
call current_date(date1)
|
||||
call codes_open_file(infile, &
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
. ./include.sh
|
||||
|
||||
${examples_dir}f_set > /dev/null
|
||||
${examples_dir}f_grib_set_keys > /dev/null
|
||||
|
||||
${examples_dir}f_set_gvc > /dev/null
|
||||
[ -f out_gvc.grib2 ]
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Copyright 2005-2015 ECMWF.
|
||||
#
|
||||
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||
#
|
||||
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||
|
||||
. ./include.sh
|
||||
|
||||
${examples_dir}f_print_data > /dev/null
|
|
@ -7,9 +7,9 @@ configure_file( include.ctest.sh.in include.ctest.sh @ONLY )
|
|||
# Build the executables used by test scripts
|
||||
################################################
|
||||
list( APPEND test_bins
|
||||
keys_iterator
|
||||
print_data
|
||||
iterator
|
||||
grib_keys_iterator
|
||||
grib_print_data
|
||||
grib_iterator
|
||||
count_messages
|
||||
)
|
||||
foreach( tool ${test_bins} )
|
||||
|
@ -25,17 +25,17 @@ endforeach()
|
|||
# Now add each test
|
||||
#################################################
|
||||
list( APPEND tests
|
||||
clone
|
||||
grib_clone
|
||||
count_messages
|
||||
get
|
||||
grib_get_keys
|
||||
index
|
||||
iterator
|
||||
keys_iterator
|
||||
grib_iterator
|
||||
grib_keys_iterator
|
||||
multi_write
|
||||
nearest
|
||||
print_data
|
||||
grib_nearest
|
||||
grib_print_data
|
||||
samples
|
||||
set
|
||||
grib_set_keys
|
||||
set_missing
|
||||
binary_message
|
||||
set_bitmap
|
||||
|
|
|
@ -1,23 +1,26 @@
|
|||
if WITH_PYTHON
|
||||
AM_CFLAGS = @WARN_PEDANTIC@ @WERROR@
|
||||
|
||||
TESTS = clone.sh count_messages.sh get.sh index.sh iterator.sh keys_iterator.sh multi_write.sh nearest.sh print_data.sh \
|
||||
samples.sh set.sh set_missing.sh binary_message.sh set_bitmap.sh bufr_print_header.sh bufr_print_data.sh \
|
||||
bufr_clone.sh bufr_get_keys.sh bufr_set_keys.sh bufr_expanded.sh bufr_keys_iterator.sh bufr_subset.sh \
|
||||
TESTS = grib_clone.sh count_messages.sh grib_get_keys.sh index.sh grib_iterator.sh \
|
||||
grib_keys_iterator.sh multi_write.sh grib_nearest.sh grib_print_data.sh \
|
||||
samples.sh grib_set_keys.sh set_missing.sh binary_message.sh set_bitmap.sh \
|
||||
bufr_print_header.sh bufr_print_data.sh bufr_clone.sh bufr_get_keys.sh \
|
||||
bufr_set_keys.sh bufr_expanded.sh bufr_keys_iterator.sh bufr_subset.sh \
|
||||
bufr_attributes.sh get_product_kind.sh bufr_read_temp.sh
|
||||
TESTS_ENVIRONMENT = TOPBUILDDIR=$(top_builddir) PYTHON=$(PYTHON)
|
||||
|
||||
noinst_PROGRAMS = p_keys_iterator p_print_data p_iterator p_count_messages
|
||||
p_keys_iterator_SOURCES = keys_iterator.c
|
||||
p_print_data_SOURCES = print_data.c
|
||||
p_iterator_SOURCES = iterator.c
|
||||
noinst_PROGRAMS = p_grib_keys_iterator p_grib_print_data p_grib_iterator p_count_messages
|
||||
p_grib_keys_iterator_SOURCES = grib_keys_iterator.c
|
||||
p_grib_print_data_SOURCES = grib_print_data.c
|
||||
p_grib_iterator_SOURCES = grib_iterator.c
|
||||
p_count_messages_SOURCES = count_messages.c
|
||||
INCLUDES = -I$(top_builddir)/src
|
||||
LDADD = $(top_builddir)/src/libeccodes.la
|
||||
DEPENDENCIES = $(LDADD)
|
||||
|
||||
EXTRA_DIST = $(TESTS) include.sh clone.py count_messages.py get.py index.py iterator.py keys_iterator.py multi_write.py \
|
||||
nearest.py print_data.py samples.py set.py set_missing.py binary_message.py set_pv.py set_bitmap.py \
|
||||
EXTRA_DIST = $(TESTS) include.sh grib_clone.py count_messages.py grib_get_keys.py index.py grib_iterator.py \
|
||||
grib_keys_iterator.py multi_write.py \
|
||||
grib_nearest.py grib_print_data.py samples.py grib_set_keys.py set_missing.py binary_message.py set_pv.py set_bitmap.py \
|
||||
bufr_print_header.py bufr_print_data.py bufr_clone.py bufr_get_keys.py bufr_set_keys.py \
|
||||
bufr_expanded.py bufr_keys_iterator.py bufr_subset.py bufr_attributes.py \
|
||||
get_product_kind.py bufr_read_temp.py \
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
. ./include.sh
|
||||
|
||||
REDIRECT=/dev/null
|
||||
$PYTHON clone.py 2> $REDIRECT > $REDIRECT
|
||||
$PYTHON grib_clone.py 2> $REDIRECT > $REDIRECT
|
||||
rm -f out.clone.grib || true
|
|
@ -3,8 +3,8 @@
|
|||
. ./include.sh
|
||||
|
||||
REDIRECT=/dev/null
|
||||
$PYTHON get.py 2> $REDIRECT > $REDIRECT
|
||||
$PYTHON grib_get_keys.py 2> $REDIRECT > $REDIRECT
|
||||
|
||||
# Rerun test with no type check decorator (See GRIB-51)
|
||||
export GRIB_API_PYTHON_NO_TYPE_CHECKS=1
|
||||
$PYTHON get.py 2> $REDIRECT > $REDIRECT
|
||||
$PYTHON grib_get_keys.py 2> $REDIRECT > $REDIRECT
|
|
@ -9,13 +9,10 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* C Implementation: iterator
|
||||
* C Implementation: grib_iterator
|
||||
*
|
||||
* Description: how to use an iterator on lat/lon/values.
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
|
@ -6,15 +6,15 @@ TEMP1=temp1.$$
|
|||
TEMP2=temp2.$$
|
||||
|
||||
FILE="${data_dir}/reduced_latlon_surface.grib1"
|
||||
$PYTHON iterator.py $FILE 2> $TEMP1 > $TEMP1
|
||||
./p_iterator $FILE 2> $TEMP2 > $TEMP2
|
||||
$PYTHON grib_iterator.py $FILE 2> $TEMP1 > $TEMP1
|
||||
./p_grib_iterator $FILE 2> $TEMP2 > $TEMP2
|
||||
diff $TEMP1 $TEMP2
|
||||
|
||||
|
||||
# Polar stereographic
|
||||
FILE="${ECCODES_SAMPLES_PATH}/polar_stereographic_pl_grib2.tmpl"
|
||||
$PYTHON iterator.py $FILE 2> $TEMP1 > $TEMP1
|
||||
./p_iterator $FILE 2> $TEMP2 > $TEMP2
|
||||
$PYTHON grib_iterator.py $FILE 2> $TEMP1 > $TEMP1
|
||||
./p_grib_iterator $FILE 2> $TEMP2 > $TEMP2
|
||||
diff $TEMP1 $TEMP2
|
||||
|
||||
|
|
@ -9,13 +9,12 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* C Implementation: keys_iterator
|
||||
* C Implementation: grib_keys_iterator
|
||||
*
|
||||
* Description:
|
||||
* Example on how to use keys_iterator functions and the
|
||||
* grib_keys_iterator structure to get all the available
|
||||
* keys in a message.
|
||||
*
|
||||
* keys in a GRIB message.
|
||||
*
|
||||
*
|
||||
*/
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/sh
|
||||
|
||||
. ./include.sh
|
||||
|
||||
TEMP1=temp1.$$
|
||||
TEMP2=temp2.$$
|
||||
|
||||
$PYTHON grib_keys_iterator.py 2> $TEMP1 > $TEMP1
|
||||
./p_grib_keys_iterator ../../data/reduced_latlon_surface.grib1 2> $TEMP2 > $TEMP2
|
||||
|
||||
diff $TEMP1 $TEMP2
|
||||
rm $TEMP1 $TEMP2 || true
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
. ./include.sh
|
||||
|
||||
REDIRECT=/dev/null
|
||||
$PYTHON grib_nearest.py 2> $REDIRECT > $REDIRECT
|
|
@ -9,10 +9,9 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* C Implementation: print_data
|
||||
*
|
||||
* Description: prints all the data contained in a grib file
|
||||
* C Implementation: grib_print_data
|
||||
*
|
||||
* Description: prints all the data contained in a GRIB file
|
||||
*
|
||||
*
|
||||
*/
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/sh
|
||||
|
||||
. ./include.sh
|
||||
|
||||
TEMP1=temp1.$$
|
||||
TEMP2=temp2.$$
|
||||
|
||||
$PYTHON grib_print_data.py 2> $TEMP1 > $TEMP1
|
||||
./p_grib_print_data ../../data/regular_latlon_surface.grib1 2> $TEMP2 > $TEMP2
|
||||
|
||||
diff $TEMP1 $TEMP2
|
||||
rm $TEMP1 $TEMP2 || true
|
|
@ -3,5 +3,5 @@
|
|||
. ./include.sh
|
||||
|
||||
REDIRECT=/dev/null
|
||||
$PYTHON set.py 2> $REDIRECT > $REDIRECT
|
||||
$PYTHON grib_set_keys.py 2> $REDIRECT > $REDIRECT
|
||||
rm -f out.set.grib || true
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
. ./include.sh
|
||||
|
||||
TEMP1=temp1.$$
|
||||
TEMP2=temp2.$$
|
||||
|
||||
$PYTHON keys_iterator.py 2> $TEMP1 > $TEMP1
|
||||
./p_keys_iterator ../../data/reduced_latlon_surface.grib1 2> $TEMP2 > $TEMP2
|
||||
|
||||
diff $TEMP1 $TEMP2
|
||||
rm $TEMP1 $TEMP2 || true
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
. ./include.sh
|
||||
|
||||
REDIRECT=/dev/null
|
||||
$PYTHON nearest.py 2> $REDIRECT > $REDIRECT
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
. ./include.sh
|
||||
|
||||
TEMP1=temp1.$$
|
||||
TEMP2=temp2.$$
|
||||
|
||||
$PYTHON print_data.py 2> $TEMP1 > $TEMP1
|
||||
./p_print_data ../../data/regular_latlon_surface.grib1 2> $TEMP2 > $TEMP2
|
||||
|
||||
diff $TEMP1 $TEMP2
|
||||
rm $TEMP1 $TEMP2 || true
|
|
@ -56,7 +56,7 @@ module eccodes
|
|||
!> exit with an error message.\n Otherwise the error message can be
|
||||
!> gathered with @ref codes_get_error_string.
|
||||
!>
|
||||
!> \b Examples: \ref nearest.f90 "nearest.f90"
|
||||
!> \b Examples: \ref grib_nearest.f90 "grib_nearest.f90"
|
||||
!>
|
||||
!> @see codes_new_from_file, codes_release, codes_get
|
||||
!>
|
||||
|
@ -96,7 +96,7 @@ module eccodes
|
|||
!> exit with an error message.\n Otherwise the error message can be
|
||||
!> gathered with @ref codes_get_error_string.
|
||||
!>
|
||||
!> \b Examples: \ref nearest.f90 "nearest.f90"
|
||||
!> \b Examples: \ref grib_nearest.f90 "grib_nearest.f90"
|
||||
!>
|
||||
!> @param[in] gribid id of the grib loaded in memory
|
||||
!> @param[in] is_lsm .true. if the nearest land point is required otherwise .false.
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
!> exit with an error message.\n Otherwise the error message can be
|
||||
!> gathered with @ref codes_get_error_string.
|
||||
!>
|
||||
!> \b Examples: \ref get.f90 "get.f90", \ref print_data.f90 "print_data.f90"
|
||||
!> \b Examples: \ref grib_get_keys.f90 "grib_get_keys.f90", \ref print_data.f90 "print_data.f90"
|
||||
!>
|
||||
!> @see codes_new_from_file, codes_release, codes_set
|
||||
!>
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
!> exit with an error message.\n Otherwise the error message can be
|
||||
!> gathered with @ref codes_get_error_string.
|
||||
!>
|
||||
!> \b Examples: \ref get.f90 "get.f90", \ref print_data.f90 "print_data.f90"
|
||||
!> \b Examples: \ref grib_get_keys.f90 "grib_get_keys.f90", \ref print_data.f90 "print_data.f90"
|
||||
!>
|
||||
!> @see codes_new_from_file, codes_release, codes_set
|
||||
!>
|
||||
|
|
|
@ -52,7 +52,7 @@ module grib_api
|
|||
!> exit with an error message.\n Otherwise the error message can be
|
||||
!> gathered with @ref grib_get_error_string.
|
||||
!>
|
||||
!> \b Examples: \ref nearest.f90 "nearest.f90"
|
||||
!> \b Examples: \ref grib_nearest.f90 "grib_nearest.f90"
|
||||
!>
|
||||
!> @see grib_new_from_file, grib_release, grib_get
|
||||
!>
|
||||
|
@ -92,7 +92,7 @@ module grib_api
|
|||
!> exit with an error message.\n Otherwise the error message can be
|
||||
!> gathered with @ref grib_get_error_string.
|
||||
!>
|
||||
!> \b Examples: \ref nearest.f90 "nearest.f90"
|
||||
!> \b Examples: \ref grib_nearest.f90 "grib_nearest.f90"
|
||||
!>
|
||||
!> @param[in] gribid id of the grib loaded in memory
|
||||
!> @param[in] is_lsm .true. if the nearest land point is required otherwise .false.
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
!> exit with an error message.\n Otherwise the error message can be
|
||||
!> gathered with @ref grib_get_error_string.
|
||||
!>
|
||||
!> \b Examples: \ref get.f90 "get.f90", \ref print_data.f90 "print_data.f90"
|
||||
!> \b Examples: \ref grib_get_keys.f90 "grib_get_keys.f90", \ref print_data.f90 "print_data.f90"
|
||||
!>
|
||||
!> @see grib_new_from_file, grib_release, grib_set
|
||||
!>
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
!> exit with an error message.\n Otherwise the error message can be
|
||||
!> gathered with @ref grib_get_error_string.
|
||||
!>
|
||||
!> \b Examples: \ref get.f90 "get.f90", \ref print_data.f90 "print_data.f90"
|
||||
!> \b Examples: \ref grib_get_keys.f90 "grib_get_keys.f90", \ref print_data.f90 "print_data.f90"
|
||||
!>
|
||||
!> @see grib_new_from_file, grib_release, grib_set
|
||||
!>
|
||||
|
|
|
@ -488,7 +488,7 @@
|
|||
!> exit with an error message.\n Otherwise the error message can be
|
||||
!> gathered with @ref grib_get_error_string.
|
||||
!>
|
||||
!> \b Examples: \ref get.f90 "get.f90"
|
||||
!> \b Examples: \ref grib_get_keys.f90 "grib_get_keys.f90"
|
||||
!>
|
||||
!> @param ifile id of the opened file to be used in all the file functions.
|
||||
!> @param filename name of the file to be open
|
||||
|
@ -1202,7 +1202,7 @@
|
|||
!> If the \em fileid does not refer to an opened file an error code
|
||||
!> is returned in status.\n
|
||||
!>
|
||||
!> \b Examples: \ref get.f90 "get.f90"
|
||||
!> \b Examples: \ref grib_get_keys.f90 "grib_get_keys.f90"
|
||||
!>
|
||||
!> In case of error, if the status parameter (optional) is not given, the program will
|
||||
!> exit with an error message.\n Otherwise the error message can be
|
||||
|
@ -1249,7 +1249,7 @@
|
|||
!> The message can be accessed through its gribid and it will be available\n
|
||||
!> until @ref grib_release is called.\n
|
||||
!>
|
||||
!> \b Examples: \ref get.f90 "get.f90"
|
||||
!> \b Examples: \ref grib_get_keys.f90 "grib_get_keys.f90"
|
||||
!>
|
||||
!> @param ifile id of the file opened with @ref grib_open_file
|
||||
!> @param gribid id of the grib loaded in memory
|
||||
|
@ -1273,7 +1273,7 @@
|
|||
!> The message can be accessed through its gribid and it will be available\n
|
||||
!> until @ref grib_release is called.\n
|
||||
!>
|
||||
!> \b Examples: \ref get.f90 "get.f90"
|
||||
!> \b Examples: \ref grib_get_keys.f90 "grib_get_keys.f90"
|
||||
!>
|
||||
!> @param ifile id of the file opened with @ref grib_open_file
|
||||
!> @param gribid id of the grib loaded in memory
|
||||
|
@ -1297,7 +1297,7 @@
|
|||
!> The message can be accessed through its bufrid and it will be available\n
|
||||
!> until @ref codes_release is called.\n
|
||||
!>
|
||||
!> \b Examples: \ref get.f90 "get.f90"
|
||||
!> \b Examples: \ref grib_get_keys.f90 "grib_get_keys.f90"
|
||||
!>
|
||||
!> @param ifile id of the file opened with @ref codes_open_file
|
||||
!> @param bufrid id of the BUFR loaded in memory
|
||||
|
@ -1432,7 +1432,7 @@
|
|||
!> exit with an error message.\n Otherwise the error message can be
|
||||
!> gathered with @ref grib_get_error_string.
|
||||
!>
|
||||
!> \b Examples: \ref get.f90 "get.f90"
|
||||
!> \b Examples: \ref grib_get_keys.f90 "grib_get_keys.f90"
|
||||
!>
|
||||
!> @param gribid id of the grib loaded in memory
|
||||
!> @param status GRIB_SUCCESS if OK, integer value on error
|
||||
|
@ -1462,7 +1462,7 @@
|
|||
!> gathered with @ref grib_get_error_string.
|
||||
!>
|
||||
!>
|
||||
!> \b Examples: \ref clone.f90 "clone.f90"
|
||||
!> \b Examples: \ref grib_clone.f90 "grib_clone.f90"
|
||||
!>
|
||||
!> @param gribid_src grib to be cloned
|
||||
!> @param gribid_dest new grib returned
|
||||
|
|
|
@ -164,7 +164,7 @@ def gts_new_from_file(fileobj, headers_only = False):
|
|||
Any attempt to retrieve data values keys when in the headers only mode will
|
||||
result in a key not found error.
|
||||
|
||||
\b Examples: \ref get.py "get.py"
|
||||
\b Examples: \ref grib_get_keys.py "grib_get_keys.py"
|
||||
|
||||
@param fileobj python file object
|
||||
@param headers_only whether or not to load the message with the headers only
|
||||
|
@ -198,7 +198,7 @@ def any_new_from_file(fileobj, headers_only = False):
|
|||
The message can be accessed through its id and it will be available\n
|
||||
until @ref codes_release is called.\n
|
||||
|
||||
\b Examples: \ref get.py "get.py"
|
||||
\b Examples: \ref grib_get_keys.py "grib_get_keys.py"
|
||||
|
||||
@param fileobj python file object
|
||||
@param headers_only whether or not to load the message with the headers only
|
||||
|
@ -229,7 +229,7 @@ def bufr_new_from_file(fileobj, headers_only = False):
|
|||
Any attempt to retrieve data values keys when in the headers only mode will
|
||||
result in a key not found error.
|
||||
|
||||
\b Examples: \ref get.py "get.py"
|
||||
\b Examples: \ref grib_get_keys.py "grib_get_keys.py"
|
||||
|
||||
@param fileobj python file object
|
||||
@param headers_only whether or not to load the message with the headers only
|
||||
|
@ -260,7 +260,7 @@ def grib_new_from_file(fileobj, headers_only = False):
|
|||
Any attempt to retrieve data values keys when in the headers only mode will
|
||||
result in a key not found error.
|
||||
|
||||
\b Examples: \ref get.py "get.py"
|
||||
\b Examples: \ref grib_get_keys.py "grib_get_keys.py"
|
||||
|
||||
@param fileobj python file object
|
||||
@param headers_only whether or not to load the message with the headers only
|
||||
|
@ -312,7 +312,7 @@ def grib_release(gribid):
|
|||
"""
|
||||
@brief Free the memory for the message referred as gribid.
|
||||
|
||||
\b Examples: \ref get.py "get.py"
|
||||
\b Examples: \ref grib_get_keys.py "grib_get_keys.py"
|
||||
|
||||
@param gribid id of the grib loaded in memory
|
||||
@exception GribInternalError
|
||||
|
@ -372,7 +372,7 @@ def grib_write(gribid, fileobj):
|
|||
"""
|
||||
@brief Write a message to a file.
|
||||
|
||||
\b Examples: \ref set.py "set.py"
|
||||
\b Examples: \ref grib_set_keys.py "grib_set_keys.py"
|
||||
|
||||
@param gribid id of the grib loaded in memory
|
||||
@param fileobj python file object
|
||||
|
@ -416,7 +416,7 @@ def grib_get_size(gribid,key):
|
|||
"""
|
||||
@brief Get the size of an array key.
|
||||
|
||||
\b Examples: \ref get.py "get.py",\ref count_messages.py "count_messages.py"
|
||||
\b Examples: \ref grib_get_keys.py "grib_get_keys.py",\ref count_messages.py "count_messages.py"
|
||||
|
||||
@param gribid id of the grib loaded in memory
|
||||
@param key name of the key
|
||||
|
@ -526,7 +526,7 @@ def grib_iterator_new(gribid,mode):
|
|||
The geoiterator can be used to go through all the geopoints in a message and
|
||||
retrieve the values corresponding to those geopoints.
|
||||
|
||||
\b Examples: \ref iterator.py "iterator.py"
|
||||
\b Examples: \ref grib_iterator.py "grib_iterator.py"
|
||||
|
||||
@param gribid id of the grib loaded in memory
|
||||
@param mode flags for future use
|
||||
|
@ -541,7 +541,7 @@ def grib_iterator_delete(iterid):
|
|||
"""
|
||||
@brief Delete a geoiterator and free memory.
|
||||
|
||||
\b Examples: \ref iterator.py "iterator.py"
|
||||
\b Examples: \ref grib_iterator.py "grib_iterator.py"
|
||||
|
||||
@param iterid geoiterator id
|
||||
@exception GribInternalError
|
||||
|
@ -553,7 +553,7 @@ def grib_iterator_next(iterid):
|
|||
"""
|
||||
@brief Retrieve the next value from a geoiterator.
|
||||
|
||||
\b Examples: \ref iterator.py "iterator.py"
|
||||
\b Examples: \ref grib_iterator.py "grib_iterator.py"
|
||||
|
||||
@param iterid geoiterator id
|
||||
@return tuple with the latitude, longitude and value
|
||||
|
@ -583,7 +583,7 @@ def grib_keys_iterator_new(gribid,namespace=None):
|
|||
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.
|
||||
|
||||
\b Examples: \ref iterator.py "iterator.py"
|
||||
\b Examples: \ref grib_iterator.py "grib_iterator.py"
|
||||
|
||||
@param gribid id of the grib loaded in memory
|
||||
@param namespace the namespace of the keys to search for (all the keys if None)
|
||||
|
@ -599,7 +599,7 @@ def grib_keys_iterator_next(iterid):
|
|||
"""
|
||||
@brief Advance to the next keys iterator value.
|
||||
|
||||
\b Examples: \ref keys_iterator.py "keys_iterator.py"
|
||||
\b Examples: \ref grib_keys_iterator.py "grib_keys_iterator.py"
|
||||
|
||||
@param iterid keys iterator id created with @ref grib_keys_iterator_new
|
||||
@exception GribInternalError
|
||||
|
@ -614,7 +614,7 @@ def grib_keys_iterator_delete(iterid):
|
|||
"""
|
||||
@brief Delete a keys iterator and free memory.
|
||||
|
||||
\b Examples: \ref keys_iterator.py "keys_iterator.py"
|
||||
\b Examples: \ref grib_keys_iterator.py "grib_keys_iterator.py"
|
||||
|
||||
@param iterid keys iterator id created with @ref grib_keys_iterator_new
|
||||
@exception GribInternalError
|
||||
|
@ -626,7 +626,7 @@ def grib_keys_iterator_get_name(iterid):
|
|||
"""
|
||||
@brief Get the name of a key from a keys iterator.
|
||||
|
||||
\b Examples: \ref keys_iterator.py "keys_iterator.py"
|
||||
\b Examples: \ref grib_keys_iterator.py "grib_keys_iterator.py"
|
||||
|
||||
@param iterid keys iterator id created with @ref grib_keys_iterator_new
|
||||
@return key name to be retrieved
|
||||
|
@ -744,7 +744,7 @@ def grib_clone(gribid_src):
|
|||
Create a copy of a given message (\em gribid_src) resulting in a new
|
||||
message in memory (\em gribid_dest) identical to the original one.
|
||||
|
||||
\b Examples: \ref clone.py "clone.py"
|
||||
\b Examples: \ref grib_clone.py "grib_clone.py"
|
||||
|
||||
@param gribid_src id of grib to be cloned
|
||||
@return id of clone
|
||||
|
@ -1345,7 +1345,7 @@ def grib_find_nearest(gribid,inlat,inlon,is_lsm = False,npoints = 1):
|
|||
|
||||
The number of nearest points returned can be controled through the npoints function argument.
|
||||
|
||||
\b Examples: \ref nearest.py "nearest.py"
|
||||
\b Examples: \ref grib_nearest.py "grib_nearest.py"
|
||||
|
||||
@param gribid id of the grib loaded in memory
|
||||
@param inlat latitude of the point
|
||||
|
@ -1418,7 +1418,7 @@ def grib_get(gribid,key, ktype=None):
|
|||
|
||||
The \em gribid references a grib message loaded in memory.
|
||||
|
||||
\b Examples: \ref get.py "get.py", \ref print_data.py "print_data.py"
|
||||
\b Examples: \ref grib_get_keys.py "grib_get_keys.py", \ref print_data.py "print_data.py"
|
||||
|
||||
@see grib_new_from_file, grib_release, grib_set
|
||||
|
||||
|
@ -1496,7 +1496,7 @@ def grib_set_values(gribid,values):
|
|||
|
||||
The elements of the input sequence need to be convertible to a double.
|
||||
|
||||
\b Examples: \ref clone.py "clone.py", \ref samples.py "samples.py"
|
||||
\b Examples: \ref grib_clone.py "grib_clone.py", \ref samples.py "samples.py"
|
||||
|
||||
@param gribid id of the grib loaded in memory
|
||||
@param values array of values to set as tuple, list, array or numpy.ndarray
|
||||
|
@ -1510,7 +1510,7 @@ def grib_set(gribid,key,value):
|
|||
|
||||
The input value can be a python int, float or str.
|
||||
|
||||
\b Examples: \ref set.py "set.py"
|
||||
\b Examples: \ref grib_set_keys.py "grib_set_keys.py"
|
||||
|
||||
@see grib_new_from_file, grib_release, grib_get
|
||||
|
||||
|
|
Loading…
Reference in New Issue