Skip to content

Add parallel I/O output system#713

Draft
SeanBryan51 wants to merge 11 commits intomainfrom
add-parallelio-output-module
Draft

Add parallel I/O output system#713
SeanBryan51 wants to merge 11 commits intomainfrom
add-parallelio-output-module

Conversation

@SeanBryan51
Copy link
Copy Markdown
Collaborator

@SeanBryan51 SeanBryan51 commented Apr 7, 2026

This change brings in a new output system based on the parallel I/O infrastructure introduced in #706, and is a direct replacement of the previous output module used for offline CABLE. This main motivation behind this is to add MPI support to the serial offline driver, and eventually, to replace the legacy MPI implementation (#358). This also makes progress towards the proposed output redesign (#715) by introducing the underlying data structures needed for its implementation.

The new output system brings in the following enhancements:

  • Optional parallel I/O support via PIO
  • A new "aggregator" class for calculating time aggregations throughout a simulation
  • New data structures for describing output variables which allows for easily adding new diagnostics and/or restarts variables

This change should be brought in after #712.

Type of change

Please delete options that are not relevant.

  • Enhancement
  • New or updated documentation

Checklist

  • The new content is accessible and located in the appropriate section
  • I have checked that links are valid and point to the intended content
  • I have checked my code/text and corrected any misspellings

Testing

  • Are the changes bitwise-compatible with the main branch? If working on an optional feature, are the results bitwise-compatible when this feature is off? If yes, copy benchcab output showing successful completion of the bitwise compatibility tests or equivalent results below this line.

  • Are the changes non bitwise-compatible with the main branch because of a bug fix or a feature being newly implemented or improved? If yes, add the link to the modelevaluation.org analysis versus the main branch or equivalent results below this line.

Please add a reviewer when ready for review.


📚 Documentation preview 📚: https://cable--713.org.readthedocs.build/en/713/

@SeanBryan51 SeanBryan51 changed the title Add parallelio output module Add new parallel I/O output system Apr 7, 2026
@SeanBryan51 SeanBryan51 changed the title Add new parallel I/O output system Add parallel I/O output system Apr 7, 2026
@SeanBryan51 SeanBryan51 force-pushed the add-parallelio-output-module branch from 4c009fd to b226a95 Compare April 8, 2026 15:29
@SeanBryan51 SeanBryan51 force-pushed the add-parallelio-output-module branch 6 times, most recently from 2ce7b28 to 2c76bda Compare April 8, 2026 18:32
This is done to allow access to private components of derived types in
child submodules.

See this bug report for more details:
https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-oneAPI-bug-with-submodules/td-p/1347530
@SeanBryan51 SeanBryan51 force-pushed the add-parallelio-output-module branch from 2c76bda to beefeab Compare April 10, 2026 12:11
@SeanBryan51 SeanBryan51 force-pushed the add-parallelio-output-module branch from beefeab to 0d53f58 Compare April 13, 2026 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant