Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only build MARBL if requested in compset longname / alias #177

Open
mnlevy1981 opened this issue Aug 9, 2024 · 0 comments
Open

Only build MARBL if requested in compset longname / alias #177

mnlevy1981 opened this issue Aug 9, 2024 · 0 comments

Comments

@mnlevy1981
Copy link
Collaborator

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:

  <entry id="MOM6_BUILD_MARBL">
    <type>char</type>
    <valid_values>TRUE,FALSE</valid_values>
-    <default_value>TRUE</default_value>
+    <default_value>FALSE</default_value>
+    <values>
+      <value compset="_MOM6%[^_]*MARBL">TRUE</value>
+    </values>
    <group>build_component_mom</group>
    <file>env_build.xml</file>
    <desc> 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.
    </desc>
  </entry>

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant