You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As part of the GEOS migration to MAPL v3, GEOSgcm must be updated to mount both MAPL v3 and MAPL v2 simultaneously via mepo — a "dual mount" configuration. MAPL3 provides the new generic (coupling) layer. MAPL2 is retained as a support library providing utilities (base, shared, constants, pfio, cfio, griddedio, etc.) that have not yet been ported to MAPL3.
This issue covers the GEOSgcm fixture changes needed to support the hybrid build.
Use feature branch feature/mapl3-migration.
Background: the dual-mount strategy
The current components.yaml mounts a single copy of MAPL:
Exact tag/branch values will be determined during integration; the structure above shows the intent.
2. Update top-level CMakeLists.txt
Add both MAPL sub-directories and pass the hybrid flag to MAPL2:
add_subdirectory(src/Shared/@MAPL) # MAPL3 — normal buildset(MAPL_SUPPORT_MAPL3 ONCACHEBOOL""FORCE)
add_subdirectory(src/Shared/@MAPL2) # MAPL2 — support library mode
3. Update CMake dependency wiring
GEOS components that have been ported to MAPL3 link against MAPL3 targets (e.g. MAPL::MAPL, MAPL.base).
GEOS components that still use MAPL2 support utilities link against MAPL2 targets (e.g. MAPL2::MAPL2, MAPL2.base).
This wiring is driven by changes in GEOSgcm_GridComp and FVdycoreCubed_GridComp (see related issues).
4. CI fixture
The MAPL v3 CI that triggers a GEOSgcm build must use this updated components.yaml. Coordinate with the CI maintainer to ensure the correct branches are pinned in the CI fixture.
5. Verify
GEOSgcm builds cleanly with the dual-mount configuration
Already-ported components build against MAPL3
Unported components build against MAPL2 support library
Iterative rollout
This is step 2 of the iterative plan. It should only be attempted after:
Context
As part of the GEOS migration to MAPL v3, GEOSgcm must be updated to mount both MAPL v3 and MAPL v2 simultaneously via mepo — a "dual mount" configuration. MAPL3 provides the new generic (coupling) layer. MAPL2 is retained as a support library providing utilities (base, shared, constants, pfio, cfio, griddedio, etc.) that have not yet been ported to MAPL3.
This issue covers the GEOSgcm fixture changes needed to support the hybrid build.
Use feature branch
feature/mapl3-migration.Background: the dual-mount strategy
The current
components.yamlmounts a single copy of MAPL:In the hybrid configuration, GEOSgcm will mount two copies:
./src/Shared/@MAPL— therelease/MAPL-v3branch./src/Shared/@MAPL2— thefeature/mapl2-support-librarybranch, built withMAPL_SUPPORT_MAPL3=ONTasks
1. Update components.yaml
Add a second MAPL entry for the MAPL2 support library mount:
Exact tag/branch values will be determined during integration; the structure above shows the intent.
2. Update top-level CMakeLists.txt
Add both MAPL sub-directories and pass the hybrid flag to MAPL2:
3. Update CMake dependency wiring
GEOS components that have been ported to MAPL3 link against MAPL3 targets (e.g.
MAPL::MAPL,MAPL.base).GEOS components that still use MAPL2 support utilities link against MAPL2 targets (e.g.
MAPL2::MAPL2,MAPL2.base).This wiring is driven by changes in GEOSgcm_GridComp and FVdycoreCubed_GridComp (see related issues).
4. CI fixture
The MAPL v3 CI that triggers a GEOSgcm build must use this updated
components.yaml. Coordinate with the CI maintainer to ensure the correct branches are pinned in the CI fixture.5. Verify
Iterative rollout
This is step 2 of the iterative plan. It should only be attempted after:
feature/mapl2-support-librarybranch builds cleanly withMAPL_SUPPORT_MAPL3=ON(GEOS-ESM/MAPL #4610, #4611, #4612)Related issues