2013-03-25 12:04:10 +00:00
|
|
|
#!/bin/sh
|
2015-12-31 12:44:51 +00:00
|
|
|
# Copyright 2005-2016 ECMWF.
|
2013-03-25 12:04:10 +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.
|
2014-10-24 16:36:19 +00:00
|
|
|
#
|
2013-03-25 12:04:10 +00:00
|
|
|
# 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.sh
|
|
|
|
|
|
|
|
REDIRECT=/dev/null
|
|
|
|
|
|
|
|
infile="${data_dir}/regular_latlon_surface.grib1"
|
2015-01-26 15:50:33 +00:00
|
|
|
outfile=${infile}.compare.$$
|
2013-03-25 12:04:10 +00:00
|
|
|
|
|
|
|
rm -f $outfile || true
|
|
|
|
|
|
|
|
|
2016-04-08 12:31:24 +00:00
|
|
|
${tools_dir}grib_set -s shortName=2d $infile $outfile
|
2013-03-25 12:04:10 +00:00
|
|
|
${tools_dir}grib_compare -b indicatorOfParameter,paramId,shortName $infile $outfile > $REDIRECT
|
|
|
|
|
2014-10-24 16:36:19 +00:00
|
|
|
# Test the -r switch
|
2016-04-08 12:31:24 +00:00
|
|
|
# ----------------------------------------
|
2014-10-24 16:36:19 +00:00
|
|
|
infile=${data_dir}/v.grib2
|
|
|
|
for i in 1 2 3; do
|
|
|
|
${tools_dir}grib_copy -wcount=$i $infile temp_comp.$i
|
|
|
|
done
|
|
|
|
cat temp_comp.1 temp_comp.2 temp_comp.3 > temp_comp.123
|
|
|
|
cat temp_comp.3 temp_comp.2 temp_comp.1 > temp_comp.321
|
|
|
|
|
|
|
|
# Compare files in which the messages are not in the same order
|
|
|
|
${tools_dir}grib_compare -r temp_comp.123 temp_comp.321
|
|
|
|
|
2016-04-08 12:31:24 +00:00
|
|
|
rm -f temp_comp.1 temp_comp.2 temp_comp.3 temp_comp.123 temp_comp.321
|
|
|
|
|
2015-07-17 10:23:43 +00:00
|
|
|
# GRIB-797: test last argument being a directory
|
2016-04-08 12:31:24 +00:00
|
|
|
# ----------------------------------------
|
2015-07-17 10:23:43 +00:00
|
|
|
temp_dir=tempdir.grib_compare
|
|
|
|
mkdir -p $temp_dir
|
|
|
|
cp $infile $temp_dir
|
|
|
|
${tools_dir}grib_compare $infile $temp_dir
|
|
|
|
rm -rf $temp_dir
|
|
|
|
|
2016-04-08 12:31:24 +00:00
|
|
|
# ECC-245: blacklist and 2nd order packing
|
|
|
|
# ----------------------------------------
|
|
|
|
temp1=grib_compare_temp1.grib1
|
|
|
|
temp2=grib_compare_temp2.grib1
|
|
|
|
${tools_dir}grib_copy -w count=25 ${data_dir}/lfpw.grib1 $temp1
|
|
|
|
${tools_dir}grib_copy -w count=30 ${data_dir}/lfpw.grib1 $temp2
|
|
|
|
|
|
|
|
# This should fail but not crash! so check exit code is not 134
|
|
|
|
set +e
|
|
|
|
${tools_dir}grib_compare -b firstOrderValues $temp1 $temp2 >/dev/null
|
|
|
|
status=$?
|
|
|
|
set -e
|
|
|
|
[ $status -eq 1 ]
|
|
|
|
|
|
|
|
rm -f $temp1 $temp2
|
|
|
|
rm -f $outfile
|