Skip to content

Radar rtepack - #1203

Merged
riclarsson merged 3 commits into
atmtools:mainfrom
riclarsson:radar-rtepack
Oct 30, 2026
Merged

riclarsson merged 3 commits into
atmtools:mainfrom
riclarsson:radar-rtepack

Conversation

@riclarsson

Copy link
Copy Markdown
Contributor

Move radar commons into src/core/radar and make rtepack cleaner as step owner

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Radar timing is incorrect for Q/U/V-only selectors and unequal path coverage, while Monte Carlo sampling incurs excessive work by rescanning the entire path for every gate.

3 open issues
What changed in this PR

This PR consolidates shared radar calculations in src/core/radar and gives rtepack responsibility for layer transmission and single-scattering integration.

Changes:

  • Unifies deterministic and Monte Carlo radar optics, gate quadrature, and unit conversion.
  • Adds round-trip gate times, typed radar options, and a shared water-permittivity function.
  • Extends regression coverage for radar agreement, timing, Magnus transmission, and derivatives.
File Description
tests/​core/​scat/​radar_single_scattering.py Checks timing and Magnus agreement; uses shared permittivity.
tests/​core/​scat/​mc_radar.py Checks deterministic agreement, timing, and beam normalization.
src/​workspace_variables.cpp Registers radar_time.
src/​workspace_methods.cpp Updates radar interfaces and documentation.
src/​workspace_groups.cpp Registers radar workspace types.
src/​tests/​test_ai_port_regressions.cc Updates radar calls and checks gate timing.
src/​python_interface/​py_radar.cpp Binds radar auxiliary arrays.
src/​python_interface/​py_physics.cpp Exposes vectorized water permittivity.
src/​python_interface/​py_module.cpp Initializes radar bindings.
src/​python_interface/​CMakeLists.txt Builds radar bindings.
src/​m_radar.cc Uses shared radar helpers and returns gate times.
src/​m_montecarlo_radar.cc Shares radar integration and adds weighted outputs.
src/​core/​rtepack/​test/​test_rtepack_radar.cpp Tests derivatives, continuity, and Magnus behavior.
src/​core/​rtepack/​test/​CMakeLists.txt Registers radar solver tests.
src/​core/​rtepack/​rtepack.h Exposes the radar solver header.
src/​core/​rtepack/​rtepack_scattering.h Removes legacy radar declarations.
src/​core/​rtepack/​rtepack_scattering.cc Removes legacy backscatter implementations.
src/​core/​rtepack/​rtepack_radar.h Defines gate samples and the solver interface.
src/​core/​rtepack/​rtepack_radar.cc Implements polarized radar integration and derivatives.
src/​core/​rtepack/​CMakeLists.txt Builds the radar solver.
src/​core/​radar/​radar.h Declares shared radar utilities.
src/​core/​radar/​radar.cc Implements ranges, optics, quadrature, and conversions.
src/​core/​radar/​CMakeLists.txt Defines the radar library.
src/​core/​physics/​physics_funcs.h Declares Liebe-93 water permittivity.
src/​core/​physics/​physics_funcs.cc Implements shared water permittivity.
src/​core/​options/​arts_options.cc Defines radar units, range modes, and auxiliaries.
src/​core/​CMakeLists.txt Integrates the radar library into the core.

Review effort: Balanced

Comment thread src/m_montecarlo_radar.cc Resolved
Comment thread src/m_radar.cc Resolved
Comment thread src/m_radar.cc Resolved
@riclarsson
riclarsson merged commit b0c8bf0 into atmtools:main Oct 30, 2026
9 checks passed
@riclarsson
riclarsson deleted the radar-rtepack branch October 30, 2026 09:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants