Skip to content

AWI-ESM3 CO2 coupling#806

Open
JanStreffing wants to merge 35 commits into
mainfrom
fesom2.6_recom_awiesm3_co2_coupling
Open

AWI-ESM3 CO2 coupling#806
JanStreffing wants to merge 35 commits into
mainfrom
fesom2.6_recom_awiesm3_co2_coupling

Conversation

@JanStreffing

Copy link
Copy Markdown
Collaborator

Not to be merge before: #802 is done.

@JanStreffing

JanStreffing commented Nov 1, 2025

Copy link
Copy Markdown
Collaborator Author

This branch still needs some cleanup. I very optimistically add it to 2.7 for now.

@JanStreffing JanStreffing added this to the FESOM 2.7 milestone Nov 1, 2025
@JanStreffing
JanStreffing requested a review from a270105 November 1, 2025 15:49
@JanStreffing
JanStreffing marked this pull request as ready for review November 12, 2025 11:10
@JanStreffing JanStreffing modified the milestones: FESOM 2.7, FESOM 2.7.1 Nov 17, 2025
JanStreffing and others added 10 commits November 18, 2025 15:49
…ars' into fesom2.6_recom_awiesm3_co2_coupling
PR #799 set any accumulated output value below 1e-30 to _FillValue. That
also masks legitimate ocean zeros: ice-free sea-ice concentration (a_ice
and all other 2D ice variables) and vanishing 3D fields such as IDEMIX
energy were written as NaN instead of 0, contrary to the CMIP/CMOR
convention. The masking was applied uniformly to 2D and 3D fields.

Replace the value-based test with a proper wet-cell mask derived from the
mesh level arrays (ulevels/nlevels for elements, ulevels_nod2D/
nlevels_nod2D for nodes). Only cells above a cavity or below the bottom
topography are written as _FillValue; every wet cell keeps its averaged
value, including a genuine zero. 2D fields and non-spatial vertical axes
(density / ice classes) are never masked.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…dmask' into fesom2.6_recom_awiesm3_co2_coupling
@JanStreffing JanStreffing modified the milestones: FESOM 2.7.1, FESOM 2.8 Jun 25, 2026
- Register the two name-dispatched diagnostics xCO2atm and NPPn3D in the
  XIOS xios_ids list (they were the only ones missing).
- Add 3D carbonate-system output (CO2_aq, pH, pCO2, HCO3, CO3, OmegaC)
  computed by MOCSY: def_stream + CASE + xios_ids, native units.
- WI-5: dispatch the otracers prognostic tracers by symbolic tracer_ids%*
  instead of hardcoded absolute ids. The literals assumed the full
  config, so for coccos-off setups (e.g. 2p3z2d) microzoo (1029/1030)
  was mislabelled CoccoN/CoccoC. Now correct for every &parecomsetup
  (also fixes the legacy serial output). Requires the recom submodule's
  -1 sentinel defaults (bumped here).
- Register the phaeocystis and T* physiology diagnostics in xios_ids so
  they are sendable; their output stays gated in file_def.

Also carries the in-progress __MULTIO mean-computation guard in the
wet/dry masking loops.
chrisdane and others added 5 commits July 15, 2026 11:24
…sm3_co2_coupling' into fesom2.6_recom_awiesm3_co2_coupling
The two `#if defined(__MULTIO) ... #else ...` blocks in the r8 and r4
compute_means loops were missing their closing `#endif`, causing
"#if without #endif" and failing the non-MULTIO build. Add the #endif
after the wet/dry fill-value branch (before the accumulation reset),
matching the intended structure so the reset runs in both branches.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants