mirror of https://github.com/ecmwf/eccodes.git
Merge branch 'develop' into feature/modernisation-inheritance
This commit is contained in:
commit
41a7e62306
|
@ -209,7 +209,11 @@ static int init_oblate(grib_handle* h,
|
||||||
sinphi_ = sin(standardParallelInRadians); /* (P->phi0); */
|
sinphi_ = sin(standardParallelInRadians); /* (P->phi0); */
|
||||||
Q__sinb1 = pj_qsfn(sinphi_, e, one_es) / Q__qp;
|
Q__sinb1 = pj_qsfn(sinphi_, e, one_es) / Q__qp;
|
||||||
Q__cosb1 = sqrt(1.0 - Q__sinb1 * Q__sinb1);
|
Q__cosb1 = sqrt(1.0 - Q__sinb1 * Q__sinb1);
|
||||||
Q__dd = cos(standardParallelInRadians) / (sqrt(1. - es * sinphi_ * sinphi_) * Q__rq * Q__cosb1);
|
if (Q__cosb1 == 0) {
|
||||||
|
Q__dd = 1.0;
|
||||||
|
} else {
|
||||||
|
Q__dd = cos(standardParallelInRadians) / (sqrt(1. - es * sinphi_ * sinphi_) * Q__rq * Q__cosb1);
|
||||||
|
}
|
||||||
Q__ymf = (Q__xmf = Q__rq) / Q__dd;
|
Q__ymf = (Q__xmf = Q__rq) / Q__dd;
|
||||||
Q__xmf *= Q__dd;
|
Q__xmf *= Q__dd;
|
||||||
|
|
||||||
|
@ -253,7 +257,12 @@ static int init_oblate(grib_handle* h,
|
||||||
xy_y *= Q__dd;
|
xy_y *= Q__dd;
|
||||||
rho = hypot(xy_x, xy_y);
|
rho = hypot(xy_x, xy_y);
|
||||||
Assert(rho >= EPS10); /* TODO(masn): check */
|
Assert(rho >= EPS10); /* TODO(masn): check */
|
||||||
sCe = 2. * asin(.5 * rho / Q__rq);
|
const double asin_arg = (0.5 * rho / Q__rq);
|
||||||
|
if (asin_arg < -1.0 || asin_arg > 1.0) {
|
||||||
|
grib_context_log(h->context, GRIB_LOG_ERROR, "Invalid value: arcsin argument=%g", asin_arg);
|
||||||
|
return GRIB_GEOCALCULUS_PROBLEM;
|
||||||
|
}
|
||||||
|
sCe = 2. * asin(asin_arg);
|
||||||
cCe = cos(sCe);
|
cCe = cos(sCe);
|
||||||
sCe = sin(sCe);
|
sCe = sin(sCe);
|
||||||
xy_x *= sCe;
|
xy_x *= sCe;
|
||||||
|
|
|
@ -226,6 +226,13 @@ if( HAVE_BUILD_TOOLS )
|
||||||
grib_keys_iter
|
grib_keys_iter
|
||||||
grib_keys_iter_skip
|
grib_keys_iter_skip
|
||||||
grib_geo_iter
|
grib_geo_iter
|
||||||
|
grib_to_json
|
||||||
|
grib_to_ppm
|
||||||
|
grib_merge
|
||||||
|
big2gribex
|
||||||
|
grib_sub_area_check
|
||||||
|
grib_list_keys
|
||||||
|
grib_histogram
|
||||||
bufr_get_element
|
bufr_get_element
|
||||||
bufr_wmo_tables
|
bufr_wmo_tables
|
||||||
bufr_extract_headers
|
bufr_extract_headers
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# (C) Copyright 2005- 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.ctest.sh
|
||||||
|
|
||||||
|
label="big2gribex_test"
|
||||||
|
tempGrib=temp.$label.grib
|
||||||
|
|
||||||
|
if [ ! -x ${tools_dir}/big2gribex ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
${tools_dir}/big2gribex $data_dir/test.grib1 $tempGrib
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
rm -f $tempGrib
|
|
@ -43,6 +43,7 @@ tempGrib=temp.\$label.grib
|
||||||
tempBufr=temp.\$label.bufr
|
tempBufr=temp.\$label.bufr
|
||||||
tempFilt=temp.\$label.filt
|
tempFilt=temp.\$label.filt
|
||||||
tempLog=temp.\$label.log
|
tempLog=temp.\$label.log
|
||||||
|
tempOut=temp.\$label.txt
|
||||||
tempRef=temp.\$label.ref
|
tempRef=temp.\$label.ref
|
||||||
|
|
||||||
sample_grib2=\$ECCODES_SAMPLES_PATH/GRIB2.tmpl
|
sample_grib2=\$ECCODES_SAMPLES_PATH/GRIB2.tmpl
|
||||||
|
@ -61,7 +62,8 @@ sample_bufr4=\$ECCODES_SAMPLES_PATH/BUFR4.tmpl
|
||||||
#\${tools_dir}/bufr_set
|
#\${tools_dir}/bufr_set
|
||||||
#...
|
#...
|
||||||
|
|
||||||
rm -f \$tempGrib \$tempBufr \$tempFilt \$tempLog \$tempRef
|
# Clean up
|
||||||
|
rm -f \$tempGrib \$tempBufr \$tempFilt \$tempLog \$tempOut \$tempRef
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo >&2
|
echo >&2
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# (C) Copyright 2005- 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.ctest.sh
|
||||||
|
|
||||||
|
label="grib_histogram_test"
|
||||||
|
REDIRECT=/dev/null
|
||||||
|
tempOut=temp.$label.txt
|
||||||
|
|
||||||
|
${tools_dir}/grib_histogram $ECCODES_SAMPLES_PATH/GRIB1.tmpl > $tempOut
|
||||||
|
${tools_dir}/grib_histogram $ECCODES_SAMPLES_PATH/GRIB2.tmpl > $tempOut
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
rm -f $tempOut
|
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# (C) Copyright 2005- 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.ctest.sh
|
||||||
|
|
||||||
|
label="grib_list_keys_test"
|
||||||
|
tempOut=temp.$label.txt
|
||||||
|
|
||||||
|
if [ -d "$ECCODES_DEFINITION_PATH" ]; then
|
||||||
|
if [ -x "${tools_dir}/grib_list_keys" ]; then
|
||||||
|
${tools_dir}/grib_list_keys $ECCODES_DEFINITION_PATH/boot.def > $tempOut
|
||||||
|
${tools_dir}/grib_list_keys $ECCODES_DEFINITION_PATH/grib2/template.4.2000.def > $tempOut
|
||||||
|
${tools_dir}/grib_list_keys $ECCODES_DEFINITION_PATH/grib2/template.3.0.def > $tempOut
|
||||||
|
${tools_dir}/grib_list_keys $ECCODES_DEFINITION_PATH/grib2/template.3.120.def > $tempOut
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
rm -f $tempOut
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# (C) Copyright 2005- 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.ctest.sh
|
||||||
|
|
||||||
|
label="grib_merge_test"
|
||||||
|
|
||||||
|
tempGrib=temp.$label.grib
|
||||||
|
|
||||||
|
f1=$ECCODES_SAMPLES_PATH/regular_ll_pl_grib1.tmpl
|
||||||
|
f2=$ECCODES_SAMPLES_PATH/regular_ll_sfc_grib1.tmpl
|
||||||
|
${tools_dir}/grib_merge $f1 $f2 $tempGrib
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
rm -f $tempGrib
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# (C) Copyright 2005- 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.ctest.sh
|
||||||
|
|
||||||
|
label="grib_sub_area_check_test"
|
||||||
|
tempOut=temp.$label.txt
|
||||||
|
|
||||||
|
if [ ! -x "${tools_dir}/gg_sub_area_check" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
set +e
|
||||||
|
${tools_dir}/gg_sub_area_check
|
||||||
|
status=$?
|
||||||
|
set -e
|
||||||
|
[ $status -ne 0 ]
|
||||||
|
|
||||||
|
f1=$ECCODES_SAMPLES_PATH/GRIB1.tmpl
|
||||||
|
f2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
|
||||||
|
${tools_dir}/gg_sub_area_check $f1 $f2 > $tempOut
|
||||||
|
|
||||||
|
f1=$ECCODES_SAMPLES_PATH/reduced_gg_pl_32_grib1.tmpl
|
||||||
|
f2=$ECCODES_SAMPLES_PATH/reduced_gg_pl_32_grib2.tmpl
|
||||||
|
${tools_dir}/gg_sub_area_check $f1 $f2 > $tempOut
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
rm -f $tempOut
|
|
@ -0,0 +1,43 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# (C) Copyright 2005- 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.ctest.sh
|
||||||
|
|
||||||
|
label="grib_to_json_test"
|
||||||
|
REDIRECT=/dev/null
|
||||||
|
tempOut=temp.$label.txt
|
||||||
|
|
||||||
|
if [ ! -x "${tools_dir}/grib_to_json" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Currently only works for GRIB edition 1 !!!
|
||||||
|
${tools_dir}/grib_to_json $ECCODES_SAMPLES_PATH/GRIB1.tmpl > $tempOut
|
||||||
|
|
||||||
|
# Decide if we have the JSON verifier commandline utility
|
||||||
|
JSON_VERIF="json_xs"
|
||||||
|
JSON_CHECK=""
|
||||||
|
if command -v $JSON_VERIF >/dev/null 2>&1; then
|
||||||
|
JSON_CHECK=$JSON_VERIF
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check the json_xs command actually works!
|
||||||
|
set +e
|
||||||
|
echo '[]' | json_xs > $REDIRECT 2>&1
|
||||||
|
if [ $? -ne 0 ]; then JSON_CHECK=""; fi
|
||||||
|
set -e
|
||||||
|
echo "Using $JSON_CHECK ..."
|
||||||
|
|
||||||
|
if test "x$JSON_CHECK" != "x"; then
|
||||||
|
json_xs < $tempOut >$REDIRECT 2> $REDIRECT
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
rm -f $tempOut
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# (C) Copyright 2005- 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.ctest.sh
|
||||||
|
|
||||||
|
label="grib_to_ppm_test"
|
||||||
|
tempOut=temp.$label.txt
|
||||||
|
|
||||||
|
if [ ! -x "${tools_dir}/grib2ppm" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# No options
|
||||||
|
${tools_dir}/grib2ppm
|
||||||
|
|
||||||
|
${tools_dir}/grib2ppm -l 6 -u 7 -c $data_dir/sample.grib2 > $tempOut
|
||||||
|
${tools_dir}/grib2ppm $data_dir/sample.grib2 > $tempOut
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
rm -f $tempOut
|
|
@ -8,18 +8,16 @@
|
||||||
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Implementation: big2gribex
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "grib_api.h"
|
#include "grib_api.h"
|
||||||
void usage(char*);
|
|
||||||
|
static void usage(const char* progname)
|
||||||
|
{
|
||||||
|
printf("\nUsage: %s grib_in grib_out\n", progname);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
|
@ -70,12 +68,5 @@ int main(int argc, char* argv[])
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void usage(char* progname)
|
|
||||||
{
|
|
||||||
printf("\nUsage: %s grib_in grib_out\n", progname);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ grib_option grib_options[] = {
|
||||||
{ "A:", 0, 0, 0, 1, 0 },
|
{ "A:", 0, 0, 0, 1, 0 },
|
||||||
{ "t:", "factor", "Compare data values using factor multiplied by the tolerance specified in options -R -A.\n", 0, 1, 0 },
|
{ "t:", "factor", "Compare data values using factor multiplied by the tolerance specified in options -R -A.\n", 0, 1, 0 },
|
||||||
{ "w:", 0, 0, 0, 1, 0 },
|
{ "w:", 0, 0, 0, 1, 0 },
|
||||||
{ "f", 0, 0, 0, 1, 0 },
|
{ "f", 0, "Forcefully compare, do not stop after first difference.\n", 0, 1, 0 },
|
||||||
{ "F", 0, 0, 1, 0, 0 },
|
{ "F", 0, 0, 1, 0, 0 },
|
||||||
{ "q", 0, 0, 1, 0, 0 },
|
{ "q", 0, 0, 1, 0, 0 },
|
||||||
{ "M", 0, 0, 1, 0, 0 },
|
{ "M", 0, 0, 1, 0, 0 },
|
||||||
|
|
|
@ -122,7 +122,7 @@ int main(int argc, char* argv[])
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
f = fopen(argv[i], "r");
|
f = fopen(argv[i], "rb");
|
||||||
if (!f) {
|
if (!f) {
|
||||||
perror(argv[i]);
|
perror(argv[i]);
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -226,7 +226,9 @@ int main(int argc, char* argv[])
|
||||||
if (v > ucap) {
|
if (v > ucap) {
|
||||||
v = ucap;
|
v = ucap;
|
||||||
}
|
}
|
||||||
c = (v - min) * 65535 / (max - min);
|
double denom = 1;
|
||||||
|
if (max != min) denom = max - min;
|
||||||
|
c = (v - min) * 65535 / denom;
|
||||||
hh = c >> 8;
|
hh = c >> 8;
|
||||||
l = c & 0xff;
|
l = c & 0xff;
|
||||||
printf("%c", hh);
|
printf("%c", hh);
|
||||||
|
|
|
@ -27,7 +27,7 @@ grib_option grib_options[] = {
|
||||||
{ "P", 0, "Compare data values using the packing error as tolerance.\n", 0, 1, 0 },
|
{ "P", 0, "Compare data values using the packing error as tolerance.\n", 0, 1, 0 },
|
||||||
{ "T:", "factor", "Compare data values using factor multiplied by the tolerance specified in options -P -R -A.\n", 0, 1, 0 },
|
{ "T:", "factor", "Compare data values using factor multiplied by the tolerance specified in options -P -R -A.\n", 0, 1, 0 },
|
||||||
{ "w:", 0, 0, 0, 1, 0 },
|
{ "w:", 0, 0, 0, 1, 0 },
|
||||||
{ "f", 0, 0, 0, 1, 0 },
|
{ "f", 0, "Forcefully compare, do not stop after first difference.\n", 0, 1, 0 },
|
||||||
{ "F", 0, 0, 1, 0, 0 },
|
{ "F", 0, 0, 1, 0, 0 },
|
||||||
{ "q", 0, 0, 1, 0, 0 },
|
{ "q", 0, 0, 1, 0, 0 },
|
||||||
{ "M", 0, 0, 1, 0, 0 },
|
{ "M", 0, 0, 1, 0, 0 },
|
||||||
|
|
|
@ -23,7 +23,7 @@ grib_option grib_options[] = {
|
||||||
/*{"R:",0,0,0,1,0},*/
|
/*{"R:",0,0,0,1,0},*/
|
||||||
/*{"A:",0,0,0,1,0},*/
|
/*{"A:",0,0,0,1,0},*/
|
||||||
{ "w:", 0, 0, 0, 1, 0 },
|
{ "w:", 0, 0, 0, 1, 0 },
|
||||||
{ "f", 0, 0, 0, 1, 0 },
|
{ "f", 0, "Forcefully compare, do not stop after first difference.\n", 0, 1, 0 },
|
||||||
{ "F", 0, 0, 1, 0, 0 },
|
{ "F", 0, 0, 1, 0, 0 },
|
||||||
{ "q", 0, 0, 1, 0, 0 },
|
{ "q", 0, 0, 1, 0, 0 },
|
||||||
{ "I", 0, 0, 1, 0, 0 },
|
{ "I", 0, 0, 1, 0, 0 },
|
||||||
|
@ -559,7 +559,7 @@ static int compare_values(const grib_runtime_options* options, grib_handle* h1,
|
||||||
return GRIB_SUCCESS;
|
return GRIB_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int compare_all_dump_keys(grib_handle* h1, grib_handle* h2, grib_runtime_options* options, int* err)
|
static int compare_all_dump_keys(grib_handle* h1, grib_handle* h2, grib_runtime_options* options, int* pErr)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
const char* name = NULL;
|
const char* name = NULL;
|
||||||
|
@ -580,7 +580,7 @@ static int compare_all_dump_keys(grib_handle* h1, grib_handle* h2, grib_runtime_
|
||||||
if (xa == NULL || (xa->flags & GRIB_ACCESSOR_FLAG_DUMP) == 0)
|
if (xa == NULL || (xa->flags & GRIB_ACCESSOR_FLAG_DUMP) == 0)
|
||||||
continue;
|
continue;
|
||||||
if (compare_values(options, h1, h2, name, GRIB_TYPE_UNDEFINED)) {
|
if (compare_values(options, h1, h2, name, GRIB_TYPE_UNDEFINED)) {
|
||||||
(*err)++;
|
(*pErr)++;
|
||||||
write_messages(h1, h2);
|
write_messages(h1, h2);
|
||||||
ret = 1;
|
ret = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ grib_option grib_options[] = {
|
||||||
{ "R:", 0, 0, 0, 1, 0 },
|
{ "R:", 0, 0, 0, 1, 0 },
|
||||||
{ "A:", 0, 0, 0, 1, 0 },
|
{ "A:", 0, 0, 0, 1, 0 },
|
||||||
{ "w:", 0, 0, 0, 1, 0 },
|
{ "w:", 0, 0, 0, 1, 0 },
|
||||||
{ "f", 0, 0, 0, 1, 0 },
|
{ "f", 0, "Forcefully compare, do not stop after first difference.\n", 0, 1, 0 },
|
||||||
{ "F", 0, 0, 1, 0, 0 },
|
{ "F", 0, 0, 1, 0, 0 },
|
||||||
{ "q", 0, 0, 1, 0, 0 },
|
{ "q", 0, 0, 1, 0, 0 },
|
||||||
{ "I", 0, 0, 1, 0, 0 },
|
{ "I", 0, 0, 1, 0, 0 },
|
||||||
|
@ -713,7 +713,7 @@ static int compare_values(const grib_runtime_options* options, grib_handle* h1,
|
||||||
return GRIB_SUCCESS;
|
return GRIB_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int compare_all_dump_keys(grib_handle* h1, grib_handle* h2, grib_runtime_options* options, int* err)
|
static int compare_all_dump_keys(grib_handle* h1, grib_handle* h2, grib_runtime_options* options, int* pErr)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
const char* name = NULL;
|
const char* name = NULL;
|
||||||
|
@ -733,7 +733,7 @@ static int compare_all_dump_keys(grib_handle* h1, grib_handle* h2, grib_runtime_
|
||||||
if (xa == NULL || (xa->flags & GRIB_ACCESSOR_FLAG_DUMP) == 0)
|
if (xa == NULL || (xa->flags & GRIB_ACCESSOR_FLAG_DUMP) == 0)
|
||||||
continue;
|
continue;
|
||||||
if (compare_values(options, h1, h2, name, GRIB_TYPE_UNDEFINED)) {
|
if (compare_values(options, h1, h2, name, GRIB_TYPE_UNDEFINED)) {
|
||||||
(*err)++;
|
(*pErr)++;
|
||||||
write_messages(h1, h2);
|
write_messages(h1, h2);
|
||||||
ret = 1;
|
ret = 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue