ESCOMP / ESCOMP/POP2-CESM

Allow more MARBL-generated scripts to be copied from SourceMods

Open
#71 0 comments 0 reactions 1 assignee Claimed by @mnlevy1981 View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.