From 1a1004ff1b6b9411029501a77f46c745eb3db488 Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA Date: Mon, 17 Oct 2022 15:56:10 +0000 Subject: [PATCH 01/11] Various updates to restore ability to cycle GDASApp (see #1067) --- jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST | 11 +----- jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP | 12 +----- jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN | 11 +----- jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST | 11 +----- jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP | 11 +----- jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN | 11 +----- jobs/rocoto/atmanalpost.sh | 6 ++- jobs/rocoto/atmanalprep.sh | 6 ++- jobs/rocoto/atmanalrun.sh | 6 ++- jobs/rocoto/atmensanalpost.sh | 6 ++- jobs/rocoto/atmensanalprep.sh | 6 ++- jobs/rocoto/atmensanalrun.sh | 6 ++- sorc/checkout.sh | 4 +- ush/load_ufsda_modules.sh | 55 +++++++++++++++++++++++++++ 14 files changed, 93 insertions(+), 69 deletions(-) create mode 100755 ush/load_ufsda_modules.sh diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST index 68063c591d..027b381262 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST +++ b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST @@ -79,20 +79,13 @@ mkdir -p $COMOUT export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT" export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT" -# NOTE BELOW IS A HACK FOR TESTING -# PLEASE FIX THIS LATER -# ASK @aerorahul -# HOW TO HANDLE DIFFERENT COMPILERS/ETC. FOR MODEL VS DA -# PROD_UTIL, ETC. DO NOT EXIST FOR JEDI MODULE VERSIONS -module purge -module use $HOMEgfs/sorc/gdas.cd/modulefiles -module load GDAS/orion +# Add UFSDA to PYTHONPATH export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH ############################################################### # Run relevant script -EXSCRIPT=${GDASPOSTPY:-$HOMEgfs/sorc/gdas.cd/scripts/exgdas_global_atmos_analysis_post.py} +EXSCRIPT=${GDASPOSTPY:-$HOMEgfs/scripts/exgdas_global_atmos_analysis_post.py} $EXSCRIPT status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP index b09cd49963..074165f88c 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP +++ b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP @@ -79,20 +79,12 @@ mkdir -p $COMOUT export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT" export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT" -# NOTE BELOW IS A HACK FOR TESTING -# PLEASE FIX THIS LATER -# ASK @aerorahul -# HOW TO HANDLE DIFFERENT COMPILERS/ETC. FOR MODEL VS DA -# PROD_UTIL, ETC. DO NOT EXIST FOR JEDI MODULE VERSIONS -module purge -module use $HOMEgfs/sorc/gdas.cd/modulefiles -module load GDAS/orion +# Add UFSDA to PYTHONPATH export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH ############################################################### # Run relevant script - -EXSCRIPT=${GDASPREPPY:-$HOMEgfs/sorc/gdas.cd/scripts/exgdas_global_atmos_analysis_prep.py} +EXSCRIPT=${GDASPREPPY:-$HOMEgfs/scripts/exgdas_global_atmos_analysis_prep.py} $EXSCRIPT status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN index 491aaf8554..4d95fb28eb 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN +++ b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN @@ -79,20 +79,13 @@ mkdir -p $COMOUT export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT" export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT" -# NOTE BELOW IS A HACK FOR TESTING -# PLEASE FIX THIS LATER -# ASK @aerorahul -# HOW TO HANDLE DIFFERENT COMPILERS/ETC. FOR MODEL VS DA -# PROD_UTIL, ETC. DO NOT EXIST FOR JEDI MODULE VERSIONS -module purge -module use $HOMEgfs/sorc/gdas.cd/modulefiles -module load GDAS/orion +# Add UFSDA to PYTHONPATH export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH ############################################################### # Run relevant script -EXSCRIPT=${GDASRUNSH:-$HOMEgfs/sorc/gdas.cd/scripts/exgdas_global_atmos_analysis_run.sh} +EXSCRIPT=${GDASRUNSH:-$HOMEgfs/scripts/exgdas_global_atmos_analysis_run.sh} $EXSCRIPT status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST index 997ad26739..fdfaf1bafb 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST +++ b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST @@ -82,20 +82,13 @@ export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT" export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT" -# NOTE BELOW IS A HACK FOR TESTING -# PLEASE FIX THIS LATER -# ASK @aerorahul -# HOW TO HANDLE DIFFERENT COMPILERS/ETC. FOR MODEL VS DA -# PROD_UTIL, ETC. DO NOT EXIST FOR JEDI MODULE VERSIONS -module purge -module use $HOMEgfs/sorc/gdas.cd/modulefiles -module load GDAS/orion +# Add UFSDA to PYTHONPATH export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH ############################################################### # Run relevant script -EXSCRIPT=${GDASPOSTPY:-$HOMEgfs/sorc/gdas.cd/scripts/exgdas_global_atmos_ensanal_post.py} +EXSCRIPT=${GDASPOSTPY:-$HOMEgfs/scripts/exgdas_global_atmos_ensanal_post.py} $EXSCRIPT status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP index bdb78d0c13..0838097693 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP +++ b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP @@ -82,20 +82,13 @@ export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT" export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT" -# NOTE BELOW IS A HACK FOR TESTING -# PLEASE FIX THIS LATER -# ASK @aerorahul -# HOW TO HANDLE DIFFERENT COMPILERS/ETC. FOR MODEL VS DA -# PROD_UTIL, ETC. DO NOT EXIST FOR JEDI MODULE VERSIONS -module purge -module use $HOMEgfs/sorc/gdas.cd/modulefiles -module load GDAS/orion +# Add UFSDA to PYTHONPATH export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH ############################################################### # Run relevant script -EXSCRIPT=${GDASPREPPY:-$HOMEgfs/sorc/gdas.cd/scripts/exgdas_global_atmos_analysis_prep.py} +EXSCRIPT=${GDASPREPPY:-$HOMEgfs/scripts/exgdas_global_atmos_analysis_prep.py} $EXSCRIPT status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN index 95fbed8868..40e22c9e57 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN +++ b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN @@ -82,20 +82,13 @@ export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT" export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT" -# NOTE BELOW IS A HACK FOR TESTING -# PLEASE FIX THIS LATER -# ASK @aerorahul -# HOW TO HANDLE DIFFERENT COMPILERS/ETC. FOR MODEL VS DA -# PROD_UTIL, ETC. DO NOT EXIST FOR JEDI MODULE VERSIONS -module purge -module use $HOMEgfs/sorc/gdas.cd/modulefiles -module load GDAS/orion +# Add UFSDA to PYTHONPATH export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH ############################################################### # Run relevant script -EXSCRIPT=${GDASRUNSH:-$HOMEgfs/sorc/gdas.cd/scripts/exgdas_global_atmos_ensanal_run.sh} +EXSCRIPT=${GDASRUNSH:-$HOMEgfs/scripts/exgdas_global_atmos_ensanal_run.sh} $EXSCRIPT status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/rocoto/atmanalpost.sh b/jobs/rocoto/atmanalpost.sh index a54b7d5a7d..5be6644140 100755 --- a/jobs/rocoto/atmanalpost.sh +++ b/jobs/rocoto/atmanalpost.sh @@ -1,10 +1,12 @@ #! /usr/bin/env bash +export STRICT="NO" source "$HOMEgfs/ush/preamble.sh" +export STRICT="YES" ############################################################### -# Source FV3GFS workflow modules -. $HOMEgfs/ush/load_fv3gfs_modules.sh +# Source UFSDA workflow modules +. $HOMEgfs/ush/load_ufsda_modules.sh status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/rocoto/atmanalprep.sh b/jobs/rocoto/atmanalprep.sh index c6df5287d7..f37de54d1d 100755 --- a/jobs/rocoto/atmanalprep.sh +++ b/jobs/rocoto/atmanalprep.sh @@ -1,10 +1,12 @@ #! /usr/bin/env bash +export STRICT="NO" source "$HOMEgfs/ush/preamble.sh" +export STRICT="YES" ############################################################### -# Source FV3GFS workflow modules -. $HOMEgfs/ush/load_fv3gfs_modules.sh +# Source UFSDA workflow modules +. $HOMEgfs/ush/load_ufsda_modules.sh status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/rocoto/atmanalrun.sh b/jobs/rocoto/atmanalrun.sh index 0768f2f55d..56bf47db89 100755 --- a/jobs/rocoto/atmanalrun.sh +++ b/jobs/rocoto/atmanalrun.sh @@ -1,10 +1,12 @@ #! /usr/bin/env bash +export STRICT="NO" source "$HOMEgfs/ush/preamble.sh" +export STRICT="YES" ############################################################### -# Source FV3GFS workflow modules -. $HOMEgfs/ush/load_fv3gfs_modules.sh +# Source UFSDA workflow modules +. $HOMEgfs/ush/load_ufsda_modules.sh status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/rocoto/atmensanalpost.sh b/jobs/rocoto/atmensanalpost.sh index f06f5aa01c..92f5541f60 100755 --- a/jobs/rocoto/atmensanalpost.sh +++ b/jobs/rocoto/atmensanalpost.sh @@ -1,10 +1,12 @@ #! /usr/bin/env bash +export STRICT="NO" source "$HOMEgfs/ush/preamble.sh" +export STRICT="YES" ############################################################### -# Source FV3GFS workflow modules -. $HOMEgfs/ush/load_fv3gfs_modules.sh +# Source UFSDA workflow modules +. $HOMEgfs/ush/load_ufsda_modules.sh status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/rocoto/atmensanalprep.sh b/jobs/rocoto/atmensanalprep.sh index 19ec88f87c..e47f2cdcfa 100755 --- a/jobs/rocoto/atmensanalprep.sh +++ b/jobs/rocoto/atmensanalprep.sh @@ -1,10 +1,12 @@ #! /usr/bin/env bash +export STRICT="NO" source "$HOMEgfs/ush/preamble.sh" +export STRICT="YES" ############################################################### -# Source FV3GFS workflow modules -. $HOMEgfs/ush/load_fv3gfs_modules.sh +# Source UFSDA workflow modules +. $HOMEgfs/ush/load_ufsda_modules.sh status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/rocoto/atmensanalrun.sh b/jobs/rocoto/atmensanalrun.sh index 5899eeaf40..5b778a5830 100755 --- a/jobs/rocoto/atmensanalrun.sh +++ b/jobs/rocoto/atmensanalrun.sh @@ -1,10 +1,12 @@ #! /usr/bin/env bash +export STRICT="NO" source "$HOMEgfs/ush/preamble.sh" +export STRICT="YES" ############################################################### -# Source FV3GFS workflow modules -. $HOMEgfs/ush/load_fv3gfs_modules.sh +# Source UFSDA workflow modules +. $HOMEgfs/ush/load_ufsda_modules.sh status=$? [[ $status -ne 0 ]] && exit $status diff --git a/sorc/checkout.sh b/sorc/checkout.sh index 441cd78124..809513ec35 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -158,11 +158,11 @@ checkout "ufs_utils.fd" "https://github.com/ufs-community/UFS_UTILS.git" checkout "verif-global.fd" "https://github.com/NOAA-EMC/EMC_verif-global.git" "c267780" ; errs=$((errs + $?)) if [[ ${checkout_gsi} == "YES" ]]; then - checkout "gsi_enkf.fd" "https://github.com/NOAA-EMC/GSI.git" "67f5ab4"; errs=$((errs + $?)) + checkout "gsi_enkf.fd" "https://github.com/NOAA-EMC/GSI.git" "48d8676"; errs=$((errs + $?)) fi if [[ ${checkout_gdas} == "YES" ]]; then - checkout "gdas.cd" "https://github.com/NOAA-EMC/GDASApp.git" "5952c9d"; errs=$((errs + $?)) + checkout "gdas.cd" "https://github.com/NOAA-EMC/GDASApp.git" "0332c17"; errs=$((errs + $?)) fi if [[ ${checkout_gsi} == "YES" || ${checkout_gdas} == "YES" ]]; then diff --git a/ush/load_ufsda_modules.sh b/ush/load_ufsda_modules.sh new file mode 100755 index 0000000000..166724b1e0 --- /dev/null +++ b/ush/load_ufsda_modules.sh @@ -0,0 +1,55 @@ +#! /usr/bin/env bash + +############################################################### +if [[ "${DEBUG_WORKFLOW:-NO}" == "NO" ]]; then + echo "Loading modules quietly..." + set +x +fi + +# Setup runtime environment by loading modules +ulimit_s=$( ulimit -S -s ) + +# Find module command and purge: +source "$HOMEgfs/modulefiles/module-setup.sh.inc" + +# Load our modules: +module use "$HOMEgfs/sorc/gdas.cd/modulefiles" + +if [[ -d /lfs/f1 ]]; then + # We are on WCOSS2 (Cactus or Dogwood) + echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM +elif [[ -d /lfs3 ]] ; then + # We are on NOAA Jet + echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM +elif [[ -d /scratch1 ]] ; then + # We are on NOAA Hera + module load GDAS/hera + if [[ "$DEBUG_WORKFLOW" == "YES" ]]; then + module list + pip list + fi +elif [[ -d /work ]] ; then + # We are on MSU Orion + module load GDAS/orion + if [[ "$DEBUG_WORKFLOW" == "YES" ]] ; then + module list + pip list + fi +elif [[ -d /glade ]] ; then + # We are on NCAR Yellowstone + echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM +elif [[ -d /lustre && -d /ncrc ]] ; then + # We are on GAEA. + echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM +elif [[ -d /data/prod ]] ; then + # We are on SSEC S4 + echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM +else + echo WARNING: UNKNOWN PLATFORM +fi + +# Restore stack soft limit: +ulimit -S -s "$ulimit_s" +unset ulimit_s + +set_trace From bee4d875bb5e325f35e2c3a93059c8950b0cc2d4 Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA Date: Wed, 19 Oct 2022 16:22:44 +0000 Subject: [PATCH 02/11] Add missing argument, atmges_fv3, to INCPY (#1067) --- scripts/exgdas_global_atmos_analysis_run.sh | 3 ++- scripts/exgdas_global_atmos_ensanal_run.sh | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/exgdas_global_atmos_analysis_run.sh b/scripts/exgdas_global_atmos_analysis_run.sh index 0f2edbd746..a67d80ac84 100755 --- a/scripts/exgdas_global_atmos_analysis_run.sh +++ b/scripts/exgdas_global_atmos_analysis_run.sh @@ -138,10 +138,11 @@ export err=$?; err_chk ################################################################################ # translate FV3-JEDI increment to FV3 readable format +atmges_fv3=$COMIN_GES/${GPREFIX}atmf006.ensres.nc atminc_jedi=$DATA/anl/atminc.${PDY}_${cyc}0000z.nc4 atminc_fv3=$COMOUT/${CDUMP}.${cycle}.atminc.nc if [ -s $atminc_jedi ]; then - $INCPY $atminc_jedi $atminc_fv3 + $INCPY $atmges_fv3 $atminc_jedi $atminc_fv3 export err=$? else echo "***WARNING*** missing $atminc_jedi ABORT" diff --git a/scripts/exgdas_global_atmos_ensanal_run.sh b/scripts/exgdas_global_atmos_ensanal_run.sh index 68d53d3695..6216393ffd 100755 --- a/scripts/exgdas_global_atmos_ensanal_run.sh +++ b/scripts/exgdas_global_atmos_ensanal_run.sh @@ -126,7 +126,7 @@ $NLN $JEDIENSEXE $DATA/fv3jedi_ens.x ################################################################################ # run executable -export pgm=$JEDIVAREXE +export pgm=$JEDIENSEXE . prep_step $APRUN_ATMENSANAL $DATA/fv3jedi_ens.x $DATA/fv3jedi_ens.yaml 1>&1 2>&2 export err=$?; err_chk @@ -135,11 +135,12 @@ export err=$?; err_chk # translate FV3-JEDI increment to FV3 readable format for imem in $(seq 1 $NMEM_ENKF); do memchar="mem"$(printf %03i $imem) + atmges_fv3=$COMIN_GES_ENS/$memchar/${GPREFIX}atmf006.nc atminc_jedi=$DATA/anl/$memchar/atminc.${PDY}_${cyc}0000z.nc4 atminc_fv3=$COMOUT_ENS/$memchar/${CDUMP}.${cycle}.atminc.nc mkdir -p $COMOUT_ENS/$memchar if [ -s $atminc_jedi ]; then - $INCPY $atminc_jedi $atminc_fv3 + $INCPY $atmges_fv3 $atminc_jedi $atminc_fv3 export err=$? else echo "***WARNING*** missing $atminc_jedi ABORT" From ab6dec0e85bff368bc276b837879d9e967afcac5 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Thu, 20 Oct 2022 14:54:13 +0000 Subject: [PATCH 03/11] Update hash for UFS-based DA checkout, correct typo in load_ufsda_modules (#1067) --- sorc/checkout.sh | 2 +- ush/load_ufsda_modules.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sorc/checkout.sh b/sorc/checkout.sh index 8eb473ab95..10d9c2d322 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -161,7 +161,7 @@ if [[ ${checkout_gsi} == "YES" ]]; then fi if [[ ${checkout_gdas} == "YES" ]]; then - checkout "gdas.cd" "https://github.com/NOAA-EMC/GDASApp.git" "0332c17"; errs=$((errs + $?)) + checkout "gdas.cd" "https://github.com/NOAA-EMC/GDASApp.git" "9fdd073"; errs=$((errs + $?)) fi if [[ ${checkout_gsi} == "YES" || ${checkout_gdas} == "YES" ]]; then diff --git a/ush/load_ufsda_modules.sh b/ush/load_ufsda_modules.sh index 166724b1e0..e5fb9b90ae 100755 --- a/ush/load_ufsda_modules.sh +++ b/ush/load_ufsda_modules.sh @@ -24,7 +24,7 @@ elif [[ -d /lfs3 ]] ; then elif [[ -d /scratch1 ]] ; then # We are on NOAA Hera module load GDAS/hera - if [[ "$DEBUG_WORKFLOW" == "YES" ]]; then + if [[ "$DEBUG_WORKFLOW" == "YES" ]] ; then module list pip list fi From 8b155de728c423444313ee7bf5986fbf5c10215f Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Thu, 20 Oct 2022 15:21:38 +0000 Subject: [PATCH 04/11] add FV3_GFS_v16_no_nsst to CCPP_SUITES for UFS-based DA (#1067) --- sorc/build_ufs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/build_ufs.sh b/sorc/build_ufs.sh index df1378ca66..56fc35c7d9 100755 --- a/sorc/build_ufs.sh +++ b/sorc/build_ufs.sh @@ -5,7 +5,7 @@ cwd=$(pwd) # Default settings APP="S2SWA" -CCPP_SUITES="FV3_GFS_v16,FV3_GFS_v16_ugwpv1,FV3_GFS_v17_p8,FV3_GFS_v16_coupled_nsstNoahmpUGWPv1,FV3_GFS_v17_coupled_p8" +CCPP_SUITES="FV3_GFS_v16,FV3_GFS_v16_no_nsst,FV3_GFS_v16_ugwpv1,FV3_GFS_v17_p8,FV3_GFS_v16_coupled_nsstNoahmpUGWPv1,FV3_GFS_v17_coupled_p8" while getopts ":da:v" option; do case "${option}" in From 5a97bda820d9218c75e5301483ad0dd30a241630 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Thu, 20 Oct 2022 17:20:44 +0000 Subject: [PATCH 05/11] Use identity B for fv3jedi_var, set OMP_NUM_THREADS in fv3jedi analysis scripts (#1067) --- parm/config/config.atmanal | 2 +- scripts/exgdas_global_atmos_analysis_run.sh | 1 + scripts/exgdas_global_atmos_ensanal_run.sh | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/parm/config/config.atmanal b/parm/config/config.atmanal index e2e60d0303..854fef0059 100755 --- a/parm/config/config.atmanal +++ b/parm/config/config.atmanal @@ -8,7 +8,7 @@ echo "BEGIN: config.atmanal" export OBS_YAML_DIR=$HOMEgfs/sorc/gdas.cd/parm/atm/obs/config/ export OBS_LIST=$HOMEgfs/sorc/gdas.cd/parm/atm/obs/lists/gdas_prototype.yaml export ATMVARYAML=$HOMEgfs/sorc/gdas.cd/parm/atm/variational/3dvar_dripcg.yaml -export BERROR_YAML=$HOMEgfs/sorc/gdas.cd/parm/atm/berror/hybvar_bump.yaml +export BERROR_YAML=$HOMEgfs/sorc/gdas.cd/parm/atm/berror/staticb_identity.yaml export FV3JEDI_FIX=$HOMEgfs/fix/gdas export R2D2_OBS_DB='ufsda_test' export R2D2_OBS_DUMP='oper_gdas' diff --git a/scripts/exgdas_global_atmos_analysis_run.sh b/scripts/exgdas_global_atmos_analysis_run.sh index a67d80ac84..c8c29460e2 100755 --- a/scripts/exgdas_global_atmos_analysis_run.sh +++ b/scripts/exgdas_global_atmos_analysis_run.sh @@ -131,6 +131,7 @@ $NLN $JEDIVAREXE $DATA/fv3jedi_var.x ################################################################################ # run executable +export OMP_NUM_THREADS=$NTHREADS_ATMANAL export pgm=$JEDIVAREXE . prep_step $APRUN_ATMANAL $DATA/fv3jedi_var.x $DATA/fv3jedi_var.yaml 1>&1 2>&2 diff --git a/scripts/exgdas_global_atmos_ensanal_run.sh b/scripts/exgdas_global_atmos_ensanal_run.sh index 6216393ffd..a15a0fd6d9 100755 --- a/scripts/exgdas_global_atmos_ensanal_run.sh +++ b/scripts/exgdas_global_atmos_ensanal_run.sh @@ -126,6 +126,7 @@ $NLN $JEDIENSEXE $DATA/fv3jedi_ens.x ################################################################################ # run executable +export OMP_NUM_THREADS=$NTHREADS_ATMENSANAL export pgm=$JEDIENSEXE . prep_step $APRUN_ATMENSANAL $DATA/fv3jedi_ens.x $DATA/fv3jedi_ens.yaml 1>&1 2>&2 From 670602b9301fff6ea93063ca406cdd22d1bee896 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Fri, 21 Oct 2022 18:53:56 +0000 Subject: [PATCH 06/11] Revert R2D2_BC_DUMP in config.atmensanal back to original default (#1067) --- parm/config/config.atmensanal | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/parm/config/config.atmensanal b/parm/config/config.atmensanal index bfaddf0b5a..2c939f0d84 100755 --- a/parm/config/config.atmensanal +++ b/parm/config/config.atmensanal @@ -14,8 +14,7 @@ export R2D2_OBS_DB='ufsda_test' export R2D2_OBS_DUMP='oper_gdas' export R2D2_OBS_SRC='ncdiag' export R2D2_BC_SRC='gsi' -##export R2D2_BC_DUMP='oper_gdas' -export R2D2_BC_DUMP='prgdasens' +export R2D2_BC_DUMP='oper_gdas' export R2D2_ARCH_DB='local' export INTERP_METHOD='barycentric' From a3d60d46b8306c3524f195f2390426a32b46e566 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Mon, 24 Oct 2022 18:15:15 +0000 Subject: [PATCH 07/11] Update GDASApp hash, address linter warnings for load_ufsda_module.sh (#1067) --- sorc/checkout.sh | 2 +- ush/load_ufsda_modules.sh | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sorc/checkout.sh b/sorc/checkout.sh index 1d71579535..e92728e3ff 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -161,7 +161,7 @@ if [[ ${checkout_gsi} == "YES" ]]; then fi if [[ ${checkout_gdas} == "YES" ]]; then - checkout "gdas.cd" "https://github.com/NOAA-EMC/GDASApp.git" "9fdd073"; errs=$((errs + $?)) + checkout "gdas.cd" "https://github.com/NOAA-EMC/GDASApp.git" "9efabe5"; errs=$((errs + $?)) fi if [[ ${checkout_gsi} == "YES" || ${checkout_gdas} == "YES" ]]; then diff --git a/ush/load_ufsda_modules.sh b/ush/load_ufsda_modules.sh index e5fb9b90ae..6ceba33706 100755 --- a/ush/load_ufsda_modules.sh +++ b/ush/load_ufsda_modules.sh @@ -10,10 +10,10 @@ fi ulimit_s=$( ulimit -S -s ) # Find module command and purge: -source "$HOMEgfs/modulefiles/module-setup.sh.inc" +source "${HOMEgfs}/modulefiles/module-setup.sh.inc" # Load our modules: -module use "$HOMEgfs/sorc/gdas.cd/modulefiles" +module use "${HOMEgfs}/sorc/gdas.cd/modulefiles" if [[ -d /lfs/f1 ]]; then # We are on WCOSS2 (Cactus or Dogwood) @@ -24,14 +24,14 @@ elif [[ -d /lfs3 ]] ; then elif [[ -d /scratch1 ]] ; then # We are on NOAA Hera module load GDAS/hera - if [[ "$DEBUG_WORKFLOW" == "YES" ]] ; then + if [[ "${DEBUG_WORKFLOW}" == "YES" ]] ; then module list pip list fi elif [[ -d /work ]] ; then # We are on MSU Orion module load GDAS/orion - if [[ "$DEBUG_WORKFLOW" == "YES" ]] ; then + if [[ "${DEBUG_WORKFLOW}" == "YES" ]] ; then module list pip list fi @@ -49,7 +49,7 @@ else fi # Restore stack soft limit: -ulimit -S -s "$ulimit_s" +ulimit -S -s "${ulimit_s}" unset ulimit_s set_trace From 1997c262da04aeb35c0cbdbab830d24a28b4589b Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Mon, 24 Oct 2022 18:46:32 +0000 Subject: [PATCH 08/11] address linter errors in ufsda analysis run scripts (#1067) --- scripts/exgdas_global_atmos_analysis_run.sh | 4 ++-- scripts/exgdas_global_atmos_ensanal_run.sh | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/exgdas_global_atmos_analysis_run.sh b/scripts/exgdas_global_atmos_analysis_run.sh index c8c29460e2..18af261b94 100755 --- a/scripts/exgdas_global_atmos_analysis_run.sh +++ b/scripts/exgdas_global_atmos_analysis_run.sh @@ -166,11 +166,11 @@ cp -rf $DATA/bc $COMOUT/ # Deterministic abias used in enkf cycle alist="abias abias_air abias_int abias_pc" for abias in $alist; do - cp $COMIN_GES/${GPREFIX}${abias} $COMOUT/${APREFIX}${abias} + cp ${COMIN_GES}/${GPREFIX}${abias} ${COMOUT}/${APREFIX}"${abias}" done ################################################################################ -exit $err +exit ${err} ################################################################################ diff --git a/scripts/exgdas_global_atmos_ensanal_run.sh b/scripts/exgdas_global_atmos_ensanal_run.sh index a15a0fd6d9..0e75e4cd02 100755 --- a/scripts/exgdas_global_atmos_ensanal_run.sh +++ b/scripts/exgdas_global_atmos_ensanal_run.sh @@ -156,12 +156,12 @@ echo "$CDUMP $CDATE atminc done at $(date)" > $COMOUT_ENS/${CDUMP}.${cycle}.logi ################################################################################ # Copy diags and YAML to $COMOUT -cp -r $DATA/fv3jedi_ens.yaml $COMOUT_ENS/${CDUMP}.${cycle}.fv3jedi_ens.yaml -cp -rf $DATA/diags $COMOUT_ENS/ +cp -r ${DATA}/fv3jedi_ens.yaml ${COMOUT_ENS}/${CDUMP}.${cycle}.fv3jedi_ens.yaml +cp -rf ${DATA}/diags "${COMOUT_ENS}/" ################################################################################ -exit $err +exit ${err} ################################################################################ From f82fab49688cc859a147243d183ae5ee5653b636 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Mon, 24 Oct 2022 19:07:44 +0000 Subject: [PATCH 09/11] refactor correction to linter errors in ufsda analysis run scripts (#1067) --- scripts/exgdas_global_atmos_analysis_run.sh | 2 +- scripts/exgdas_global_atmos_ensanal_run.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/exgdas_global_atmos_analysis_run.sh b/scripts/exgdas_global_atmos_analysis_run.sh index 18af261b94..80ea770334 100755 --- a/scripts/exgdas_global_atmos_analysis_run.sh +++ b/scripts/exgdas_global_atmos_analysis_run.sh @@ -166,7 +166,7 @@ cp -rf $DATA/bc $COMOUT/ # Deterministic abias used in enkf cycle alist="abias abias_air abias_int abias_pc" for abias in $alist; do - cp ${COMIN_GES}/${GPREFIX}${abias} ${COMOUT}/${APREFIX}"${abias}" + cp "${COMIN_GES}/${GPREFIX}${abias}" "${COMOUT}/${APREFIX}${abias}" done ################################################################################ diff --git a/scripts/exgdas_global_atmos_ensanal_run.sh b/scripts/exgdas_global_atmos_ensanal_run.sh index 0e75e4cd02..83ea031001 100755 --- a/scripts/exgdas_global_atmos_ensanal_run.sh +++ b/scripts/exgdas_global_atmos_ensanal_run.sh @@ -157,7 +157,7 @@ echo "$CDUMP $CDATE atminc done at $(date)" > $COMOUT_ENS/${CDUMP}.${cycle}.logi ################################################################################ # Copy diags and YAML to $COMOUT cp -r ${DATA}/fv3jedi_ens.yaml ${COMOUT_ENS}/${CDUMP}.${cycle}.fv3jedi_ens.yaml -cp -rf ${DATA}/diags "${COMOUT_ENS}/" +cp -rf "${DATA}/diags" "${COMOUT_ENS}/" ################################################################################ From ed2a98c81a4d9e993cfd482919bcead16d0d10b8 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Tue, 25 Oct 2022 00:46:23 +0000 Subject: [PATCH 10/11] Update GDASAapp hash in checkout.sh (#1067) --- sorc/checkout.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/checkout.sh b/sorc/checkout.sh index e92728e3ff..abab899cc6 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -161,7 +161,7 @@ if [[ ${checkout_gsi} == "YES" ]]; then fi if [[ ${checkout_gdas} == "YES" ]]; then - checkout "gdas.cd" "https://github.com/NOAA-EMC/GDASApp.git" "9efabe5"; errs=$((errs + $?)) + checkout "gdas.cd" "https://github.com/NOAA-EMC/GDASApp.git" "843d3a9"; errs=$((errs + $?)) fi if [[ ${checkout_gsi} == "YES" || ${checkout_gdas} == "YES" ]]; then From 3c452dd181758fddc6864414098ed2b03dbe68f7 Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA Date: Tue, 25 Oct 2022 14:03:53 +0000 Subject: [PATCH 11/11] Update gsi-enkf and GDASApps hashes in Externals.cfg (#1067) --- Externals.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 47e8134e13..948447a758 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -29,7 +29,7 @@ protocol = git required = True [GSI-EnKF] -hash = 67f5ab4 +hash = 48d8676 local_path = sorc/gsi_enkf.fd repo_url = https://github.com/NOAA-EMC/GSI.git protocol = git @@ -50,7 +50,7 @@ protocol = git required = False [GDASApp] -hash = 5952c9d +hash = 843d3a9 local_path = sorc/gdas.cd repo_url = https://github.com/NOAA-EMC/GDASApp.git protocol = git