ECC-1291: Add test

This commit is contained in:
Shahram Najm 2021-11-02 21:14:46 +00:00
parent c488c4f8b7
commit 86c6ee5b09
1 changed files with 44 additions and 14 deletions

View File

@ -8,7 +8,7 @@
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. # virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
. ./include.sh . ./include.sh
#set -x
GRIB_INFILE=${data_dir}/regular_gaussian_pressure_level_constant.grib2 GRIB_INFILE=${data_dir}/regular_gaussian_pressure_level_constant.grib2
REF_FILE=grib_lamb_az_eq_area.ref REF_FILE=grib_lamb_az_eq_area.ref
@ -19,20 +19,23 @@ GRIB_OUTFILE=lamb_az_eq_area.grib2
DATA_OUTFILE=lamb_data.txt DATA_OUTFILE=lamb_data.txt
rm -f $FILTER_FILE $GRIB_OUTFILE $DATA_OUTFILE rm -f $FILTER_FILE $GRIB_OUTFILE $DATA_OUTFILE
# Spherical Earth
# ----------------
# Create a filter # Create a filter
cat > $FILTER_FILE<<EOF cat > $FILTER_FILE<<EOF
set edition=2; set edition = 2;
set gridType="lambert_azimuthal_equal_area"; set gridType = "lambert_azimuthal_equal_area";
set Nx = 10; set Nx = 10;
set Ny = 10; set Ny = 10;
set values={2}; set values = {2};
set numberOfDataPoints=100; set numberOfDataPoints = 100;
set shapeOfTheEarth=1; # Earth assumed spherical with radius specified (in m) by data producer set shapeOfTheEarth = 1; # Earth assumed spherical with radius specified (in m) by data producer
set scaleFactorOfRadiusOfSphericalEarth=0; set scaleFactorOfRadiusOfSphericalEarth = 0;
set scaledValueOfRadiusOfSphericalEarth=6378388; set scaledValueOfRadiusOfSphericalEarth = 6378388;
set numberOfValues=100; set numberOfValues = 100;
set latitudeOfFirstGridPointInDegrees = 67.575; set latitudeOfFirstGridPointInDegrees = 67.575;
set longitudeOfFirstGridPointInDegrees = 326.5056; set longitudeOfFirstGridPointInDegrees = 326.5056;
set Dx = 5000000; set Dx = 5000000;
@ -45,11 +48,8 @@ EOF
# Use this filter and the input GRIB to create a new GRIB # Use this filter and the input GRIB to create a new GRIB
rm -f "$GRIB_OUTFILE" rm -f "$GRIB_OUTFILE"
${tools_dir}/grib_filter -o $GRIB_OUTFILE $FILTER_FILE $GRIB_INFILE ${tools_dir}/grib_filter -o $GRIB_OUTFILE $FILTER_FILE $GRIB_INFILE
if [ ! -f "$GRIB_OUTFILE" ]; then
echo Failed to create output GRIB from filter >&2 # Now run the Geoiterator on the newly created GRIB file
exit 1
fi
# Now get the data from the newly created GRIB file
${tools_dir}/grib_get_data $GRIB_OUTFILE > $DATA_OUTFILE ${tools_dir}/grib_get_data $GRIB_OUTFILE > $DATA_OUTFILE
# Compare output with reference. If the diff fails, script will immediately exit with status 1 # Compare output with reference. If the diff fails, script will immediately exit with status 1
@ -62,6 +62,36 @@ grib_check_key_equals $GRIB_OUTFILE xDirectionGridLengthInMetres,yDirectionGridL
${tools_dir}/grib_ls -l 67,-33,1 $GRIB_OUTFILE ${tools_dir}/grib_ls -l 67,-33,1 $GRIB_OUTFILE
# Oblate spheroid
# --------------------
cat > $FILTER_FILE<<EOF
set edition = 2;
set gridType = "lambert_azimuthal_equal_area";
set Nx = 10;
set Ny = 10;
set values = {2};
set numberOfDataPoints = 100;
set shapeOfTheEarth = 4; # Earth assumed oblate spheroid
set numberOfValues = 100;
set latitudeOfFirstGridPointInDegrees = 67.575;
set longitudeOfFirstGridPointInDegrees = 326.5056;
set Dx = 5000000;
set Dy = 5000000;
set standardParallel = 48000000;
set centralLongitude = 9000000;
write;
EOF
# Use this filter and the input GRIB to create a new GRIB
rm -f "$GRIB_OUTFILE"
${tools_dir}/grib_filter -o $GRIB_OUTFILE $FILTER_FILE $GRIB_INFILE
${tools_dir}/grib_get_data $GRIB_OUTFILE
# Clean up # Clean up
rm -f $FILTER_FILE $DATA_OUTFILE rm -f $FILTER_FILE $DATA_OUTFILE
rm -f $GRIB_OUTFILE rm -f $GRIB_OUTFILE