Skip to content

Commit

Permalink
mend
Browse files Browse the repository at this point in the history
  • Loading branch information
ClaraDraper-NOAA committed Jun 16, 2023
1 parent a3f1478 commit 49e7aec
Showing 1 changed file with 245 additions and 0 deletions.
245 changes: 245 additions & 0 deletions regression_var.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,245 @@
#!/bin/sh
# It is now possible to run all regression tests (except RTMA) using the hybrid ensemble option with
# internally generated random ensemble perturbations. No script changes are required.
# To run with hybrid ensemble option on, change HYBENS_GLOBAL and/or HYBENS_REGIONAL from "false" to "true".
# These are located at the end of this script.

if [ "$#" = 7 ] ; then
export basedir=$1
export builddir=$2
export gsisrc=$3
export gsiexec_updat=$4
export enkfexec_updat=$5
export gsiexec_contrl=$6
export enkfexec_contrl=$7
export fixgsi="$gsisrc/fix"
export scripts="$gsisrc/regression"
export ush="$gsisrc/ush"
export cmaketest="true"
export clean="false"
dir_root="${builddir%/*}"
export ptmpName="${dir_root##*/}"
else
# Name of the branch being tested
updat="mine"
contrl="develop"
export cmaketest="false"
export clean="false"
export ptmpName=""
fi

# Determine the machine
if [[ -d /glade ]]; then # Cheyenne
export machine="Cheyenne"
elif [[ -d /scratch1 ]]; then # Hera
export machine="Hera"
elif [[ -d /mnt/lfs4 || -d /jetmon || -d /mnt/lfs1 ]]; then # Jet
export machine="Jet"
elif [[ -d /discover ]]; then # NCCS Discover
export machine="Discover"
elif [[ -d /sw/gaea ]]; then # Gaea
export machine="Gaea"
elif [[ -d /data/prod ]]; then # S4
export machine="S4"
elif [[ -d /work ]]; then # Orion
export machine="Orion"
elif [[ -d /lfs/h2 ]]; then # wcoss2
export machine="wcoss2"
fi
echo "Running Regression Tests on '$machine'";

case $machine in
Cheyenne)
export queue="economy"
export noscrub="/glade/scratch/$LOGNAME"
export group="global"
if [[ "$cmaketest" = "false" ]]; then
export basedir="/glade/scratch/$LOGNAME/gsi"
fi
export ptmp="/glade/scratch/$LOGNAME/$ptmpName"

export casesdir="/glade/p/ral/jntp/tools/CASES"

export check_resource="no"
export accnt="p48503002"
;;
wcoss2)
export local_or_default="${local_or_default:-/lfs/h2/emc/da/noscrub/$LOGNAME}"
if [ -d $local_or_default ]; then
export noscrub="$local_or_default/noscrub"
elif [ -d /lfs/h2/emc/global/noscrub/$LOGNAME ]; then
export noscrub="/lfs/h2/emc/global/noscrub/$LOGNAME/noscrub"
fi

export queue="${queue:-dev}"
export group="${group:-global}"
if [[ "$cmaketest" = "false" ]]; then
export basedir="/lfs/h2/emc/da/noscrub/$LOGNAME/gsi"
fi
export ptmp="${ptmp:-/lfs/h2/emc/ptmp/$LOGNAME/$ptmpName}"

export casesdir="/lfs/h2/emc/da/noscrub/russ.treadon/CASES/regtest"

export check_resource="no"
export accnt="${accnt:-GFS-DEV}"
;;
Orion)
export local_or_default="${local_or_default:-/work/noaa/da/$LOGNAME}"
if [ -d $local_or_default ]; then
export noscrub="$local_or_default/noscrub"
elif [ -d /work/noaa/global/$LOGNAME ]; then
export noscrub="/work/noaa/global/$LOGNAME/noscrub"
fi

export queue="${queue:-batch}"
export group="${group:-global}"
if [[ "$cmaketest" = "false" ]]; then
export basedir="/work/noaa/da/$LOGNAME/gsi"
fi
export ptmp="${ptmp:-/work/noaa/stmp/$LOGNAME/$ptmpName}"

export casesdir="/work/noaa/da/rtreadon/CASES/regtest"

export check_resource="no"
export accnt="${accnt:-da-cpu}"
;;
Hera)

export local_or_default="${local_or_default:-/scratch1/NCEPDEV/da/$LOGNAME}"
if [ -d $local_or_default ]; then
export noscrub="$local_or_default/noscrub"
elif [ -d /scratch1/NCEPDEV/global/$LOGNAME ]; then
export noscrub="/scratch1/NCEPDEV/global/$LOGNAME/noscrub"
elif [ -d /scratch2/BMC/gsienkf/$LOGNAME ]; then
export noscrub="/scratch2/BMC/gsienkf/$LOGNAME"
fi

export group="${group:-global}"
export queue="${queue:-batch}"
if [[ "$cmaketest" = "false" ]]; then
export basedir="/scratch1/NCEPDEV/da/$LOGNAME/git/gsi"
fi

export ptmp="${ptmp:-/scratch1/NCEPDEV/stmp2/$LOGNAME/$ptmpName}"

export casesdir="/scratch1/NCEPDEV/da/Russ.Treadon/CASES/regtest"

export check_resource="no"
export accnt="${accnt:-da-cpu}"

# On Hera, there are no scrubbers to remove old contents from stmp* directories.
# After completion of regression tests, will remove the regression test subdirecories
export clean=".false."
;;
Jet)

export noscrub=/lfs1/NESDIS/nesdis-rdo2/$LOGNAME/noscrub
export ptmp=/lfs1/NESDIS/nesdis-rdo2/$LOGNAME/ptmp
export casesdir="/lfs1/NESDIS/nesdis-rdo2/David.Huber/save/CASES/regtest"
export check_resource="no"
export accnt="nesdis-rdo2"

export group="global"
export queue="batch"
if [[ "$cmaketest" = "false" ]]; then
export basedir="/lfs1/NESDIS/nesdis-rdo2/$LOGNAME/save/git/gsi"
fi

# On Jet, there are no scrubbers to remove old contents from stmp* directories.
# After completion of regression tests, will remove the regression test subdirecories
export clean=".true."
;;
Discover)
if [[ "$cmaketest" = "false" ]]; then
echo "Regression tests on Discover need to be run via ctest"
exit 1
fi
export ptmp=$basedir
export ptmp=$basedir
export noscrub=$basedir
export casesdir="/discover/nobackup/projects/gmao/obsdev/wrmccart/NCEP_regression/CASES"
export check_resource="no"
export accnt="g0613"
export queue="compute"
export clean=".false."
;;
*)
echo "Regression tests are not setup on '$machine', ABORT!"
exit 1
;;
esac

# We are dealing with *which* endian files
export endianness="Big_Endian"

# Paths to tmpdir and savedir base on ptmp
export tmpdir="$ptmp"
export savdir="$ptmp"

# Variables with the same values are defined below.

# Default resolution
export JCAP="62"

# Case Study analysis dates
export global_adate="2022110900"
export rtma_adate="2020022420"
export hwrf_nmm_adate="2012102812"
export fv3_netcdf_adate="2017030100"
export rrfs_3denvar_glbens_adate="2021072518"

# Paths for canned case data.
export global_data="$casesdir/gfs/prod"
export rtma_obs="$casesdir/regional/rtma_binary/$rtma_adate"
export rtma_ges="$casesdir/regional/rtma_binary/$rtma_adate"
export hwrf_nmm_obs="$casesdir/regional/hwrf_nmm/$hwrf_nmm_adate"
export hwrf_nmm_ges="$casesdir/regional/hwrf_nmm/$hwrf_nmm_adate"
export fv3_netcdf_obs="$casesdir/regional/fv3_netcdf/$fv3_netcdf_adate"
export fv3_netcdf_ges="$casesdir/regional/fv3_netcdf/$fv3_netcdf_adate"
export rrfs_3denvar_glbens_obs="$casesdir/regional/rrfs/$rrfs_3denvar_glbens_adate/obs"
export rrfs_3denvar_glbens_ges="$casesdir/regional/rrfs/$rrfs_3denvar_glbens_adate/ges"
export rrfs_3denvar_glbens_ens="$casesdir/regional/rrfs/$rrfs_3denvar_glbens_adate/ens"

# Define type of GPSRO data to be assimilated (refractivity or bending angle)
export gps_dtype="gps_bnd"

# Regression vfydir
export regression_vfydir="$noscrub/regression"

# Define debug variable - If you want to run the debug tests, set this variable to .true. Default is .false.
export debug=".false."

# Define parameters for global_3dvar, global_4dvar, global_4denvar
export minimization="lanczos" # If "lanczos", use sqrtb lanczos minimization algorithm. Otherwise use "pcgsoi".
export nhr_obsbin="6" # Time window for observation binning. Use "6" for 3d4dvar test. Otherwise use "1"

# Define parameters for hybrid ensemble option test.
# (default is set to false, so no hybrid ensemble option test.)

export HYBENS_GLOBAL=".false."
export ENSEMBLE_SIZE_GLOBAL="10"
export HYBENS_UV_GLOBAL=".true."
export BETA_S0_GLOBAL="0.5"
export HYBENS_HOR_SCALE_GLOBAL="1500"
export HYBENS_VER_SCALE_GLOBAL="20"
export GENERATE_ENS_GLOBAL=".true."
export HYBENS_ANISO_GLOBAL=".false."

export HYBENS_REGIONAL=".false."
export ENSEMBLE_SIZE_REGIONAL="10"
export HYBENS_UV_REGIONAL=".true."
export BETA_S0_REGIONAL="0.5"
export HYBENS_HOR_SCALE_REGIONAL="1500"
export HYBENS_VER_SCALE_REGIONAL="20"
export GENERATE_ENS_REGIONAL=".true."
export HYBENS_ANISO_REGIONAL=".false."
export NLON_ENS_REGIONAL="0"
export NLAT_ENS_REGIONAL="0"
export JCAP_ENS_REGIONAL="0"
export JCAP_ENS_TEST_REGIONAL="0"

# Toggle EnKF update code bias correction flag: lupd_satbiasc
# TRUE = compute and update radiance bias correction
# FALSE = do NOT compute or update radiance bias correction
# default is FALSE (as done in NCEP operations)
export lupd_satbiasc=".false."

0 comments on commit 49e7aec

Please sign in to comment.