Allow more MARBL-generated scripts to be copied from SourceMods
- Dominant language
- Fortran
- Stars
- 8
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
Description
### Description of the issue:
The process for calling `define_tavg()` for the MARBL-generated diagnostics script is complicated, and involves generating several different files in `Buildconf/popconf/` for different purposes. `ecosys_diagnostics` contains a list of variables to include in POP's `tavg_contents` file, and a modified copy can be placed in `SourceMods/`. `marbl_diagnostics_operators` is read by the Fortran code and used to call `define_tavg()`, but it can not be copied from `SourceMods/`.
The crux of the issue is that one-off experiments where a new diagnostic is added to MARBL can lead to an inconsistency between those two files and, if the new variable is in `ecosys_diagnostics` is not in `marbl_diagnostics_operators` then POP will abort during init with a message about an undefined diagnostic being requested in `tavg_contents`. (There's also an intermediate file `marbl_diagnostics_list` that is used in conjunction with `ecosys_diagnostics` to generate `marbl_diagnostics_operators`, but I need to track down how that file is generated and if it can be placed in `SourceMods` or not).
I've opened a [similar issue in the MARBL repo](https://github.com/marbl-ecosys/MARBL/issues/405) to update the documentation for this process, but some POP script changes will be necessary to allow users to have more control over the diagnostic lists.
### Version:
- CESM: this issue has existed since MARBL was added to POP
- POP2: latest, and probably the CESM 2.1 release branch as well?
### Machine/Environment Description:
### Any xml/namelist changes or SourceMods:
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.