Skip to content

Conversation

@bartgol
Copy link
Contributor

@bartgol bartgol commented Oct 9, 2025

Ninth (and possibly final) step of the reorg: diagnostics lib and share lib

[BFB]


Summary:

  • All the eamxx targets are now declared in the same order in which they are used (meaning each target only depends on previously defined targets), making the eamxx/src folder structure more linear.
  • The diag lib is not part of the share lib, so that it gets parsed before the IO folder (which needs it only in unit tests, tbh).
  • The diag lib is renamed (prefixed with eamxx_), to avoid name clashing with other cmake targets.
  • Data/time interp are now part of eamxx_io. For time interp, this may be debatable, as it supports the case where the fields are not read from file.
  • The share lib is not officially just an interface target, that wraps together all targets defined in the share folder.

Looking forward to possible reorgs of files:

  • data/time interp (along with scorpio_input) may be moved to data_managers, and eamxx_io may be fully dedicated to writers functionalities.
  • diagnostics may be built as part of the eamxx_io lib, as they are ONLY used there. I am somewhat not fond of this, as I can foresee atm procs using diags to compute common utility fields (e.g., z_mid), and only do so if the inputs timestamp has changed.
  • the eamxx_physics_share lib may be renamed something like eamxx_common_physics
  • the PhysicsFunction struct and the common_physics_functions header may be unified in a single common physics header

NOTE: if the move of data/time-interp and scorpio input to eamxx_data_managers seems reasonable, I would prob do it here, so that we don't change the data/time interp location just to change it soon afterwards...

@bartgol bartgol requested a review from tcclevenger October 9, 2025 21:38
@bartgol bartgol self-assigned this Oct 9, 2025
@bartgol bartgol added BFB PR leaves answers BFB EAMxx C++ based E3SM atmosphere model (aka SCREAM) code cleanup labels Oct 9, 2025
@github-actions
Copy link

github-actions bot commented Oct 9, 2025

PR Preview Action v1.6.2

🚀 View preview at
https://E3SM-Project.github.io/E3SM/pr-preview/pr-7780/

Built to branch gh-pages at 2025-10-16 16:19 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@bartgol bartgol force-pushed the bartgol/eamxx/libs-reorg-part-9 branch from f2a65b3 to d781830 Compare October 9, 2025 23:51
Copy link
Contributor

@tcclevenger tcclevenger left a comment

Choose a reason for hiding this comment

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

I'm ok if you want to move to data_managers here. I'm out of work tomorrow, so I'll go ahead and approve if you want to merge instead.

@bartgol bartgol force-pushed the bartgol/eamxx/libs-reorg-part-9 branch 4 times, most recently from f59cf2c to b7831cc Compare October 16, 2025 15:58
@bartgol bartgol force-pushed the bartgol/eamxx/libs-reorg-part-9 branch from b7831cc to e7065ca Compare October 16, 2025 16:16
@bartgol bartgol requested a review from tcclevenger October 17, 2025 21:08
bartgol added a commit that referenced this pull request Oct 17, 2025
Ninth step of the reorg: diagnostics lib and algorithm lib

[BFB]
@bartgol bartgol merged commit 69ce0d0 into master Oct 17, 2025
22 checks passed
@bartgol bartgol deleted the bartgol/eamxx/libs-reorg-part-9 branch October 17, 2025 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BFB PR leaves answers BFB code cleanup EAMxx C++ based E3SM atmosphere model (aka SCREAM)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants