Skip to content

add diag_manager output option#192

Draft
rem1776 wants to merge 13 commits into
NOAA-GFDL:developfrom
rem1776:dm-pt3
Draft

add diag_manager output option#192
rem1776 wants to merge 13 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. I added these both to examples/config. It might be a good idea for pace to create the input.nml when the option is used since it will always be the same.

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

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