ESCOMP / ESCOMP/MOM_interface

Only build MARBL if requested in compset longname / alias

Open
#177 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
6
Forks
23
Avg merge
5d 10h
Merged PRs (30d)
5

Description

Currently MARBL is built by default, regardless of whether the user requested it. We should switch to only building it when the compset specifies running MOM6 with the MARBL tracers:

```diff

char
TRUE,FALSE
- TRUE
+ FALSE
+
+ TRUE
+
build_component_mom
env_build.xml
This variable controls whether MOM6 builds with the full MARBL library (default) or just
with stubs. If set to FALSE then setting USE_MARBL_TRACERS = True in the Parameters file
- will result in a runtime error. It is recommended to leave this variable set to TRUE, it
- exists to allow testing of the MARBL stub in the CESM test suite.
+ will result in a runtime error.


```

We don't want users to start with a `G` compset and try to add MARBL after the fact. The default PE layouts for compsets without MARBL are much smaller than the comparable layouts with MARBL enabled, so adding MARBL after `create_newcase` will run much slower unless the user changes `NTASKS_OCN` before building. Also there are a handful of `env_run.xml` changes that come through `config_component.xml` that would need to be set manually:

* `OCN_CO2_TYPE`
* `MARBL_TRACER_OPTS`
* `MARBL_CONFIG`
* `MARBL_DIAG_MODE`

A side benefit is that this would allow us to remove `cime_config/testdefs/testmods_dirs/mom/no_marbl/` and the lone test using that directory in the test suite because every non-MARBL compset would test the MARBL stub rather than the full library.

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.