Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IO prototype for History (and checkpoint) #2814

Merged
merged 20 commits into from May 14, 2024

Conversation

bena-nasa
Copy link
Collaborator

@bena-nasa bena-nasa commented May 7, 2024

Following @tclune slides about the GeomIO, propose an abstract GEOM_IO layer that works with PFIO and a concrete grid class that only supports 2D, R4 output and would need a vast amount of generalization for all the different types/ranks/grid types (cube, lat/lon, etc)

Also add a geomCatagorizer function to instantiate the right GEOM_IO concrete class (that only supports grid cause there's nothing else we have besides grids).

Also adds a IOShared layer that has a bunch of utilities procedures that can be used for both history and checkpointing. For example a procedure to take a bundle and create a file metadata object (what we can so far...)

In the future I envision the we can also create a GEOM_IO layer that can implement the old gather/scatter strategy rather than using PFIO as the disk access for checkpoints.

Names need work, just wanted to get something committed and a draft.

Note this does work, I can now output multiple timestep files in History3G albeit only 2D gridded files.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Trivial change (affects only documentation or cleanup)

Checklist

  • Tested this change with a run of GEOSgcm
  • Ran the Unit Tests (make tests)

Description

Related Issue

@bena-nasa bena-nasa added 🎁 New Feature This is a new feature 📈 MAPL3 MAPL 3 Related labels May 7, 2024
@bena-nasa bena-nasa requested review from a team as code owners May 7, 2024 19:20
@bena-nasa bena-nasa added the 0 Diff The changes in this pull request have verified to be zero-diff with the target branch. label May 7, 2024
tclune
tclune previously approved these changes May 8, 2024
Copy link
Collaborator

@tclune tclune left a comment

Choose a reason for hiding this comment

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

Looks like a good start.

My inline comments are all about long term evolution of this layer. Nothing actionable at the moment.

@bena-nasa bena-nasa added the 0 Diff Trivial The changes in this pull request are trivially zero-diff (documentation, build failure, &c.) label May 8, 2024
@tclune tclune self-requested a review May 14, 2024 16:51
@tclune tclune merged commit ac26b6d into release/MAPL-v3 May 14, 2024
36 checks passed
@bena-nasa bena-nasa deleted the feature/bmauer/mapl3g_bundle_writer branch May 14, 2024 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 Diff Trivial The changes in this pull request are trivially zero-diff (documentation, build failure, &c.) 0 Diff The changes in this pull request have verified to be zero-diff with the target branch. 📈 MAPL3 MAPL 3 Related 🎁 New Feature This is a new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants