Skip to content

Porting to MAPL3#361

Merged
pchakraborty merged 9 commits into
release/MAPL-v3from
feature/pchakrab/port-held-suarez-to-mapl3
May 4, 2026
Merged

Porting to MAPL3#361
pchakraborty merged 9 commits into
release/MAPL-v3from
feature/pchakrab/port-held-suarez-to-mapl3

Conversation

@pchakraborty
Copy link
Copy Markdown
Collaborator

This is part of porting the Held-Suarez application to MAPL3. Changes include

FVdycoreCubed_GridComp

TRADV coupling: import FieldBundle → SERVICE export

Changes TRADV from a MAPL_STATEITEM_FIELDBUNDLE import to a MAPL_STATEITEM_SERVICE export. The service mechanism places the bundle in both states; the dycore reads from its export state in the run path, avoiding mutation of import-owned data. MAPL_FieldBundleSameData asserts pointer identity between the two bundle handles as a consistency check, replacing the previous MAPL_FieldBundleCopy call.

New: get_short_name() helper

Maps CF standard names (e.g., "specific_humidity") to MAPL short names (Q, QLLS, etc.) using MAPL_FieldGet(field, standard_name=...). Replaces direct ESMF_FieldGet(name=...) calls which returned internal MAPL-generated names rather than user-visible short names.

Replay shutoff alarm: moved to Initialize

ESMF_AlarmCreate (with ReplayShutOff ring-time) now runs in Initialize. Run and RunAddIncs query the alarm via ESMF_ClockGetAlarm / ESMF_AlarmIsRinging instead of the previous unconditional is_shutoff = .true..

Cleanup

  • freeTracersfree_tracers; addTracer_r4/r8 procedures and addTracer interface removed (dead code)

…upling

- Replace TRADV item type with MAPL service state items and register it as an export-side service payload
- Read TRADV from export state
- Add and fill PLE4 export (32 bit edge pressure)
- Temporarily force replay shutoff path and comment out related alarm/timer while alarm wiring is being stabilized
- Temporarily turn off verbose debug max/min logging
Also renamed the config file fv3sa.yaml as dyn-sa.yaml
…lay alarm

- Add get_short_name() function to map CF standard names back to MAPL short names (Q, QLLS, QLCN, etc.); replaces direct ESMF_FieldGet(name=...) calls that returned internal MAPL-generated names
- Use MAPL_FieldBundleSameData to assert that the import and export TRADV bundles share the same data pointers
- Restore ReplayShutOff alarm creation in Initialize and re-enable ESMF_ClockGetAlarm / timer calls in Run and RunAddIncs
- For the standalone case, initialize tracer in a separate DataMoist gridcomp, using data-moist.yaml. Remove unused addTracer routines
- Remove unused names0 array, and tradvex bundle
- Rename freeTracers → free_tracers and normalize argument names in PULL_Q (InFieldName → in_field_name, etc.)
- Lowercase all TRIM() intrinsic calls to trim()
@pchakraborty pchakraborty requested review from a team as code owners May 3, 2026 15:02
@pchakraborty pchakraborty added 0 diff The changes in this pull request have verified to be zero-diff with the target branch. MAPL3 MAPL 3 Related labels May 4, 2026
@pchakraborty pchakraborty merged commit c4f607b into release/MAPL-v3 May 4, 2026
8 checks passed
@pchakraborty pchakraborty deleted the feature/pchakrab/port-held-suarez-to-mapl3 branch May 4, 2026 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

0 diff The changes in this pull request have verified to be zero-diff with the target branch. MAPL3 MAPL 3 Related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants