diff --git a/parm/atm/jcb-base.yaml.j2 b/parm/atm/jcb-base.yaml.j2 index 4845b0fbc..c8b85d564 100644 --- a/parm/atm/jcb-base.yaml.j2 +++ b/parm/atm/jcb-base.yaml.j2 @@ -11,7 +11,7 @@ app_path_observation_chronicle: "{{PARMgfs}}/gdas/jcb-gdas/observation_chronicle # ------------------------------------------------------------ #final_increment_file: final_increment_gaussian final_increment_file: final_increment_cubed_sphere -output_ensemble_increments_file: output_ensemble_increments_gaussian +output_ensemble_increments_file: output_ensemble_increments_cubed_sphere model_file: model_pseudo initial_condition_file: background # Initial conditions for 4D apps is background diff --git a/test/atm/global-workflow/CMakeLists.txt b/test/atm/global-workflow/CMakeLists.txt index cda1d56d4..1a91b0740 100644 --- a/test/atm/global-workflow/CMakeLists.txt +++ b/test/atm/global-workflow/CMakeLists.txt @@ -34,6 +34,11 @@ add_test(NAME test_gdasapp_atm_jjob_ens_init add_test(NAME test_gdasapp_atm_jjob_ens_run COMMAND ${PROJECT_SOURCE_DIR}/test/atm/global-workflow/jjob_ens_run.sh ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR} + WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/atm/global-workflow/testrun) + +add_test(NAME test_gdasapp_atm_jjob_ens_inc + COMMAND ${PROJECT_SOURCE_DIR}/test/atm/global-workflow/jjob_ens_inc.sh + ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR} WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test/atm/global-workflow/testrun) add_test(NAME test_gdasapp_atm_jjob_ens_final diff --git a/test/atm/global-workflow/jjob_ens_inc.sh b/test/atm/global-workflow/jjob_ens_inc.sh new file mode 100755 index 000000000..c7c885f02 --- /dev/null +++ b/test/atm/global-workflow/jjob_ens_inc.sh @@ -0,0 +1,55 @@ +#! /usr/bin/env bash + +set -x +bindir=$1 +srcdir=$2 + +# Set g-w HOMEgfs +topdir=$(cd "$(dirname "$(readlink -f -n "${bindir}" )" )/../../.." && pwd -P) +export HOMEgfs=$topdir + +# Set variables for ctest +export PSLOT=gdas_test +export EXPDIR=$bindir/test/atm/global-workflow/testrun/experiments/$PSLOT +export PDY=20210323 +export cyc=18 +export CDATE=${PDY}${cyc} +export ROTDIR=$bindir/test/atm/global-workflow/testrun/ROTDIRS/$PSLOT +export RUN=enkfgdas +export CDUMP=enkfgdas +export DATAROOT=$bindir/test/atm/global-workflow/testrun/RUNDIRS/$PSLOT +export COMIN_GES=${bindir}/test/atm/bkg +export pid=${pid:-$$} +export jobid=$pid +export COMROOT=$DATAROOT +export NMEM_ENS=3 +export ACCOUNT=da-cpu + +# Set python path for workflow utilities and tasks +wxflowPATH="${HOMEgfs}/ush/python:${HOMEgfs}/ush/python/wxflow" +PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}${wxflowPATH}" +export PYTHONPATH + +# Detemine machine from config.base +machine=$(echo `grep 'machine=' $EXPDIR/config.base | cut -d"=" -f2` | tr -d '"') + +# Set NETCDF and UTILROOT variables (used in config.base) +if [[ $machine = 'HERA' ]]; then + NETCDF=$( which ncdump ) + export NETCDF + export UTILROOT="/scratch2/NCEPDEV/ensemble/save/Walter.Kolczynski/hpc-stack/intel-18.0.5.274/prod_util/1.2.2" +elif [[ $machine = 'ORION' || $machine = 'HERCULES' ]]; then + ncdump=$( which ncdump ) + NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) + export NETCDF + export UTILROOT=/work2/noaa/da/python/opt/intel-2022.1.2/prod_util/1.2.2 +fi + +# Execute j-job +if [[ $machine = 'HERA' ]]; then + sbatch --nodes=1 --ntasks=36 --account=$ACCOUNT --qos=batch --time=00:30:00 --export=ALL --wait ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_FV3_INCREMENT +elif [[ $machine = 'ORION' || $machine = 'HERCULES' ]]; then + sbatch --nodes=1 --ntasks=36 --account=$ACCOUNT --qos=batch --time=00:30:00 --export=ALL --wait ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_FV3_INCREMENT +else + ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_FV3_INCREMENT +fi diff --git a/test/atm/global-workflow/jjob_ens_run.sh b/test/atm/global-workflow/jjob_ens_run.sh index 6844e6973..b8338d327 100755 --- a/test/atm/global-workflow/jjob_ens_run.sh +++ b/test/atm/global-workflow/jjob_ens_run.sh @@ -50,9 +50,9 @@ fi # Execute j-job if [[ $machine = 'HERA' ]]; then - sbatch --nodes=1 --ntasks=36 --account=$ACCOUNT --qos=batch --time=00:30:00 --export=ALL --wait ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_RUN + sbatch --nodes=1 --ntasks=36 --account=$ACCOUNT --qos=batch --time=00:30:00 --export=ALL --wait ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_LETKF elif [[ $machine = 'ORION' || $machine = 'HERCULES' ]]; then - sbatch --nodes=1 --ntasks=36 --account=$ACCOUNT --qos=batch --time=00:30:00 --export=ALL --wait ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_RUN + sbatch --nodes=1 --ntasks=36 --account=$ACCOUNT --qos=batch --time=00:30:00 --export=ALL --wait ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_LETKF else - ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_RUN + ${HOMEgfs}/jobs/JGLOBAL_ATMENS_ANALYSIS_LETKF fi