netcdf-c/nc_perf/run_bm_test1.sh
2019-03-18 10:15:18 -06:00

82 lines
3.2 KiB
Bash
Executable File

#!/bin/sh
# This shell just tests the bm_file program by running it a few times
# on a simple test file. Then it uses ncdum to check that the output
# is what it should be.
# Ed Hartnett
if test "x$srcdir" = x ; then srcdir=`pwd`; fi
. ../test_common.sh
for type_name in floats ints shorts
do
echo "*** Running benchmarking program bm_file for simple ${type_name} test files, 1D to 6D..."
header="-h"
for i in 1 2 3 4 5 6
do
test $i = 1 && chunksizes="100000"
test $i = 2 && chunksizes="316:316"
test $i = 3 && chunksizes="46:46:46"
test $i = 4 && chunksizes="17:17:17:17" && s="-s 1"
test $i = 5 && chunksizes="10:10:10:10:10" && s="-s 1"
test $i = 6 && chunksizes="6:6:6:6:6:6" && s="-s 1"
${execdir}/bm_file -d ${header} ${s} -f 4 -o ${type_name}2_${i}D_3.nc -c 0:0:0:${chunksizes} tst_${type_name}2_${i}D.nc
${NCDUMP} tst_${type_name}2_${i}D.nc > tst_${type_name}2_${i}D.cdl
${NCDUMP} -n tst_${type_name}2_${i}D ${type_name}2_${i}D_3.nc > ${type_name}2_${i}D.cdl
diff tst_${type_name}2_${i}D.cdl ${type_name}2_${i}D.cdl
header=
done
echo '*** SUCCESS!!!'
done
echo ""
echo "*** Testing the benchmarking program bm_file for simple float file, no compression..."
${execdir}/bm_file -d -h -f 3 -o floats_1D_3.nc -c 0:-1:0:10000 tst_floats_1D.nc
${NCDUMP} tst_floats_1D.nc > tst_floats_1D.cdl
${NCDUMP} -n tst_floats_1D floats_1D_3.nc > floats_1D.cdl
diff tst_floats_1D.cdl floats_1D.cdl
echo '*** SUCCESS!!!'
echo ""
echo "*** Testing the benchmarking program bm_file for simple float file, with compression..."
${execdir}/bm_file -d -h -f 3 -o floats_1D_3.nc -c 0:1:0:10000 tst_floats_1D.nc
${NCDUMP} tst_floats_1D.nc > tst_floats_1D.cdl
${NCDUMP} -n tst_floats_1D floats_1D_3.nc > floats_1D.cdl
diff tst_floats_1D.cdl floats_1D.cdl
echo '*** SUCCESS!!!'
echo ""
echo "*** Testing the benchmarking program bm_file for simple float file, with more compression..."
${execdir}/bm_file -d -h -f 3 -o floats_1D_3.nc -c 0:9:1:10000 tst_floats_1D.nc
${NCDUMP} tst_floats_1D.nc > tst_floats_1D.cdl
${NCDUMP} -n tst_floats_1D floats_1D_3.nc > floats_1D.cdl
diff tst_floats_1D.cdl floats_1D.cdl
echo '*** SUCCESS!!!'
echo ""
echo "*** Testing the benchmarking program bm_file for simple float file, with endianness set to native..."
${execdir}/bm_file -e 0 -d -h -f 3 -o floats_1D_3.nc -c 0:9:1:10000 tst_floats_1D.nc
${NCDUMP} tst_floats_1D.nc > tst_floats_1D.cdl
${NCDUMP} -n tst_floats_1D floats_1D_3.nc > floats_1D.cdl
diff tst_floats_1D.cdl floats_1D.cdl
echo '*** SUCCESS!!!'
echo ""
echo "*** Testing the benchmarking program bm_file for simple float file, with endianness set to little..."
${execdir}/bm_file -e 1 -d -h -f 3 -o floats_1D_3.nc -c 0:9:1:10000 tst_floats_1D.nc
${NCDUMP} tst_floats_1D.nc > tst_floats_1D.cdl
${NCDUMP} -n tst_floats_1D floats_1D_3.nc > floats_1D.cdl
diff tst_floats_1D.cdl floats_1D.cdl
echo '*** SUCCESS!!!'
echo ""
echo "*** Testing the benchmarking program bm_file for simple float file, with endianness set to big..."
${execdir}/bm_file -e 2 -d -h -f 3 -o floats_1D_3.nc -c 0:9:1:10000 tst_floats_1D.nc
${NCDUMP} tst_floats_1D.nc > tst_floats_1D.cdl
${NCDUMP} -n tst_floats_1D floats_1D_3.nc > floats_1D.cdl
diff tst_floats_1D.cdl floats_1D.cdl
echo '*** SUCCESS!!!'
exit 0