2016-04-29 14:12:24 +00:00
|
|
|
#!/bin/sh
|
2020-01-28 14:32:34 +00:00
|
|
|
# (C) Copyright 2005- ECMWF.
|
2016-04-29 14:12:24 +00:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
#
|
|
|
|
|
2022-04-03 22:02:48 +00:00
|
|
|
. ./include.ctest.sh
|
2016-04-29 14:12:24 +00:00
|
|
|
|
2022-07-22 16:57:02 +00:00
|
|
|
label="grib_png_test"
|
2016-04-29 14:12:24 +00:00
|
|
|
temp=${label}".grib.tmp"
|
|
|
|
temp1=${label}".1.tmp"
|
|
|
|
temp2=${label}".2.tmp"
|
2023-01-21 21:53:43 +00:00
|
|
|
tempErr=${label}.err
|
2016-04-29 14:12:24 +00:00
|
|
|
|
|
|
|
files="
|
|
|
|
reduced_gaussian_model_level.grib2
|
|
|
|
reduced_gaussian_sub_area.grib2
|
2023-01-14 19:58:31 +00:00
|
|
|
regular_gaussian_model_level.grib2
|
2016-04-29 14:12:24 +00:00
|
|
|
regular_latlon_surface_constant.grib2
|
2023-01-14 19:58:31 +00:00
|
|
|
test_file.grib2
|
|
|
|
constant_field.grib2
|
2016-04-29 14:12:24 +00:00
|
|
|
"
|
|
|
|
|
2023-01-14 19:58:31 +00:00
|
|
|
if [ $HAVE_AEC -eq 1 ]; then
|
|
|
|
files="ccsds.grib2 "$files
|
|
|
|
fi
|
|
|
|
|
2016-12-22 19:28:24 +00:00
|
|
|
if [ $HAVE_JPEG -eq 1 ]; then
|
2023-01-14 19:58:31 +00:00
|
|
|
files="jpeg.grib2 reduced_gaussian_surface_jpeg.grib2 "$files
|
2016-08-05 15:24:14 +00:00
|
|
|
fi
|
|
|
|
|
2023-01-21 21:53:43 +00:00
|
|
|
# TODO: For the following the PNG packing fails!
|
2016-04-29 14:12:24 +00:00
|
|
|
# data/sample.grib2
|
|
|
|
# data/missing.grib2
|
|
|
|
# data/tigge_af_ecmwf.grib2
|
|
|
|
|
|
|
|
for file in $files; do
|
|
|
|
infile=${data_dir}/$file
|
2017-02-03 14:21:24 +00:00
|
|
|
${tools_dir}/grib_set -r -s packingType=grid_png $infile $temp >/dev/null
|
2016-04-29 14:12:24 +00:00
|
|
|
|
2017-02-03 14:21:24 +00:00
|
|
|
${tools_dir}/grib_get '-F%.2f' -p min,max,avg $infile > $temp1
|
|
|
|
${tools_dir}/grib_get '-F%.2f' -p min,max,avg $temp > $temp2
|
2016-04-29 14:12:24 +00:00
|
|
|
diff $temp1 $temp2
|
|
|
|
|
|
|
|
rm -f $temp $temp1 $temp2
|
|
|
|
done
|
2021-02-17 16:40:45 +00:00
|
|
|
|
2023-01-21 21:53:43 +00:00
|
|
|
infile=${data_dir}/sample.grib2
|
|
|
|
set +e
|
|
|
|
${tools_dir}/grib_set -r -s packingType=grid_png $infile $temp > $tempErr 2>&1
|
|
|
|
set -e
|
2024-01-08 17:39:10 +00:00
|
|
|
grep -q "Unable to set double array 'codedValues'" $tempErr
|
2022-06-22 13:44:20 +00:00
|
|
|
|
|
|
|
# Nearest neighbour
|
|
|
|
# ----------------------
|
2024-07-12 08:51:12 +00:00
|
|
|
if [ $HAVE_GEOGRAPHY -eq 1 ]; then
|
|
|
|
infile=${data_dir}/reduced_gaussian_model_level.grib2
|
|
|
|
${tools_dir}/grib_set -r -s packingType=grid_png $infile $temp
|
|
|
|
${tools_dir}/grib_get -F%.6g -l 48.835,327.600,1 $temp > $temp1
|
|
|
|
grep -q "224.455" $temp1
|
|
|
|
|
|
|
|
${tools_dir}/grib_ls -F%.6g -l 48.835,327.600 $temp > $temp1
|
|
|
|
grep -q "Grid Point chosen #4 index=936 " $temp1
|
|
|
|
fi
|
2022-06-22 13:44:20 +00:00
|
|
|
|
2024-01-23 19:42:46 +00:00
|
|
|
# jPointsAreConsecutive
|
|
|
|
infile=${data_dir}/reduced_gaussian_model_level.grib2
|
|
|
|
${tools_dir}/grib_set -r -s jPointsAreConsecutive=1,packingType=grid_png $infile $temp
|
|
|
|
|
2022-06-22 13:44:20 +00:00
|
|
|
|
2021-02-17 16:40:45 +00:00
|
|
|
# Conversion from IEEE to PNG
|
2022-06-22 13:44:20 +00:00
|
|
|
# ----------------------------
|
2021-02-17 16:40:45 +00:00
|
|
|
infile=${data_dir}/grid_ieee.grib
|
|
|
|
${tools_dir}/grib_set -r -s packingType=grid_png $infile $temp
|
|
|
|
# TODO: check results
|
|
|
|
grib_check_key_equals $temp packingType grid_png
|
2022-03-28 14:55:39 +00:00
|
|
|
grib_check_key_equals $temp accuracy 0
|
2021-02-17 16:40:45 +00:00
|
|
|
|
|
|
|
|
2022-06-22 13:44:20 +00:00
|
|
|
# Clean up
|
2023-01-21 21:53:43 +00:00
|
|
|
rm -f $temp $temp1 $temp2 $tempErr
|