From 3085dfc349098436b4b64b11cbcf0fe2b631011f Mon Sep 17 00:00:00 2001 From: Neil Barton <103681022+NeilBarton-NOAA@users.noreply.github.com> Date: Mon, 12 Dec 2022 15:58:34 -0500 Subject: [PATCH] ATM 3DVAR with and without IAU (#1113) This is the first of a series of PRs to addresses issue https://github.com/NOAA-EMC/global-workflow/issues/947 (cycling the S2SW app with 3DVAR). Using the ATM app, 3DVAR with IAU did not cycle out-of-the-box. This PR includes changes to successfully cycle ATM with 3DVAR with and without IAU. Refs: #947 --- parm/config/config.base.emc.dyn | 19 ++++++++++++++----- ush/parsing_namelists_FV3.sh | 1 + 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/parm/config/config.base.emc.dyn b/parm/config/config.base.emc.dyn index 62d7ff59ef..b0ef126500 100755 --- a/parm/config/config.base.emc.dyn +++ b/parm/config/config.base.emc.dyn @@ -297,11 +297,6 @@ export IAU_OFFSET=6 export DOIAU_ENKF=${DOIAU:-"YES"} # Enable 4DIAU for EnKF ensemble export IAUFHRS_ENKF="3,6,9" export IAU_DELTHRS_ENKF=6 -# Check if cycle is cold starting, DOIAU off, or free-forecast mode -if [[ "$MODE" = "cycled" && "$SDATE" = "$CDATE" && $EXP_WARM_START = ".false." ]] || [[ "$DOIAU" = "NO" ]] || [[ "$MODE" = "forecast-only" && $EXP_WARM_START = ".false." ]] ; then - export IAU_OFFSET=0 - export IAU_FHROT=0 -fi # Use Jacobians in eupd and thereby remove need to run eomg export lobsdiag_forenkf=".true." @@ -350,6 +345,20 @@ if [ $DOHYBVAR = "YES" ]; then fi fi +# if 3DVAR and IAU +if [[ ${DOHYBVAR} == "NO" && ${DOIAU} == "YES" ]]; then + export IAUFHRS="6" + export IAU_FHROT="3" + export IAU_FILTER_INCREMENTS=".true." + export IAUFHRS_ENKF="6" +fi + +# Check if cycle is cold starting, DOIAU off, or free-forecast mode +if [[ "$MODE" = "cycled" && "$SDATE" = "$CDATE" && $EXP_WARM_START = ".false." ]] || [[ "$DOIAU" = "NO" ]] || [[ "$MODE" = "forecast-only" && $EXP_WARM_START = ".false." ]] ; then + export IAU_OFFSET=0 + export IAU_FHROT=0 +fi + # turned on nsst in anal and/or fcst steps, and turn off rtgsst export DONST="YES" if [ $DONST = "YES" ]; then export FNTSFA=" "; fi diff --git a/ush/parsing_namelists_FV3.sh b/ush/parsing_namelists_FV3.sh index 41fdb04f1b..c9dc9cd1bc 100755 --- a/ush/parsing_namelists_FV3.sh +++ b/ush/parsing_namelists_FV3.sh @@ -396,6 +396,7 @@ if [ $DOIAU = "YES" ]; then iau_delthrs = ${IAU_DELTHRS} iau_inc_files= ${IAU_INC_FILES} iau_drymassfixer = .false. + iau_filter_increments = ${IAU_FILTER_INCREMENTS:-".false."} EOF fi