Skip to content

Commit

Permalink
rewriting tests for cleanliness and changing file names to make room …
Browse files Browse the repository at this point in the history
…for more test cases
  • Loading branch information
AlysonStahl-NOAA committed Feb 4, 2025
1 parent c425b5f commit 4336ea2
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 74 deletions.
13 changes: 8 additions & 5 deletions test_utils/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,14 @@ gu_copy_test_data(ref_grid_172.landmask.grib1)
gu_copy_test_data(ref_grid_220.landmask.grib1)
gu_copy_test_data(tocgrib2.nml)
gu_copy_test_data(tocgrib2_bad.nml)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000_simple.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000_complex.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000_complex1.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000_complex2.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000_png.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000.g12_simple.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000.g12_complex.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m0.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000.g12_complex1.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000.g12_complex2.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000.g12_png.grib2.idx)
gu_copy_test_data(ref_gdaswave.t00z.wcoast.0p16.f000.g12_jpeg.grib2.idx)

if(FTP_TEST_FILES)
message(STATUS "Getting FTP test files...")
Expand Down
111 changes: 42 additions & 69 deletions test_utils/run_cnvgrib_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,75 +32,48 @@ echo "*** Running cnvgrib test"
# Convert test file to GRIB1.
../utils/cnvgrib -g21 data/ref_gdaswave.t00z.wcoast.0p16.f000.grib2 test_gdaswave.t00z.wcoast.0p16.f000.grib1

# Convert GRIB1 output back to GRIB2.
../utils/cnvgrib -g12 test_gdaswave.t00z.wcoast.0p16.f000.grib1 test_gdaswave.t00z.wcoast.0p16.f000.grib2

# Create an index of a GRIB2 file.
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000.grib2 test_gdaswave.t00z.wcoast.0p16.f000.grib2.idx

# Check against expected output. First 120 bytes contain differences,
# so ignore them.
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000.grib2.idx

# Convert test file to another GRIB2 file.
../utils/cnvgrib -g22 data/ref_gdaswave.t00z.wcoast.0p16.f000.grib2 test_gdaswave.t00z.wcoast.0p16.f000_2.grib2

# Create an index of the new GRIB2 file.
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000_2.grib2 test_gdaswave.t00z.wcoast.0p16.f000_2.grib2.idx

# Check against expected output. First 120 bytes contain differences,
# so ignore them.
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000_2.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000_2.grib2.idx

# Convert test file to another GRIB2 file with simple packing.
../utils/cnvgrib -g22 -p0 data/ref_gdaswave.t00z.wcoast.0p16.f000.grib2 test_gdaswave.t00z.wcoast.0p16.f000_simple.grib2

# Create an index of the new GRIB2 file.
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000_simple.grib2 test_gdaswave.t00z.wcoast.0p16.f000_simple.grib2.idx

# Check against expected output. First 120 bytes contain differences,
# so ignore them.
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000_simple.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000_simple.grib2.idx

# Convert test file to another GRIB2 file with complex packing.
../utils/cnvgrib -g22 -p2 data/ref_gdaswave.t00z.wcoast.0p16.f000.grib2 test_gdaswave.t00z.wcoast.0p16.f000_complex.grib2

# Create an index of the new GRIB2 file.
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000_complex.grib2 test_gdaswave.t00z.wcoast.0p16.f000_complex.grib2.idx

# Check against expected output. First 120 bytes contain differences,
# so ignore them.
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000_complex.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000_complex.grib2.idx

# Convert test file to another GRIB2 file with complex packing (1st order diffs).
../utils/cnvgrib -g22 -p31 data/ref_gdaswave.t00z.wcoast.0p16.f000.grib2 test_gdaswave.t00z.wcoast.0p16.f000_complex1.grib2

# Create an index of the new GRIB2 file.
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000_complex1.grib2 test_gdaswave.t00z.wcoast.0p16.f000_complex1.grib2.idx

# Check against expected output. First 120 bytes contain differences,
# so ignore them.
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000_complex1.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000_complex1.grib2.idx

# Convert test file to another GRIB2 file with complex packing (2nd order diffs).
../utils/cnvgrib -g22 -p32 data/ref_gdaswave.t00z.wcoast.0p16.f000.grib2 test_gdaswave.t00z.wcoast.0p16.f000_complex2.grib2

# Create an index of the new GRIB2 file.
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000_complex2.grib2 test_gdaswave.t00z.wcoast.0p16.f000_complex2.grib2.idx

# Check against expected output. First 120 bytes contain differences,
# so ignore them.
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000_complex2.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000_complex2.grib2.idx

# Convert test file to another GRIB2 file with png packing.
../utils/cnvgrib -g22 -p41 data/ref_gdaswave.t00z.wcoast.0p16.f000.grib2 test_gdaswave.t00z.wcoast.0p16.f000_png.grib2

# Create an index of the new GRIB2 file.
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000_png.grib2 test_gdaswave.t00z.wcoast.0p16.f000_png.grib2.idx

# Check against expected output. First 120 bytes contain differences,
# so ignore them.
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000_png.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000_png.grib2.idx
# Convert GRIB1 output back to GRIB2, create index, and compare to expected output
# First 120 bytes contain differences, so ignore them.

# Simple packing
../utils/cnvgrib -g12 -p0 test_gdaswave.t00z.wcoast.0p16.f000.grib1 test_gdaswave.t00z.wcoast.0p16.f000.g12_simple.grib2
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000.g12_simple.grib2 test_gdaswave.t00z.wcoast.0p16.f000.g12_simple.grib2.idx
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000.g12_simple.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000.g12_simple.grib2.idx

# Complex Packing
../utils/cnvgrib -g12 -p2 test_gdaswave.t00z.wcoast.0p16.f000.grib1 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex.grib2
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex.grib2 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex.grib2.idx
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000.g12_complex.grib2.idx

# Complex Packing w/ primary missing values
../utils/cnvgrib -g12 -p2 -m test_gdaswave.t00z.wcoast.0p16.f000.grib1 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m.grib2
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m.grib2 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m.grib2.idx
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m.grib2.idx

# Complex Packing w/ no explicit missing values included
../utils/cnvgrib -g12 -p2 -m0 test_gdaswave.t00z.wcoast.0p16.f000.grib1 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m0.grib2
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m0.grib2 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m0.grib2.idx
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m0.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000.g12_complex_m0.grib2.idx

# Complex Packing w/ 1st order diffs
../utils/cnvgrib -g12 -p31 test_gdaswave.t00z.wcoast.0p16.f000.grib1 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex1.grib2
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex1.grib2 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex1.grib2.idx
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex1.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000.g12_complex1.grib2.idx

# Complex Packing w/ 2nd order diffs
../utils/cnvgrib -g12 -p32 test_gdaswave.t00z.wcoast.0p16.f000.grib1 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex2.grib2
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex2.grib2 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex2.grib2.idx
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000.g12_complex2.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000.g12_complex2.grib2.idx

# JPEG Packing
../utils/cnvgrib -g12 -p40 test_gdaswave.t00z.wcoast.0p16.f000.grib1 test_gdaswave.t00z.wcoast.0p16.f000.g12_jpeg.grib2
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000.g12_jpeg.grib2 test_gdaswave.t00z.wcoast.0p16.f000.g12_jpeg.grib2.idx
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000.g12_jpeg.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000.g12_jpeg.grib2.idx

# PNG Packing
../utils/cnvgrib -g12 -p41 test_gdaswave.t00z.wcoast.0p16.f000.grib1 test_gdaswave.t00z.wcoast.0p16.f000.g12_png.grib2
../utils/grb2index 1 test_gdaswave.t00z.wcoast.0p16.f000.g12_png.grib2 test_gdaswave.t00z.wcoast.0p16.f000.g12_png.grib2.idx
cmp -i 120 test_gdaswave.t00z.wcoast.0p16.f000.g12_png.grib2.idx data/ref_gdaswave.t00z.wcoast.0p16.f000.g12_png.grib2.idx

echo "*** SUCCESS!"
exit 0

0 comments on commit 4336ea2

Please sign in to comment.