Skip to content

add diag_manager output option#192

Open
rem1776 wants to merge 28 commits into
NOAA-GFDL:developfrom
rem1776:dm-pt3
Open

add diag_manager output option#192
rem1776 wants to merge 28 commits into
NOAA-GFDL:developfrom
rem1776:dm-pt3

Conversation

@rem1776

@rem1776 rem1776 commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Description
this needs NOAA-GFDL/NDSL#485 in first so is a draft for now.

This PR adds "diag_manager" as an output option for the diagnostics config, as well as adding pyFMS as an optional dependency.

When the output format is used it will initialize pyFMS and set up it's domain decomposition, and then output diagnostics via the fortran library. This allows for buffering the data prior to writing and performing reductions such as average, min/max, etc over a set number of timesteps.

I added an example diag_table.yaml which is used to change what is output, such as adding new variables, files, or reductions. Its currently set up for the accompanying baroclinic_c12_diag_manager.yaml config to output the model state as well as some 'reduced' fields such as the average temperature over the course of the run.

I want to note that the 'diag_manager' option will require both diag_table.yaml and input.nml to be in the current working directory when pace is run. The input.nml will be created when the option in used, but the diag_table.yaml will need to be provided in the working directory when pace is run.

How Has This Been Tested?
tested with the added baroclinic_c12_diag_manager.yaml configuration, along with the added diag_table.yaml.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules
  • New check tests, if applicable, are included

rem1776 and others added 28 commits May 15, 2026 15:29
@rem1776
rem1776 marked this pull request as ready for review July 21, 2026 19:05

@FlorianDeconinck FlorianDeconinck left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is looking good - including the changes from mpich to openmpi.

My only worries is order of merge of open PR with the NDSL/pySHiELD. @oelbert to check and sync

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.

2 participants