2023-08-14 10:52:17 +00:00
|
|
|
#!/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="codes_to_double_test"
|
|
|
|
tempFilt=temp.$label.filt
|
|
|
|
tempLog=temp.$label.log
|
|
|
|
tempRef=temp.$label.ref
|
|
|
|
|
|
|
|
sample_grib2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
|
|
|
|
|
|
|
|
cat >$tempFilt<<EOF
|
|
|
|
transient aa = 156;
|
2024-10-11 10:31:39 +00:00
|
|
|
meta aad to_double(aa,0,2,0); # substr "15"
|
2023-08-14 10:52:17 +00:00
|
|
|
print "aa=[aad]";
|
|
|
|
|
|
|
|
transient xx = "45.5e3";
|
|
|
|
meta xxd to_double(xx,0,6,0);
|
|
|
|
print "xx=[xxd:d]";
|
|
|
|
|
|
|
|
transient yy = "45.9";
|
2024-10-11 10:31:39 +00:00
|
|
|
meta yyd to_double(yy,0,2,0); # substr "45"
|
2023-08-14 10:52:17 +00:00
|
|
|
print "yy=[yyd:s]";
|
2024-10-11 10:31:39 +00:00
|
|
|
|
|
|
|
transient zz = "145.02";
|
|
|
|
meta zzd to_double(zz,1,4,0); # substr "45.0"
|
|
|
|
print "zz=[zzd:s]";
|
2023-08-14 10:52:17 +00:00
|
|
|
EOF
|
|
|
|
${tools_dir}/grib_filter $tempFilt $sample_grib2 > $tempLog
|
|
|
|
|
|
|
|
cat >$tempRef<<EOF
|
2024-10-11 10:31:39 +00:00
|
|
|
aa=15
|
2023-08-14 10:52:17 +00:00
|
|
|
xx=45500
|
|
|
|
yy=45
|
2024-10-11 10:31:39 +00:00
|
|
|
zz=45.0
|
2023-08-14 10:52:17 +00:00
|
|
|
EOF
|
|
|
|
diff $tempRef $tempLog
|
|
|
|
|
|
|
|
|
|
|
|
# Clean up
|
|
|
|
rm -f $tempFilt $tempLog $tempRef
|