ai2cm / fv3gfs-fortran

FV3GFS Fortran for internal development at AI2
Other
6 stars 9 forks source link

Add diagnostics-manager-controlled versions of `tsfc`, `u10m`, and `v10m` #373

Closed spencerkclark closed 1 year ago

spencerkclark commented 1 year ago

The existing tsfc, u10m, and v10m fields are hard-coded to be instantaneous diagnostics. It is currently not possible to output interval average versions of these fields. This PR addresses this issue by adding diagnostics-manager-controlled versions of these fields Implementing them as diagnostics-manager-controlled allows for flexibility in saving them out as instantaneous fields or interval averages with flexible averaging windows, just like diagnostics in the dynamical core.

The added fields are suffixed with _via_diagnostics_manager. This name is a little verbose, but I'm hesitant to remove the existing non-diagnostics-manager versions of these fields for backwards compatibility. Fortunately this suffix can be removed by specifying a custom output name in the diagnostics table.

I have validated that these fields work as expected in the notebook in this directory, both in terms of interval-averaging and coarsening. I do not think it is necessary to add these fields to regression tests since we have coverage of other diagnostics-manager-controlled native and coarse-resolution fields in checksums already.