Skip to content

Commit c8b17c5

Browse files
CopilotCoryMartin-NOAADavidHuber-NOAA
authored
Turn off anlstat job for GSI based experiments by default (NOAA-EMC#4710)
# Description The `anlstat` job was unconditionally running for GSI-based experiments, causing issues on some platforms. This PR turns it off by default for GSI experiments and adds an explicit opt-in flag, while preserving the existing behavior that enables `DO_ANLSTAT` for JEDI-based experiments. **Changes:** - `dev/parm/config/gfs/config.base.j2`: Reverts `DO_ANLSTAT` default back to `"NO"` (as it was in `e8d51af`); adds new `DO_GSI_ANLSTAT="NO"` flag; restores the conditional logic from `e8d51af` that turns `DO_ANLSTAT` back to `"YES"` for JEDI-based experiments: - When `DO_JEDIATMVAR="YES"` (JEDI atmospheric variational DA) - When any of `DO_AERO="YES"`, `DO_JEDIOCNVAR="YES"`, or `DO_JEDISNOWDA="YES"` - `dev/parm/config/gcafs/config.base.j2`: Adds the same `DO_GSI_ANLSTAT="NO"` flag so the variable is available in GCAFS experiments - `dev/scripts/exglobal_analysis_stats.py`: Replaces the unconditional `else: append('atmos_gsi')` with `elif config.DO_GSI_ANLSTAT:` — GSI analysis stats now only run when explicitly opted in - `docs/source/configure.rst`: Added documentation for `DO_ANLSTAT` and `DO_GSI_ANLSTAT` options ```python # Before: atmos_gsi always added when JEDI not active if config.DO_JEDIATMVAR: config.STAT_ANALYSES.append('atmos') else: config.STAT_ANALYSES.append('atmos_gsi') # After: atmos_gsi only added when DO_GSI_ANLSTAT=YES if config.DO_JEDIATMVAR: config.STAT_ANALYSES.append('atmos') elif config.DO_GSI_ANLSTAT: config.STAT_ANALYSES.append('atmos_gsi') ``` To re-enable GSI analysis statistics, set `DO_GSI_ANLSTAT="YES"` in the experiment configuration. JEDI-based experiments are unaffected — `DO_ANLSTAT` is still automatically enabled for them via the conditional logic in `config.base.j2`. Resolves NOAA-EMC#4450 # Type of change - [ ] Bug fix (fixes something broken) - [x] New feature (adds functionality) - [ ] Maintenance (code refactor, clean-up, new CI test, etc.) # Change characteristics - Is this change expected to change outputs (e.g. value changes to existing outputs, new files stored in COM, files removed from COM, filename changes, additions/subtractions to archives)? NO - [ ] GFS - [ ] GEFS - [ ] SFS - [ ] GCAFS - Is this a breaking change (a change in existing functionality)? YES — GSI experiments that relied on `anlstat` running by default will no longer run it unless `DO_GSI_ANLSTAT="YES"` is set - Does this change require a documentation update? YES — documentation for `DO_ANLSTAT` and `DO_GSI_ANLSTAT` has been added to `docs/source/configure.rst` - Does this change require an update to any of the following submodules? NO - [ ] EMC verif-global - [ ] GDAS - [ ] GFS-utils - [ ] GSI - [ ] GSI-monitor - [ ] GSI-utils - [ ] UFS-utils - [ ] UFS-weather-model - [ ] wxflow # How has this been tested? Code review only; no runtime tests conducted. # Checklist - [ ] Any dependent changes have been merged and published - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have documented my code, including function, input, and output descriptions - [x] My changes generate no new warnings - [ ] New and existing tests pass with my changes - [ ] This change is covered by an existing CI test or a new one has been added - [ ] Any new scripts have been added to the .github/CODEOWNERS file with owners - [x] I have made corresponding changes to the system documentation if necessary <!-- START COPILOT CODING AGENT TIPS --> --- ⌨️ Start Copilot coding agent tasks without leaving your editor — available in [VS Code](https://gh.io/cca-vs-code-docs), [Visual Studio](https://gh.io/cca-visual-studio-docs), [JetBrains IDEs](https://gh.io/cca-jetbrains-docs) and [Eclipse](https://gh.io/cca-eclipse-docs). --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: CoryMartin-NOAA <6354668+CoryMartin-NOAA@users.noreply.github.com> Co-authored-by: DavidHuber-NOAA <69919478+DavidHuber-NOAA@users.noreply.github.com> Co-authored-by: Cory Martin <cory.r.martin@noaa.gov>
1 parent 1361983 commit c8b17c5

4 files changed

Lines changed: 19 additions & 2 deletions

File tree

dev/parm/config/gcafs/config.base.j2

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ export DO_VERFOZN="YES" # Ozone data assimilation monitoring
8585
export DO_VERFRAD="YES" # Radiance data assimilation monitoring
8686
export DO_VMINMON="YES" # GSI minimization monitoring
8787
export DO_ANLSTAT="NO" # JEDI-based analysis statistics
88+
export DO_GSI_ANLSTAT="NO" # GSI-based analysis statistics
8889
export DO_MOS="NO" # GFS Model Output Statistics - Only supported on WCOSS2
8990

9091
# NO for retrospective parallel; YES for real-time parallel

dev/parm/config/gfs/config.base.j2

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ export DO_GENESIS_FSU="{{ DO_GENESIS_FSU }}" # Cyclone genesis verification (FSU
8989
export DO_VERFOZN="YES" # Ozone data assimilation monitoring
9090
export DO_VERFRAD="YES" # Radiance data assimilation monitoring
9191
export DO_VMINMON="YES" # GSI minimization monitoring
92-
export DO_ANLSTAT="YES" # JEDI-based analysis statistics
92+
export DO_ANLSTAT="NO" # JEDI-based analysis statistics
93+
export DO_GSI_ANLSTAT="NO" # GSI-based analysis statistics
9394

9495
# Experiment mode (cycled or forecast-only)
9596
export MODE="{{ MODE }}" # cycled/forecast-only
@@ -517,6 +518,11 @@ if [[ "${DO_JEDIATMVAR}" = "YES" ]]; then
517518
export DO_VERFOZN="NO" # Ozone data assimilation monitoring
518519
export DO_VERFRAD="NO" # Radiance data assimilation monitoring
519520
export DO_VMINMON="NO" # GSI minimization monitoring
521+
export DO_ANLSTAT="YES" # JEDI-based analysis statistics
522+
else
523+
if [[ "${DO_AERO}" = "YES" || "${DO_JEDIOCNVAR}" = "YES" || "${DO_JEDISNOWDA}" = "YES" ]]; then
524+
export DO_ANLSTAT="YES" # JEDI-based analysis statistics
525+
fi
520526
fi
521527

522528
if [[ "${DOENKFONLY_ATM:-NO}" == "YES" ]] ; then

dev/scripts/exglobal_analysis_stats.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
config.STAT_ANALYSES.append('snow')
2929
if config.DO_JEDIATMVAR:
3030
config.STAT_ANALYSES.append('atmos')
31-
else:
31+
elif config.DO_GSI_ANLSTAT:
3232
config.STAT_ANALYSES.append('atmos_gsi')
3333

3434
# GCDAS uses offline GDAS, remove atmos analysis

docs/source/configure.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,16 @@ The global-workflow configs contain switches that change how the system runs. Ma
4242
+------------------+----------------------------------+---------------+-------------+---------------------------------------------------+
4343
| DO_VMINMON | Run GSI monitor minimization job | YES | YES | Whether to run the GSI monitor minimization job |
4444
+------------------+----------------------------------+---------------+-------------+---------------------------------------------------+
45+
| DO_ANLSTAT | Run analysis statistics job | NO | YES | Whether to run the analysis statistics job. |
46+
| | | | | Automatically set to YES for JEDI-based |
47+
| | | | | experiments (DO_JEDIATMVAR, DO_AERO, |
48+
| | | | | DO_JEDIOCNVAR, or DO_JEDISNOWDA). |
49+
+------------------+----------------------------------+---------------+-------------+---------------------------------------------------+
50+
| DO_GSI_ANLSTAT | Run GSI analysis statistics job | NO | NO | Whether to include GSI-based atmospheric analysis |
51+
| | | | | statistics when running the anlstat job. Only |
52+
| | | | | relevant when DO_ANLSTAT=YES and using GSI (not |
53+
| | | | | JEDI) for atmospheric data assimilation. |
54+
+------------------+----------------------------------+---------------+-------------+---------------------------------------------------+
4555
| DO_METP | Run METplus jobs | YES | YES | One cycle spinup |
4656
+------------------+----------------------------------+---------------+-------------+---------------------------------------------------+
4757
| EXP_WARM_START | Is experiment starting warm | .false. | NO | Impacts IAU settings for initial cycle. Can also |

0 commit comments

Comments
 (0)