Restructuring Run routine - #101
Conversation
…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.
|
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
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
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, andPROCESS_RRTMGP_LW_BLOCKout ofRun/LW_Driver's nested scope into standalone module-level subroutines.Also extracted the
RADIATIVELY_ACTIVE_AEROSOLSblock out ofLW_Driverinto a standalone module-level compute_provider_aerosol_optics routine, mirroring MAPL3 port's structure and call site.LW_Drivernow just fetches theAEROstate and calls the new routine; the localsAS_FIELD_NAME,AS_PTR_3D,AEROSOL_EXT,AEROSOL_SSA,AEROSOL_ASYetc. move with it and are dropped fromLW_Driver's own declarations.