Only build MARBL if requested in compset longname / alias
- 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.