EAMxx: Stub out water_isotope and water_tracer process registrations#8505
EAMxx: Stub out water_isotope and water_tracer process registrations#8505rfiorella wants to merge 4 commits into
Conversation
Add infrastructure for water-tracer and isotope tracking: - Register WaterTracers and WaterIsotopes process types - Add CMake build rules and process factory integration - Create stub process interfaces with identity tendencies - Add namelist defaults for tracer_count configuration Part of water isotope infrastructure campaign (spec 001).
|
|
very minor piece of feedback: we might expect people wanting random tracers of all sorts of types, and so I would generalize the dir housing them all: instead of components/eamxx/src/physics/water_tracers, I would call them "aux_tracers" or something like additional_tracers to indicate these are not "core" model/physics tracers additionally, I would consider add a subfolder for each class or even each tracer so: or if you foresee these tracers sharing core features, they can inherit from each other or they can share some utils etc |
|
Thanks @mahf708, that seems reasonable. I'll start with just the one subfolder for now - the "passive/semi-passive" (water tracers where all the accounting is just around phase changes) and "semi-reactive to reactive" (e.g., chemistry) breakdown makes a lot of sense to me though. Also would allow longer term common infra to exist in the top-level I'm out of office next week. I'll try to clean this up based on suggestions if I get a few moments, but more than likely I'll get it done soon after I'm back so that this one doesn't have to stick in the queue for an extended period. |
Move water tracer and isotope processes from physics/water_tracers/
to physics/aux_tracers/{water_tracers,water_isotopes}/ with separate
libraries per process. Water isotopes depend on and extend water tracers.
- Add aux_tracers/CMakeLists.txt with EAMXX_ENABLE_WATER_TRACERS and
EAMXX_ENABLE_WATER_ISOTOPES options (both default OFF)
- Enforce dependency: isotopes require tracers
- Create separate water_tracers and water_isotopes libraries
- Update register_physics.hpp include paths
- Use full include path in water_isotopes header for robustness
|
@mahf708 updated this PR based on your suggestions. As for CI, could one of the Sandians add me to this runner? Or would you suggest a different testing structure for ES projects? @bartgol @tcclevenger |
Add build-time infra for water tracer/isotopes:
src/physics/aux_tracers/{water_tracers,water_isotopes}(per @mahf708 suggestion)Ref #8504