From 4336ea2e3ec5532bdff99996dedec308a3642a85 Mon Sep 17 00:00:00 2001 From: AlysonStahl-NOAA <166434581+AlysonStahl-NOAA@users.noreply.github.com> Date: Mon, 3 Feb 2025 16:02:47 -0800 Subject: [PATCH] rewriting tests for cleanliness and changing file names to make room for more test cases --- test_utils/CMakeLists.txt | 13 ++-- test_utils/run_cnvgrib_tests.sh | 111 ++++++++++++-------------------- 2 files changed, 50 insertions(+), 74 deletions(-) diff --git a/test_utils/CMakeLists.txt b/test_utils/CMakeLists.txt index 219a43e1..14d581e8 100644 --- a/test_utils/CMakeLists.txt +++ b/test_utils/CMakeLists.txt @@ -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...") diff --git a/test_utils/run_cnvgrib_tests.sh b/test_utils/run_cnvgrib_tests.sh index 284b4b71..5b509def 100644 --- a/test_utils/run_cnvgrib_tests.sh +++ b/test_utils/run_cnvgrib_tests.sh @@ -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