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

add_MARBL: introduce _USE_MARBL_TRACERS CPP macro #21

Closed
mnlevy1981 opened this issue Apr 28, 2020 · 4 comments
Closed

add_MARBL: introduce _USE_MARBL_TRACERS CPP macro #21

mnlevy1981 opened this issue Apr 28, 2020 · 4 comments

Comments

@mnlevy1981
Copy link
Owner

mnlevy1981 commented Apr 28, 2020

#22 did the following:

  1. Remove MARBL from git submodules
  2. Introduce MARBL into Externals_MOM.cfg

This issue will continue the work:

  1. Wrap the bulk of MARBL_tracers.F90 and all calls into the module from MOM_tracer_control_flow.F90 in #ifdef USE_MARBL_TRACERS
  2. Make sure MOM builds without _USE_MARBL_TRACERS
  3. Update CESM build to include always include CPP
@mnlevy1981
Copy link
Owner Author

An interesting thought from Matt L: if the CPP is available, we should use it in the CESM build. Meaning compsets that are not set up to run with MARBL should not build MARBL.

  1. This effectively makes MARBL a build-time specification despite tracer count being run-time (but how often do CESM users decide to turn on a tracer package by hand rather than via compset?)
  2. What will be the mechanism for turning MARBL on by default via compset? It seems like MOM%MARBL in the compset long name should set an env_build.xml variable - does MOM still use OCN_TRACER_MODULES or do we need something new like MOM_ENABLE_MARBL?

@mnlevy1981 mnlevy1981 changed the title add_MARBL: introduce USE_MARBL_TRACERS CPP macro add_MARBL: introduce _USE_MARBL_TRACERS CPP macro May 1, 2020
@mnlevy1981
Copy link
Owner Author

Given how this work is breaking down, I think #21 (comment) should be addressed in a separate issue once this work is complete

@mnlevy1981
Copy link
Owner Author

Having trouble triggering the abort when running with USE_MARBL_TRACERS = True and not building with -D_USE_MARBL_TRACERS, need to track call to call_tracer_flux_init() [that's where the generic tracer abort is found]

@mnlevy1981
Copy link
Owner Author

It turns out that call_tracer_register() is a better place for the error check (may eventually end up in both routines?). With some CIME mods to add the -D_USE_MARBL_TRACERS cpp, this issue is resolved

mnlevy1981 pushed a commit that referenced this issue Apr 19, 2021
* allows control of MOM6 restarts and MOM6 intermediate restarts using nems.configure settings restart_n and restart_option. Fixes duplicate restart issue when running with CMEPS (#16).
* when field dumping is turned on, all fields in import state and export state are written to single file with timestamped file name (#15)
* moves call to data_override field lrunoff out of the enclosing do loop (#21 )


Co-authored-by: Mariana Vertenstein <mvertens@ucar.edu>
mnlevy1981 pushed a commit that referenced this issue Apr 20, 2021
merge in latest dev/gfdl updates
mnlevy1981 pushed a commit that referenced this issue Mar 2, 2022
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