Skip to content

Restructuring Run routine - #101

Open
pchakraborty wants to merge 4 commits into
developfrom
refactor/pchakrab/restructure
Open

Restructuring Run routine#101
pchakraborty wants to merge 4 commits into
developfrom
refactor/pchakrab/restructure

Conversation

@pchakraborty

Copy link
Copy Markdown

Warning

This PR is contingent on #99 and #100 being merged

Extracted compute_lw_aer_optics, compute_lw_cloud_optics_mcica, compute_lw_gas_optics, compute_lw_rte, and PROCESS_RRTMGP_LW_BLOCK out of Run/LW_Driver's nested scope into standalone module-level subroutines.

Also extracted the RADIATIVELY_ACTIVE_AEROSOLS block out of LW_Driver into a standalone module-level compute_provider_aerosol_optics routine, mirroring MAPL3 port's structure and call site. LW_Driver now just fetches the AERO state and calls the new routine; the locals AS_FIELD_NAME, AS_PTR_3D, AEROSOL_EXT, AEROSOL_SSA, AEROSOL_ASY etc. move with it and are dropped from LW_Driver's own declarations.

…style

Purely mechanical formatting pass over the original (MAPL2) source, no
functional changes.

- Reindent all code to a consistent 3-space block indent. Use a flat
  5-space continuation-line indent throughout.
- Strip purely decorative dash-only/equals-only comment dividers
- Collapse `RC=STATUS` / `VERIFY_(STATUS)` pairs - two-line, same-line
  (`; VERIFY_(STATUS)`), and extra-whitespace (`RC=STATUS  )`) forms -
  into the single-line `_RC` macro. Pairs that can't be safely
  collapsed (if-condition usage, NotFoundOK calls, dynamic RATS
  pointers explicitly marked "Don't verify.", multi-branch calls
  sharing one trailing VERIFY_ after an if/elseif chain) are left as
  RC=STATUS/VERIFY_(STATUS).
- Rename `__RC__` -> `_RC` and `__STAT__` -> `_STAT` throughout.

4574 -> 4425 lines.
Purely mechanical follow-up to the earlier formatting pass, no functional
changes. Replaces SetServices's hand-written MAPL_AddImportSpec/
AddExportSpec/AddInternalSpec calls with a single Irrad_StateSpecs.rc file
and three generated #include's (Irrad_Import___.h / Irrad_Export___.h /
Irrad_Internal___.h), driven by mapl_acg() in CMakeLists.txt. This matches
how the MAPL3 port already declares its state specs, so the two versions
stay easier to diff and maintain side by side. SetServices drops from ~980
to ~310 lines.

- AERO (needs a state-item datatype the .rc schema can't express), the 3-D
  CO2 import (config-driven, needs a local variable in scope), and the
  RATS-diagnostics block (fully dynamic - names and count depend on a
  runtime config list) don't fit the static .rc model and are left
  hand-written, same as the MAPL3 port does for the same reasons.

- Extracted the OLRB{bb}RG/TBRB{bb}RG band exports/internals out of a
  runtime do-loop (checking a band_output_supported(ibnd) array) into 8
  static, conditional .rc rows (COND = USE_RRTMG .or. USE_RRTMGP) instead
  of a straight syntax swap. Verified these are the exact same 8 bands the
  array marked true, so this is behavior-preserving. Removed the loop
  variables (ibnd, bb) and the _ASSERT(NB_RRTMG == nbndlw, ...) checks that
  only existed to support that loop, since they're now dead code.

- CMakeLists.txt's mapl_acg() call also generates Irrad_GetPointer___.h and
  Irrad_DeclarePointer___.h, though SetServices doesn't #include them yet -
  harmless to generate now, ready for a later round that converts Run's/
  LW_Driver's manual MAPL_GetPointer calls.
Pull compute_lw_aer_optics, compute_lw_cloud_optics_mcica,
compute_lw_gas_optics, compute_lw_rte, and PROCESS_RRTMGP_LW_BLOCK
out of Run/LW_Driver's nested scope into standalone module-level
subroutines.

Clean up remaining protex double-bang (! !) comment headers to
single-bang throughout.
Pull the RADIATIVELY_ACTIVE_AEROSOLS block out of LW_Driver into a
standalone module-level compute_provider_aerosol_optics routine,
mirroring the MAPL3 port's structure and call site. LW_Driver now
just fetches the AERO state and calls the new routine; the
AS_FIELD_NAME/AS_PTR_3D/AEROSOL_EXT/AEROSOL_SSA/AEROSOL_ASY/band/
SSA_MAX/ASY_MAX locals move with it and are dropped from
LW_Driver's own declarations.
@pchakraborty pchakraborty added the 0 diff The changes in this pull request have verified to be zero-diff with the target branch. label Aug 19, 2026
@pchakraborty
pchakraborty requested review from a team as code owners August 19, 2026 00:48
@pchakraborty pchakraborty added Contingent - DNA Do Not Approve (DNA). These changes are contingent on other PRs pre-migration-fix Fix a specific finding from a pre-migration audit mapl3-readiness Umbrella label: any issue in the MAPL3 readiness campaign refactor Type 3 fix category: structural code refactor labels Aug 19, 2026
@github-actions

Copy link
Copy Markdown

Label error. Requires exactly 0 of: Contingent - DNA, Needs Lead Approval, Contingent -- Do Not Approve. Found: 0 diff, Contingent - DNA, pre-migration-fix, mapl3-readiness, refactor

5 similar comments
@github-actions

Copy link
Copy Markdown

Label error. Requires exactly 0 of: Contingent - DNA, Needs Lead Approval, Contingent -- Do Not Approve. Found: 0 diff, Contingent - DNA, pre-migration-fix, mapl3-readiness, refactor

@github-actions

Copy link
Copy Markdown

Label error. Requires exactly 0 of: Contingent - DNA, Needs Lead Approval, Contingent -- Do Not Approve. Found: 0 diff, Contingent - DNA, pre-migration-fix, mapl3-readiness, refactor

@github-actions

Copy link
Copy Markdown

Label error. Requires exactly 0 of: Contingent - DNA, Needs Lead Approval, Contingent -- Do Not Approve. Found: 0 diff, Contingent - DNA, pre-migration-fix, mapl3-readiness, refactor

@github-actions

Copy link
Copy Markdown

Label error. Requires exactly 0 of: Contingent - DNA, Needs Lead Approval, Contingent -- Do Not Approve. Found: 0 diff, Contingent - DNA, pre-migration-fix, mapl3-readiness, refactor

@github-actions

Copy link
Copy Markdown

Label error. Requires exactly 0 of: Contingent - DNA, Needs Lead Approval, Contingent -- Do Not Approve. Found: 0 diff, Contingent - DNA, pre-migration-fix, mapl3-readiness, refactor

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. Contingent - DNA Do Not Approve (DNA). These changes are contingent on other PRs mapl3-readiness Umbrella label: any issue in the MAPL3 readiness campaign pre-migration-fix Fix a specific finding from a pre-migration audit refactor Type 3 fix category: structural code refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant