NOAA-GFDL / FMS

GFDL's Flexible Modeling System
Other
87 stars 128 forks source link

Modern diag manager :: Simplify the diag table yaml format #1542

Open uramirez8707 opened 1 month ago

uramirez8707 commented 1 month ago

Is your feature request related to a problem? Please describe. The current version of the diag table yaml requires repeating a lot of keys, which makes the diag table yaml format longer and harder to manage. For example,

title: c384L65_am5f7b12r0_amip
base_date: 1979 1 1 0 0 0
diag_files:
- file_name: grid_spec
  time_units: days
  unlimdim: time
  freq: -1 months
  varlist:
  - module: dynamics
    var_name: grid_lon
    reduction: none
    kind: r4
  - module: dynamics
    var_name: grid_lat
    reduction: none
    kind: r4
  - module: dynamics
    var_name: grid_lont
    reduction: none
    kind: r4
  - module: dynamics
    var_name: grid_latt
    reduction: none
    kind: r4

reduction, module and kind are repeated for every variable

Describe the solution you'd like Add the ability to set the reduction, module and kind at the file level, with the option to override it at the field level. For example:

title: c384L65_am5f7b12r0_amip
base_date: 1979 1 1 0 0 0
diag_files:
- file_name: grid_spec
  time_units: days
  unlimdim: time
  freq: -1 months
  module: dynamics
  reduction: none
  kind: r4
  varlist:
  - var_name: grid_lon
  - var_name: grid_lat
  - var_name: grid_lont
  - var_name: grid_latt

Describe alternatives you've considered N/A

Additional context N/A