Skip to content

Bugfix ocean ensemble recentering#1558

Merged
guillaumevernieres merged 2 commits into
developfrom
bugfix/ocn_recenter
Mar 19, 2025
Merged

Bugfix ocean ensemble recentering#1558
guillaumevernieres merged 2 commits into
developfrom
bugfix/ocn_recenter

Conversation

@shlyaeva
Copy link
Copy Markdown
Collaborator

Description

Ocean ensemble recentering was double-counting ensemble perturbations, effectively inflating the ensemble by a factor of 2 (almost, the extra perturbation was added with IAU, so some of it was probably damped). The accumulation of amplified perturbations over several cycles may have been the cause of ensemble forecast failures in gfsv17 trial experiments.

On develop:
IAU increment for ocean recentering = (det-mean) + (ensmember-mean).

In this branch:
IAU increment for ocean recentering = (det-mean)

With this branch, as expected, IAU increments passed to the ocean model are all the same, pulling from the mean towards deterministic background.
Tested with C48 one cycle, compared IAU increments and looked through the logs.

Issues

Resolves #1557

Automated CI tests to run in Global Workflow

  • atm_jjob
  • C96C48_ufs_hybatmDA
  • C96C48_hybatmaerosnowDA
  • C48mx500_3DVarAOWCDA
  • C48mx500_hybAOWCDA
  • C96C48_hybatmDA

Copy link
Copy Markdown
Contributor

@guillaumevernieres guillaumevernieres left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the quick fix @shlyaeva !

@shlyaeva
Copy link
Copy Markdown
Collaborator Author

Note: I've checked and I think ice recentering doesn't have this problem, as it's done on states instead of increments, and is directly adding the recentering increment to the ensemble member.

@shlyaeva shlyaeva added hera-GW-RT Queue for automated testing with global-workflow on Hera hercules-GW-RT Queue for automated testing with global-workflow on Hercules labels Mar 18, 2025
@emcbot emcbot added hercules-GW-RT-Running Automated testing with global-workflow running on Hercules hera-GW-RT-Running Automated testing with global-workflow running on Hera and removed hercules-GW-RT Queue for automated testing with global-workflow on Hercules hera-GW-RT Queue for automated testing with global-workflow on Hera labels Mar 18, 2025
@emcbot
Copy link
Copy Markdown

emcbot commented Mar 18, 2025

Automated GW-GDASApp Testing Results:
Machine: hercules

Start: Tue Mar 18 14:02:45 CDT 2025 on hercules-login-1.hpc.msstate.edu
---------------------------------------------------
Build:                                 *SUCCESS*
Build: Completed at Tue Mar 18 14:39:15 CDT 2025
---------------------------------------------------
Tests: ctest -j12 -R gdasapp -E atm_jjob|C96C48_ufs_hybatmDA|C96C48_hybatmaerosnowDA|C48mx500_3DVarAOWCDA|C96C48_hybatmDA
Tests:                                 *SUCCESS*
Tests: Completed at Tue Mar 18 15:26:29 CDT 2025
Tests: 100% tests passed, 0 tests failed out of 46

@emcbot emcbot added hercules-GW-RT-Passed Automated testing with global-workflow successful on Hercules and removed hercules-GW-RT-Running Automated testing with global-workflow running on Hercules labels Mar 18, 2025
@emcbot
Copy link
Copy Markdown

emcbot commented Mar 18, 2025

Automated GW-GDASApp Testing Results:
Machine: hera

Start: Tue Mar 18 19:18:20 UTC 2025 on hfe10
---------------------------------------------------
Build:                                 *SUCCESS*
Build: Completed at Tue Mar 18 20:13:43 UTC 2025
---------------------------------------------------
Tests: ctest -j12 -R gdasapp -E atm_jjob|C96C48_ufs_hybatmDA|C96C48_hybatmaerosnowDA|C48mx500_3DVarAOWCDA|C96C48_hybatmDA
Tests:                                 *SUCCESS*
Tests: Completed at Tue Mar 18 22:54:57 UTC 2025
Tests: 100% tests passed, 0 tests failed out of 46

@emcbot emcbot added hera-GW-RT-Passed Automated testing with global-workflow successful on Hera and removed hera-GW-RT-Running Automated testing with global-workflow running on Hera labels Mar 18, 2025
@guillaumevernieres guillaumevernieres merged commit 72b999c into develop Mar 19, 2025
@guillaumevernieres guillaumevernieres deleted the bugfix/ocn_recenter branch March 19, 2025 00:44
jspsl pushed a commit that referenced this pull request Mar 26, 2025
# Description

Ocean ensemble recentering was double-counting ensemble perturbations,
effectively inflating the ensemble by a factor of 2 (almost, the extra
perturbation was added with IAU, so some of it was probably damped). The
accumulation of amplified perturbations over several cycles may have
been the cause of ensemble forecast failures in gfsv17 trial
experiments.

On develop:
IAU increment for ocean recentering = (det-mean) + (ensmember-mean).

In this branch:
IAU increment for ocean recentering = (det-mean)

With this branch, as expected, IAU increments passed to the ocean model
are all the same, pulling from the mean towards deterministic
background.
Tested with C48 one cycle, compared IAU increments and looked through
the logs.

# Issues

Resolves #1557

# Automated CI tests to run in Global Workflow
<!-- Which Global Workflow CI tests are required to adequately test this
PR? -->
- [ ] atm_jjob <!-- JEDI atm single cycle DA !-->
- [ ] C96C48_ufs_hybatmDA <!-- JEDI atm cycled DA !-->
- [ ] C96C48_hybatmaerosnowDA  <!-- JEDI aero/snow cycled DA !-->
- [ ] C48mx500_3DVarAOWCDA <!-- JEDI low-res marine 3DVar cycled DA !-->
- [x] C48mx500_hybAOWCDA <!-- JEDI marine hybrid envar cycled DA !-->
- [ ] C96C48_hybatmDA <!-- GSI atm cycled DA !-->

Co-authored-by: Anna Shlyaeva <anna.v.shlyaeva@noaa.gov>
danholdaway added a commit that referenced this pull request Mar 26, 2025
* develop:
  added original date (#1570)
  Update OCEAN_BASIN_FILE_ORION path for marine ctest (#1569)
  Fixing window_begin and end in yaml for redating ADT (#1565)
  Save LETKF mean analysis and mean increment for verification (#1566)
  Update JEDI hashes (20250324) (#1567)
  Removes obsolete json files from marine bufr2ioda (#1564)
  Add hybrid 4denvar as a phase3 validation configuration (#1552)
  Bugfix/ocn ecen (#1550)
  Bugfix SSS obs for LETKF (#1560)
  Bugfix ocean ensemble recentering (#1558)
  apply ci path patch only when running g-w ctests (#1554)
  Update JEDI hashes (20250317)  (#1531)
  add option to create_experiment.py in create_exp.sh  (#1546)
  Update jcb hashes and support initial IODA stats capability (#1547)
  Fix GW-CI CTest dependencies (#1534)
  Converts prepoceanobs to use JCB-style obs list and config files (#1527)
  JEDI-based ensemble recentering and analysis calculation (#1488)
  tools for phase3 validation (#1526)
  Update JEDI hashes (20250306) (#1520)
  New jcb-gdas # and insitu obs prep bug fix  (#1523)
  Marine in situ obs update (SSS, moorings, drifters) (#1511)
  Save marine background and analysis spread (#1517)
  Minor build and install updates and ctest cleanup (#1512)
  correct logic for upper loop limit in chem_diagb (#1516)
  Incorporate multi-cycle concatination and separation of variables in post-BUFR observations (#1504)
  Update JEDI hashes (20250225) (#1475)
  Add a depth dependent e-fold scale (#1494)
  Update jcb and da-utils hashes to support land DA. (#1509)
  Add options to inflate the ensemble while recentering (#1501)
  Add components to use jcb yamls for marine letkf job (#1486)
  Add GNSSRO bufr2ioda and json files (#1448)
  Removal of the marine verification tools (#1499)
  update logic to identify MSU machine (#1498)
  IODA Converter with In-Situ Observations Concatenation and ObsError Inflation (#1472)
  Add sea ice recentering (#1478)
  marine vrfy bugfix (#1483)
  add LD_LIBRARY_PATH patch for wcoss2 build (#1484)
  Bugfix for ensemble recenter + add a test (#1477)
  Add code changes for the implementation of the  low-resolution B (#1441)
  update spack-stack path in Hera modulefiles (#1471)
  fixed glider output filename (#1469)
  add gdas_waveinit to C48mx500_3DVarAOWCDA ctest suite (#1470)
  update jcb-gdas hash 20250128 (#1466)
  Time series of omb stats and html doc (#1463)
  Update marine vrfy HTML codes (#1464)
  Automate the verify tools to submit from start pdy to end pdy (#1458)
  Update an offline marine vrfy tool (#1447)
  Update JEDI hashes (20250127) (#1460)
DavidNew-NOAA pushed a commit that referenced this pull request Jan 16, 2026
# Description

Ocean ensemble recentering was double-counting ensemble perturbations,
effectively inflating the ensemble by a factor of 2 (almost, the extra
perturbation was added with IAU, so some of it was probably damped). The
accumulation of amplified perturbations over several cycles may have
been the cause of ensemble forecast failures in gfsv17 trial
experiments.

On develop:
IAU increment for ocean recentering = (det-mean) + (ensmember-mean).

In this branch:
IAU increment for ocean recentering = (det-mean)

With this branch, as expected, IAU increments passed to the ocean model
are all the same, pulling from the mean towards deterministic
background.
Tested with C48 one cycle, compared IAU increments and looked through
the logs.

# Issues

Resolves #1557

# Automated CI tests to run in Global Workflow
<!-- Which Global Workflow CI tests are required to adequately test this
PR? -->
- [ ] atm_jjob <!-- JEDI atm single cycle DA !-->
- [ ] C96C48_ufs_hybatmDA <!-- JEDI atm cycled DA !-->
- [ ] C96C48_hybatmaerosnowDA  <!-- JEDI aero/snow cycled DA !-->
- [ ] C48mx500_3DVarAOWCDA <!-- JEDI low-res marine 3DVar cycled DA !-->
- [x] C48mx500_hybAOWCDA <!-- JEDI marine hybrid envar cycled DA !-->
- [ ] C96C48_hybatmDA <!-- GSI atm cycled DA !-->

Co-authored-by: Anna Shlyaeva <anna.v.shlyaeva@noaa.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hera-GW-RT-Passed Automated testing with global-workflow successful on Hera hercules-GW-RT-Passed Automated testing with global-workflow successful on Hercules

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Investigate ocean ensemble recentering

3 participants