mirror of https://github.com/ecmwf/eccodes.git
110 lines
4.0 KiB
Bash
Executable File
110 lines
4.0 KiB
Bash
Executable File
#!/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_packing_order_test"
|
|
temp=${label}".grib.tmp"
|
|
temp_simple1=${label}".simple1.tmp"
|
|
temp_simple2=${label}".simple2.tmp"
|
|
temp_second1=${label}".second1.tmp"
|
|
temp_second2=${label}".second2.tmp"
|
|
temp_ccsds1=${label}".ccsds1.tmp"
|
|
temp_ccsds2=${label}".ccsds2.tmp"
|
|
temp_jpeg1=${label}".jpeg1.tmp"
|
|
temp_jpeg2=${label}".jpeg2.tmp"
|
|
temp_png1=${label}".png1.tmp"
|
|
temp_png2=${label}".png2.tmp"
|
|
temp_ieee1=${label}".ieee1.tmp"
|
|
temp_ieee2=${label}".ieee2.tmp"
|
|
|
|
# Simple Packing
|
|
# ----------------
|
|
$EXEC ${test_dir}/grib_packing_order grid_simple packing_type_before_values $temp_simple1
|
|
$EXEC ${test_dir}/grib_packing_order grid_simple values_before_packing_type $temp_simple2
|
|
grib_check_key_equals $temp_simple1 packingType grid_simple
|
|
${tools_dir}/grib_compare $temp_simple1 $temp_simple2
|
|
|
|
|
|
# PNG Packing
|
|
# -------------
|
|
if [ $HAVE_PNG -eq 1 ]; then
|
|
$EXEC ${test_dir}/grib_packing_order grid_png packing_type_before_values $temp_png1
|
|
$EXEC ${test_dir}/grib_packing_order grid_png values_before_packing_type $temp_png2
|
|
grib_check_key_equals $temp_png1 packingType grid_png
|
|
${tools_dir}/grib_compare $temp_png1 $temp_png2
|
|
|
|
${tools_dir}/grib_compare -c data:n $temp_simple1 $temp_png1
|
|
fi
|
|
|
|
# CCSDS (AEC) Packing
|
|
# --------------------
|
|
if [ $HAVE_AEC -eq 1 ]; then
|
|
$EXEC ${test_dir}/grib_packing_order grid_ccsds packing_type_before_values $temp_ccsds1
|
|
$EXEC ${test_dir}/grib_packing_order grid_ccsds values_before_packing_type $temp_ccsds2
|
|
grib_check_key_equals $temp_ccsds1 packingType grid_ccsds
|
|
${tools_dir}/grib_compare $temp_ccsds1 $temp_ccsds2
|
|
|
|
${tools_dir}/grib_compare -c data:n $temp_simple1 $temp_ccsds1
|
|
fi
|
|
|
|
# JPEG Packing
|
|
# --------------
|
|
if [ $HAVE_JPEG -eq 1 ]; then
|
|
$EXEC ${test_dir}/grib_packing_order grid_jpeg packing_type_before_values $temp_jpeg1
|
|
$EXEC ${test_dir}/grib_packing_order grid_jpeg values_before_packing_type $temp_jpeg2
|
|
grib_check_key_equals $temp_jpeg1 packingType grid_jpeg
|
|
${tools_dir}/grib_compare $temp_jpeg1 $temp_jpeg2
|
|
|
|
${tools_dir}/grib_compare -c data:n $temp_simple1 $temp_jpeg1
|
|
|
|
${tools_dir}/grib_ls -n statistics $temp_jpeg1
|
|
fi
|
|
|
|
# IEEE
|
|
# ------------
|
|
if [ $HAVE_EXTRA_TESTS -eq 1 ]; then
|
|
#tests/grib_packing_order grid_ieee values_before_packing_type x2 # Does not work
|
|
$EXEC ${test_dir}/grib_packing_order grid_ieee packing_type_before_values $temp_ieee1
|
|
$EXEC ${test_dir}/grib_packing_order grid_ieee values_before_packing_type $temp_ieee2
|
|
|
|
${tools_dir}/grib_ls -n statistics $temp_ieee1 $temp_ieee2
|
|
# TODO
|
|
# ${tools_dir}/grib_compare $temp_ieee1 $temp_ieee2
|
|
|
|
# No point comparing with grid_simple as grid_ieee will be closer to the actual values
|
|
# and less lossy
|
|
|
|
# TODO: Test with environment variable
|
|
# Disabled for now. Need to investigate valgrind error
|
|
#ECCODES_GRIB_IEEE_PACKING=32 \
|
|
# $EXEC ${test_dir}/grib_packing_order grid_simple packing_type_before_values $temp_ieee1
|
|
#grib_check_key_equals $temp_ieee1 packingType grid_ieee
|
|
fi
|
|
|
|
|
|
# Second order Packing: TODO
|
|
# ---------------------------
|
|
$EXEC ${test_dir}/grib_packing_order grid_second_order packing_type_before_values $temp_second1
|
|
$EXEC ${test_dir}/grib_packing_order grid_second_order values_before_packing_type $temp_second2
|
|
grib_check_key_equals $temp_second1 packingType grid_second_order
|
|
#${tools_dir}/grib_compare $temp_second1 $temp_second2
|
|
${tools_dir}/grib_compare -c data:n $temp_simple1 $temp_second1
|
|
# $temp_second2 is still not correct
|
|
|
|
|
|
# Clean up
|
|
rm -f $temp_simple1 $temp_simple2
|
|
rm -f $temp_second1 $temp_second2
|
|
rm -f $temp_png1 $temp_png2
|
|
rm -f $temp_ccsds1 $temp_ccsds2
|
|
rm -f $temp_jpeg1 $temp_jpeg2
|
|
rm -f $temp_ieee1 $temp_ieee2
|