2016-08-02 10:42:55 +00:00
|
|
|
#!/bin/sh
|
2020-01-28 14:32:34 +00:00
|
|
|
# (C) Copyright 2005- ECMWF.
|
2016-08-02 10:42:55 +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.
|
|
|
|
#
|
|
|
|
|
|
|
|
. ./include.sh
|
|
|
|
|
2020-07-04 14:30:10 +00:00
|
|
|
# Define a common label for all the tmp files
|
2016-09-12 17:16:39 +00:00
|
|
|
label="bufr_dump_encode_python_test"
|
2016-08-02 10:42:55 +00:00
|
|
|
|
2020-07-04 14:30:10 +00:00
|
|
|
# Create log file
|
2016-08-02 10:42:55 +00:00
|
|
|
fLog=${label}".log"
|
|
|
|
rm -f $fLog
|
|
|
|
|
|
|
|
tempBufr=outfile.bufr
|
|
|
|
tempDir=${label}.dir
|
|
|
|
mkdir -p $tempDir
|
|
|
|
cd $tempDir
|
|
|
|
|
2016-08-02 16:24:30 +00:00
|
|
|
bufr_files=`cat ${data_dir}/bufr/bufr_data_files.txt`
|
2016-08-02 10:42:55 +00:00
|
|
|
|
|
|
|
for file in ${bufr_files}
|
|
|
|
do
|
|
|
|
inputBufr=${data_dir}/bufr/$file
|
|
|
|
tempSrc=$label.$file.py
|
|
|
|
|
2016-09-15 15:44:39 +00:00
|
|
|
# Too large for this test
|
|
|
|
if [ "$file" = "ias1_240.bufr" ]; then
|
|
|
|
continue
|
|
|
|
fi
|
|
|
|
|
2016-08-02 10:42:55 +00:00
|
|
|
# Generate Python code from BUFR file
|
2017-02-03 14:21:24 +00:00
|
|
|
${tools_dir}/bufr_dump -Epython $inputBufr > $tempSrc
|
2018-09-05 16:33:30 +00:00
|
|
|
|
|
|
|
#pylint --disable=E0602,R,C,W $tempSrc
|
|
|
|
|
2016-08-02 10:42:55 +00:00
|
|
|
# The python code always creates an output file called outfile.bufr
|
|
|
|
$PYTHON $tempSrc
|
|
|
|
|
2016-08-02 16:24:30 +00:00
|
|
|
# Check original BUFR file against one we generated from sample
|
2017-02-03 14:21:24 +00:00
|
|
|
${tools_dir}/bufr_compare $inputBufr $tempBufr
|
2016-08-02 10:42:55 +00:00
|
|
|
|
2018-01-02 16:32:55 +00:00
|
|
|
TEMP_OUT1=${label}.$file.dump.out
|
|
|
|
TEMP_OUT2=${label}.$tempBufr.dump.out
|
|
|
|
${tools_dir}/bufr_dump -p $inputBufr > $TEMP_OUT1
|
|
|
|
${tools_dir}/bufr_dump -p $tempBufr > $TEMP_OUT2
|
|
|
|
diff $TEMP_OUT1 $TEMP_OUT2
|
|
|
|
rm -f $TEMP_OUT1 $TEMP_OUT2
|
2016-08-02 10:42:55 +00:00
|
|
|
|
|
|
|
rm -f $tempSrc $tempBufr
|
|
|
|
done
|
2016-08-02 16:24:30 +00:00
|
|
|
|
2016-08-02 10:42:55 +00:00
|
|
|
cd $test_dir
|
|
|
|
rm -fr $tempDir
|