Skip to content

Commit

Permalink
Regression tests for global_cycle, emcsfc and grid programs.
Browse files Browse the repository at this point in the history
New regression tests for global_cycle, emcsfc_ice_blend, emcsfc_snow2mdl and all 
programs associated with the grid generation.
  • Loading branch information
GeorgeGayno-NOAA authored May 1, 2020
1 parent ad909ed commit 270f9dc
Show file tree
Hide file tree
Showing 21 changed files with 1,285 additions and 0 deletions.
82 changes: 82 additions & 0 deletions reg_tests/global_cycle/C768.fv3gfs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
#!/bin/bash

#------------------------------------------------------------------
# Run global_cycle for a C768 test case. Compare output
# to a baseline set of files using the 'nccmp' utility.
#------------------------------------------------------------------

set -x

export MAX_TASKS_CY=6

export HOMEgfs=$NWPROD
export BASE_GSM=$NWPROD

export CYCLEXEC=$BASE_GSM/exec/global_cycle

export CDATE=2019073000
export FHOUR=00
export DELTSFC=6

export CASE=C768

export COMIN=$HOMEreg/input_data
export FNTSFA=$COMIN/gdas.t00z.rtgssthr.grb
export FNSNOA=$COMIN/gdas.t00z.snogrb_t1534.3072.1536
export FNACNA=$COMIN/gdas.t00z.seaice.5min.blend.grb
export GSI_FILE=$COMIN/gdas.t00z.dtfanl.nc

export JCAP=1534
export LONB=3072
export LATB=1536

export FIXgsm=$BASE_GSM/fix/fix_am

export DONST="YES"
export use_ufo=.true.

export VERBOSE=YES
export CYCLVARS=FSNOL=-2.,FSNOS=99999.,


$BASE_GSM/ush/global_cycle_driver.sh

iret=$?
if [ $iret -ne 0 ]; then
set +x
echo "<<< GLOBAL CYCLE TEST FAILED. <<<"
echo "<<< GLOBAL CYCLE TEST FAILED. <<<" > ./summary.log
exit $iret
fi

test_failed=0

cd $DATA
for files in *tile*.nc
do
if [ -f $files ]; then
echo CHECK $files
$NCCMP -dmfqS $files $HOMEreg/baseline_data/$files
iret=$?
if [ $iret -ne 0 ]; then
test_failed=1
fi
fi
done

set +x
if [ $test_failed -ne 0 ]; then
echo
echo "*********************************"
echo "<<< GLOBAL CYCLE TEST FAILED. >>>"
echo "*********************************"
echo "<<< GLOBAL CYCLE TEST FAILED. >>>" > ./summary.log
else
echo
echo "*********************************"
echo "<<< GLOBAL CYCLE TEST PASSED. >>>"
echo "*********************************"
echo "<<< GLOBAL CYCLE TEST PASSED. >>>" > ./summary.log
fi

exit
61 changes: 61 additions & 0 deletions reg_tests/global_cycle/driver.cray.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#!/bin/bash

#-----------------------------------------------------------------------------
#
# Run global_cycle regression test on WCOSS-Cray.
#
# Set $DATA to your working directory. Set the project code (BSUB -P)
# and queue (BSUB -q) as appropriate.
#
# Invoke the script as follows: cat $script | bsub
#
# Log output is placed in regression.log. A summary is
# placed in summary.log
#
# The test fails when its output does not match the baseline files
# as determined by the 'nccmp' utility. This baseline files are
# stored in HOMEreg.
#
#-----------------------------------------------------------------------------

#BSUB -oo regression.log
#BSUB -eo regression.log
#BSUB -q debug
#BSUB -P GDAS-T2O
#BSUB -J cycle_regt
#BSUB -M 2400
#BSUB -W 00:05
#BSUB -extsched 'CRAYLINUX[]'

module load PrgEnv-intel cfp-intel-sandybridge/1.1.0
module list

export DATA=/gpfs/hps3/stmp/$LOGNAME/reg_tests.cycle

#-----------------------------------------------------------------------------
# Should not have to change anything below.
#-----------------------------------------------------------------------------

export NODES=1

export HOMEreg=/gpfs/hps3/emc/global/noscrub/George.Gayno/ufs_utils.git/reg_tests/global_cycle

export OMP_NUM_THREADS_CY=4

export KMP_AFFINITY=disabled

export APRUNCY="aprun -n 6 -N 6 -j 1 -d $OMP_NUM_THREADS_CY -cc depth"

export NWPROD=$PWD/../..

export COMOUT=$DATA

export NCCMP=/gpfs/hps3/emc/global/noscrub/George.Gayno/util/netcdf/nccmp

reg_dir=$PWD

./C768.fv3gfs.sh

cp $DATA/summary.log $reg_dir

exit
69 changes: 69 additions & 0 deletions reg_tests/global_cycle/driver.dell.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#!/bin/bash

#-----------------------------------------------------------------------------
#
# Run global_cycle regression test on WCOSS-Dell.
#
# Set $DATA to your working directory. Set the project code (BSUB -P)
# and queue (BSUB -q) as appropriate.
#
# Invoke the script as follows: cat $script | bsub
#
# Log output is placed in regression.log. A summary is
# placed in summary.log
#
# The test fails when its output does not match the baseline files
# as determined by the 'nccmp' utility. This baseline files are
# stored in HOMEreg.
#
#-----------------------------------------------------------------------------

#BSUB -W 00:05
#BSUB -n 6
#BSUB -R span[ptile=6]
#BSUB -x
#BSUB -o regression.log
#BSUB -e regression.log
#BSUB -R "affinity[core(1)]"
#BSUB -M 2400
#BSUB -J glc_regt
#BSUB -q debug
#BSUB -P GFS-DEV

set -x

module purge
module load EnvVars/1.0.2
module load ips/18.0.1.163
module load lsf/10.1
module load impi/18.0.1
module use /usrx/local/nceplibs/dev/NCEPLIBS/modulefiles
module load netcdf_parallel/4.7.4

set -x

export DATA=/gpfs/dell1/stmp/$LOGNAME/reg_tests.cycle

#-----------------------------------------------------------------------------
# Should not have to change anything below.
#-----------------------------------------------------------------------------

export HOMEreg=/gpfs/dell2/emc/modeling/noscrub/George.Gayno/ufs_utils.git/reg_tests/global_cycle

export OMP_NUM_THREADS_CY=2

export APRUNCY="mpirun -l"

export NWPROD=$PWD/../..

export COMOUT=$DATA

export NCCMP=/gpfs/dell2/emc/modeling/noscrub/George.Gayno/util/nccmp/nccmp-nc4.7.4/src/nccmp

reg_dir=$PWD

./C768.fv3gfs.sh

cp $DATA/summary.log $reg_dir

exit
66 changes: 66 additions & 0 deletions reg_tests/global_cycle/driver.hera.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/bin/bash

#-----------------------------------------------------------------------------
#
# Run global_cycle regression test on Hera.
#
# Set $DATA to your working directory. Set the project code (SBATCH -A)
# and queue (SBATCH -q) as appropriate.
#
# Invoke the script as follows: sbatch $script
#
# Log output is placed in regression.log. A summary is
# placed in summary.log
#
# The test fails when its output does not match the baseline files
# as determined by the 'nccmp' utility. This baseline files are
# stored in HOMEreg.
#
#-----------------------------------------------------------------------------

#SBATCH -J cycle_reg_test
#SBATCH -A fv3-cpu
#SBATCH --open-mode=truncate
#SBATCH -o regression.log
#SBATCH -e regression.log
#SBATCH --nodes=1 --ntasks-per-node=6
#SBATCH -q debug
#SBATCH -t 00:05:00

set -x

. /apps/lmod/lmod/init/sh
module purge
module load intel/18.0.5.274
module load impi/2018.0.4
module load szip/2.1
module load hdf5/1.10.5
module use /scratch2/NCEPDEV/nwprod/NCEPLIBS/modulefiles
module load netcdf_parallel/4.7.4
module list

export DATA=/scratch2/NCEPDEV/stmp1/$LOGNAME/reg_tests.cycle

#-----------------------------------------------------------------------------
# Should not have to change anything below.
#-----------------------------------------------------------------------------

export HOMEreg=/scratch1/NCEPDEV/da/George.Gayno/noscrub/reg_tests/global_cycle

export OMP_NUM_THREADS_CY=2

export APRUNCY="srun"

export NWPROD=$PWD/../..

export COMOUT=$DATA

export NCCMP=/apps/nccmp/1.8.5/intel/18.0.3.051/bin/nccmp

reg_dir=$PWD

./C768.fv3gfs.sh

cp $DATA/summary.log $reg_dir

exit
66 changes: 66 additions & 0 deletions reg_tests/global_cycle/driver.jet.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/bin/bash

#-----------------------------------------------------------------------------
#
# Run global_cycle regression test on Jet.
#
# Set $DATA to your working directory. Set the project code (SBATCH -A)
# and queue (SBATCH -q) as appropriate.
#
# Invoke the script as follows: sbatch $script
#
# Log output is placed in regression.log. A summary is
# placed in summary.log
#
# The test fails when its output does not match the baseline files
# as determined by the 'nccmp' utility. This baseline files are
# stored in HOMEreg.
#
#-----------------------------------------------------------------------------

#SBATCH -J cycle_reg_test
#SBATCH -A emcda
#SBATCH --open-mode=truncate
#SBATCH -o regression.log
#SBATCH -e regression.log
#SBATCH --nodes=1 --ntasks-per-node=6
#SBATCH --partition=xjet
#SBATCH -q windfall
#SBATCH -t 00:05:00

set -x

. /apps/lmod/lmod/init/sh
module purge
module load intel/18.0.5.274
module load impi/2018.4.274
module load szip
module load hdf5
module load netcdf/4.2.1.1
module list

export DATA=/lfs3/HFIP/emcda/$LOGNAME/stmp/reg_tests.cycle

#-----------------------------------------------------------------------------
# Should not have to change anything below.
#-----------------------------------------------------------------------------

export HOMEreg=/lfs3/HFIP/emcda/George.Gayno/reg_tests/global_cycle

export OMP_NUM_THREADS_CY=2

export APRUNCY="srun"

export NWPROD=$PWD/../..

export COMOUT=$DATA

export NCCMP=/apps/nccmp/1.8.2.1/intel/18.0.3.222/bin/nccmp

reg_dir=$PWD

./C768.fv3gfs.sh

cp $DATA/summary.log $reg_dir

exit
Loading

0 comments on commit 270f9dc

Please sign in to comment.