mirror of https://github.com/ecmwf/eccodes.git
Sub hourly: Extra tests for native type of step keys
This commit is contained in:
parent
305f636ece
commit
afc918b3f0
|
@ -77,6 +77,7 @@ if( HAVE_BUILD_TOOLS )
|
||||||
grib_clone
|
grib_clone
|
||||||
grib_copy_message
|
grib_copy_message
|
||||||
grib_ensemble_index
|
grib_ensemble_index
|
||||||
|
grib_index
|
||||||
grib_set_pv
|
grib_set_pv
|
||||||
grib_set_bitmap
|
grib_set_bitmap
|
||||||
grib_list
|
grib_list
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
static void usage(const char* prog)
|
static void usage(const char* prog)
|
||||||
{
|
{
|
||||||
printf("usage: %s infile\n", prog);
|
printf("usage: %s gribfile indexfile\n", prog);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +27,8 @@ int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
codes_index* index = NULL;
|
codes_index* index = NULL;
|
||||||
codes_handle* h = NULL;
|
codes_handle* h = NULL;
|
||||||
char* infile = NULL;
|
char* inputfile = NULL;
|
||||||
|
char* indexfile = NULL;
|
||||||
long *steps, *levels, *numbers; /* arrays */
|
long *steps, *levels, *numbers; /* arrays */
|
||||||
char** shortName = NULL;
|
char** shortName = NULL;
|
||||||
int i, j, k, l;
|
int i, j, k, l;
|
||||||
|
@ -37,8 +38,9 @@ int main(int argc, char* argv[])
|
||||||
size_t lenshortName = sizeof(oshortName);
|
size_t lenshortName = sizeof(oshortName);
|
||||||
int ret = 0, count = 0;
|
int ret = 0, count = 0;
|
||||||
|
|
||||||
if (argc != 2) usage(argv[0]);
|
if (argc != 3) usage(argv[0]);
|
||||||
infile = argv[1];
|
inputfile = argv[1];
|
||||||
|
indexfile = argv[2];
|
||||||
|
|
||||||
printf("indexing...\n");
|
printf("indexing...\n");
|
||||||
|
|
||||||
|
@ -50,7 +52,7 @@ int main(int argc, char* argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
/* indexes a file */
|
/* indexes a file */
|
||||||
ret = codes_index_add_file(index, infile);
|
ret = codes_index_add_file(index, inputfile);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
fprintf(stderr, "Error: %s\n", codes_get_error_message(ret));
|
fprintf(stderr, "Error: %s\n", codes_get_error_message(ret));
|
||||||
exit(ret);
|
exit(ret);
|
||||||
|
@ -152,7 +154,7 @@ int main(int argc, char* argv[])
|
||||||
}
|
}
|
||||||
printf(" %d messages selected\n", count);
|
printf(" %d messages selected\n", count);
|
||||||
|
|
||||||
codes_index_write(index, "out.gribidx");
|
codes_index_write(index, indexfile);
|
||||||
codes_index_delete(index);
|
codes_index_delete(index);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -11,8 +11,13 @@
|
||||||
|
|
||||||
label="grib_index_c"
|
label="grib_index_c"
|
||||||
tempIndex=temp.$label.idx
|
tempIndex=temp.$label.idx
|
||||||
|
tempText=temp.$label.txt
|
||||||
|
|
||||||
input=$data_dir/tigge_cf_ecmwf.grib2
|
input=$data_dir/tigge_cf_ecmwf.grib2
|
||||||
${examples_dir}/c_grib_index $input $tempIndex
|
${examples_dir}/c_grib_index $input $tempIndex > $tempText
|
||||||
|
|
||||||
rm -f $tempIndex
|
grep -q "43 messages selected" $tempText
|
||||||
|
|
||||||
|
${tools_dir}/grib_dump $tempIndex
|
||||||
|
|
||||||
|
rm -f $tempIndex $tempText
|
||||||
|
|
|
@ -445,6 +445,17 @@ status=$?
|
||||||
set -e
|
set -e
|
||||||
[ $status -ne 0 ]
|
[ $status -ne 0 ]
|
||||||
|
|
||||||
|
# Setting step
|
||||||
|
# -------------
|
||||||
|
input=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
|
||||||
|
echo 'set step = 12; write;' | ${tools_dir}/grib_filter -o $tempGrib - $input
|
||||||
|
${tools_dir}/grib_compare -b forecastTime $input $tempGrib
|
||||||
|
grib_check_key_equals $tempGrib step 12
|
||||||
|
grib_check_key_equals $tempGrib forecastTime 12
|
||||||
|
echo 'set endStep = 12; write;' | ${tools_dir}/grib_filter -o $tempGrib - $input
|
||||||
|
grib_check_key_equals $tempGrib step 12
|
||||||
|
grib_check_key_equals $tempGrib forecastTime 12
|
||||||
|
|
||||||
|
|
||||||
# Bad filter
|
# Bad filter
|
||||||
# ----------------
|
# ----------------
|
||||||
|
|
Loading…
Reference in New Issue