2013-03-25 12:04:10 +00:00
|
|
|
#!/bin/sh
|
2020-01-28 14:32:34 +00:00
|
|
|
# (C) Copyright 2005- 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.
|
2013-03-25 14:23:07 +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.
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
#set -x
|
|
|
|
. ./include.sh
|
|
|
|
infile=${data_dir}/index.grib
|
|
|
|
|
2018-09-06 13:56:41 +00:00
|
|
|
$EXEC ${test_dir}/index ${infile} > index.out
|
2013-03-25 12:04:10 +00:00
|
|
|
|
|
|
|
diff index.out ${data_dir}/index.ok
|
|
|
|
|
2018-09-06 13:56:41 +00:00
|
|
|
$EXEC ${test_dir}/read_index ${infile} > index.out
|
2013-03-25 12:04:10 +00:00
|
|
|
|
|
|
|
diff index.out ${data_dir}/index.ok
|
|
|
|
|
2013-11-13 17:20:59 +00:00
|
|
|
rm -f index.out out.gribidx
|
2014-10-15 18:02:50 +00:00
|
|
|
|
2015-11-27 18:00:29 +00:00
|
|
|
#-------------------------------
|
|
|
|
# Test grib_index_build
|
|
|
|
#-------------------------------
|
2018-11-27 21:11:24 +00:00
|
|
|
tempIndex=temp.$$.idx
|
|
|
|
tempOut=temp.$$.out
|
|
|
|
tempRef=temp.$$.ref
|
2017-02-03 14:21:24 +00:00
|
|
|
${tools_dir}/grib_index_build -o $tempIndex ${infile} >/dev/null
|
2018-11-27 21:11:24 +00:00
|
|
|
|
|
|
|
# Must remove first two lines and the last (filename specifics)
|
|
|
|
${tools_dir}/grib_dump -D ${tempIndex} | sed '1,2d' | sed '$d' > $tempOut
|
|
|
|
cat $tempOut
|
|
|
|
|
|
|
|
cat > $tempRef <<EOF
|
|
|
|
Index keys:
|
|
|
|
key name = mars.step
|
|
|
|
values = 12, 24, 48, 60
|
|
|
|
key name = mars.param
|
|
|
|
values = 130.128, 129.128
|
|
|
|
key name = mars.levelist
|
|
|
|
values = 10, 50, 100, 200, 250, 300, 400, 500, 700, 850, 925, 1000
|
|
|
|
key name = mars.number
|
|
|
|
values = 1, 2, 3, 4
|
|
|
|
Index count = 384
|
|
|
|
EOF
|
|
|
|
|
|
|
|
diff $tempRef $tempOut
|
|
|
|
|
2017-02-03 14:21:24 +00:00
|
|
|
${tools_dir}/grib_index_build -k mars.levtype -o $tempIndex ${data_dir}/tigge_cf_ecmwf.grib2 |\
|
2015-11-27 18:00:29 +00:00
|
|
|
grep -q "mars.levtype = { sfc, pl, pv, pt }"
|
|
|
|
|
2017-02-03 14:21:24 +00:00
|
|
|
${tools_dir}/grib_index_build -k mars.levtype:i -o $tempIndex ${data_dir}/tigge_cf_ecmwf.grib2 |\
|
2015-11-27 18:00:29 +00:00
|
|
|
grep -q "mars.levtype = { 103, 1, 106, 100, 101, 8, 109, 107 }"
|
|
|
|
|
2020-03-29 20:51:18 +00:00
|
|
|
# grib_compare with index files
|
|
|
|
# -----------------------------
|
|
|
|
tempIndex1=temp.$$.1.idx
|
|
|
|
tempIndex2=temp.$$.2.idx
|
|
|
|
tempGribFile1=temp.index.$$.file1.grib
|
|
|
|
tempGribFile2=temp.index.$$.file2.grib
|
|
|
|
cat ${data_dir}/high_level_api.grib2 ${data_dir}/sample.grib2 > $tempGribFile1
|
|
|
|
cat ${data_dir}/sample.grib2 ${data_dir}/high_level_api.grib2 > $tempGribFile2
|
|
|
|
|
|
|
|
${tools_dir}/grib_index_build -o $tempIndex1 $tempGribFile1
|
|
|
|
${tools_dir}/grib_index_build -o $tempIndex2 $tempGribFile2
|
|
|
|
${tools_dir}/grib_compare $tempIndex1 $tempIndex2
|
|
|
|
rm -f $tempIndex1 $tempIndex2 $tempGribFile1 $tempGribFile2
|
|
|
|
|
|
|
|
# Clean up
|
2018-11-27 21:11:24 +00:00
|
|
|
rm -f $tempIndex $tempOut $tempRef
|