Repository navigation
Radar rtepack - #1203
Merged
Merged
Radar rtepack#1203
Conversation
Contributor
There was a problem hiding this comment.
🟡 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

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