mirror of https://github.com/ecmwf/eccodes.git
ECC-774: Change packingType: error message issued despite success (+test)
This commit is contained in:
parent
24c3c701f7
commit
d6a27c9a0c
|
@ -294,7 +294,8 @@ static int unpack_double(grib_accessor* a, double* val, size_t *len)
|
||||||
!= GRIB_SUCCESS)
|
!= GRIB_SUCCESS)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if((ret = grib_get_long_internal(gh,self->ieee_floats,&ieee_floats)) != GRIB_SUCCESS)
|
/* ECC-774: don't use grib_get_long_internal */
|
||||||
|
if((ret = grib_get_long(gh,self->ieee_floats,&ieee_floats)) != GRIB_SUCCESS)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if((ret = grib_get_double_internal(gh,self->laplacianOperator,&laplacianOperator))
|
if((ret = grib_get_double_internal(gh,self->laplacianOperator,&laplacianOperator))
|
||||||
|
|
|
@ -62,6 +62,7 @@ list( APPEND tests_no_data_reqd
|
||||||
# These tests do require data downloads
|
# These tests do require data downloads
|
||||||
list( APPEND tests_data_reqd
|
list( APPEND tests_data_reqd
|
||||||
grib_double_cmp
|
grib_double_cmp
|
||||||
|
change_packing
|
||||||
bufr_dump_data
|
bufr_dump_data
|
||||||
bufr_dump_decode_filter
|
bufr_dump_decode_filter
|
||||||
bufr_dump_encode_filter
|
bufr_dump_encode_filter
|
||||||
|
|
|
@ -11,48 +11,64 @@ grib1=${data_dir}/reduced_latlon_surface_constant.grib1
|
||||||
grib2=${data_dir}/reduced_latlon_surface_constant.grib2
|
grib2=${data_dir}/reduced_latlon_surface_constant.grib2
|
||||||
|
|
||||||
packing1="
|
packing1="
|
||||||
grid_ieee
|
grid_ieee
|
||||||
grid_simple
|
grid_simple
|
||||||
grid_simple_matrix"
|
grid_simple_matrix"
|
||||||
|
|
||||||
packing2="
|
packing2="
|
||||||
grid_ieee
|
grid_ieee
|
||||||
grid_jpeg
|
grid_jpeg
|
||||||
grid_simple
|
grid_simple
|
||||||
grid_simple_log_preprocessing
|
grid_simple_matrix"
|
||||||
grid_simple_matrix"
|
#TODO: grid_simple_log_preprocessing
|
||||||
|
|
||||||
temp=temp.grib_
|
temp=temp.change_packing.grib
|
||||||
rm -f $temp
|
rm -f $temp
|
||||||
|
|
||||||
# --- test changing the packing
|
# --- test changing the packing
|
||||||
# arg 1 : input grib file
|
# arg 1 : input grib file
|
||||||
# arg 2-n : packing types to test
|
# arg 2-n : packing types to test
|
||||||
function test_packing() {
|
function test_packing() {
|
||||||
grib=$1
|
grib=$1
|
||||||
|
|
||||||
if [ ! -f $grib ]; then
|
if [ ! -f $grib ]; then
|
||||||
echo "Input data missing"
|
echo "Input data missing"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
shift
|
shift
|
||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
packing=$1
|
packing=$1
|
||||||
|
|
||||||
${tools_dir}/grib_set -r -s packingType=$packing $grib $temp
|
${tools_dir}/grib_set -r -s packingType=$packing $grib $temp
|
||||||
result=`${tools_dir}/grib_get -p packingType $temp`
|
result=`${tools_dir}/grib_get -p packingType $temp`
|
||||||
|
|
||||||
if [ "$result" != "$packing" ]; then
|
if [ "$result" != "$packing" ]; then
|
||||||
echo "Setting packing did not go right"
|
echo "Setting packing did not go right"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
rm -f $temp
|
rm -f $temp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ECC-774
|
||||||
|
# ------------
|
||||||
|
input=${data_dir}/spherical_model_level.grib2
|
||||||
|
output=`${tools_dir}/grib_set -r -s packingType=spectral_simple $input $temp 2>&1`
|
||||||
|
# Check no error was posted i.e. output string is empty
|
||||||
|
[ -z "$output" ]
|
||||||
|
res1=`${tools_dir}/grib_get '-F%.1f' -p avg,enorm $input`
|
||||||
|
res2=`${tools_dir}/grib_get '-F%.1f' -p avg,enorm $temp`
|
||||||
|
[ "$res1" = "$res2" ]
|
||||||
|
rm -f $temp
|
||||||
|
|
||||||
|
|
||||||
|
# Change grib packing test
|
||||||
|
# -------------------------
|
||||||
test_packing $grib1 $packing1
|
test_packing $grib1 $packing1
|
||||||
test_packing $grib2 $packing2
|
test_packing $grib2 $packing2
|
||||||
|
|
||||||
|
rm -f $temp
|
||||||
|
|
Loading…
Reference in New Issue