model_state_vecFromRadarOnionPeeling
- Workspace.model_state_vecFromRadarOnionPeeling(self, model_state_vec: Vector = self.model_state_vec, measurement_vec_fit: Vector = self.measurement_vec_fit, measurement_jac: Matrix = self.measurement_jac, atm_field: AtmField = self.atm_field, measurement_vec: Vector = self.measurement_vec, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, radar_range_limits: Matrix = self.radar_range_limits, jac_targets: JacobianTargets = self.jac_targets, surf_field: SurfaceField = self.surf_field, scat_species: ArrayOfScatteringSpecies = self.scat_species, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, transmitted_stokes: Stokvec = [1, 1, 0, 0], range_mode: String = Legacy, unit: String = 1, ze_tref: Numeric = 273.15, k2: Numeric = -1, dbze_min: Numeric = -99, pext_scaling: Numeric = 1, measurement_noise_floor: Numeric = -1e+99, state_min: Numeric = 0, state_max: Numeric = 1e+99, max_step: Numeric = 1e+99, tolerance: Numeric = 1e-06, max_iterations: Index = 12, max_sweeps: Index = 8) None
Retrieve an atmospheric radar profile by analytical onion peeling.
Range gates are processed from the sensor outwards. At each gate, the strongest not-yet-peeled atmospheric state coordinate is updated by a bounded Newton iteration. The forward value and derivative are provided by
measurement_vecFromRadarSingleScattering(), so gaseous and particulate attenuation, ARO polarization, non-commuting outgoing/return propagation matrices, sensor polarization, and range-bin integration are identical to the standard radar forward model.Unlike the ARTS2 implementation, this method does not create or consume a large dBZe/temperature inversion table. Scattering properties are evaluated directly through
scat_species.jac_targetsdefines the retrieved state, including its grids and transformations. All targets must currently be atmospheric targets. The returnedmodel_state_vec, updatedatm_field,measurement_vec_fit, andmeasurement_jacare mutually consistent and can be used directly as the initial state and forward/Jacobian inputs of OEM.Observations at or below
measurement_noise_floorare ignored.state_min,state_max, andmax_stepapply in model-state coordinates, after any target transformation. Gates with no sensitivity to an unpeeled state coordinate are left unused. A non-convergent gate is reported as an error. This formulation is not restricted to the old two-species liquid/ice layout; phase selection may instead be expressed by the scattering-species properties and atmospheric state chosen by the caller.Authors: Patrick Eriksson, OpenAI Codex
- Parameters:
model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [OUT]measurement_vec_fit (~pyarts3.arts.Vector, optional) – As
measurement_vec, but fitted to the model. Defaults toself.measurement_vec_fit. [OUT]measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [OUT]measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to
self.measurement_vec. [IN]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]radar_range_limits (~pyarts3.arts.Matrix, optional) – Range-gate limits for active-radar measurements. Defaults to
self.radar_range_limits. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]scat_species (~pyarts3.arts.ArrayOfScatteringSpecies, optional) – The scattering species. Defaults to
self.scat_species. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]transmitted_stokes (~pyarts3.arts.Stokvec, optional) – Transmitted Stokes vector; its I component must equal one. Defaults to
1 1 0 0[IN]range_mode (~pyarts3.arts.String, optional) – Range coordinate: Altitude, Distance, RoundTripTime, or Legacy. Defaults to
"Legacy"[IN]unit (~pyarts3.arts.String, optional) – Forward and observation unit: 1, Ze, or dBZe. Defaults to
"1"[IN]ze_tref (~pyarts3.arts.Numeric, optional) – Liquid-water reference temperature [K] for automatic k2. Defaults to
273.15[IN]k2 (~pyarts3.arts.Numeric, optional) – Reference dielectric factor squared; negative selects Liebe-93. Defaults to
-1[IN]dbze_min (~pyarts3.arts.Numeric, optional) – Lower clipping value for dBZe. Defaults to
-99[IN]pext_scaling (~pyarts3.arts.Numeric, optional) – Multiplicative factor for particulate extinction (0 to 2). Defaults to
1[IN]measurement_noise_floor (~pyarts3.arts.Numeric, optional) – Measurements at or below this value are ignored. Defaults to
-1e+99[IN]state_min (~pyarts3.arts.Numeric, optional) – Lower bound in model-state coordinates. Defaults to
0[IN]state_max (~pyarts3.arts.Numeric, optional) – Upper bound in model-state coordinates. Defaults to
1e+99[IN]max_step (~pyarts3.arts.Numeric, optional) – Maximum absolute Newton step in model-state coordinates. Defaults to
1e+99[IN]tolerance (~pyarts3.arts.Numeric, optional) – Relative gate-fit convergence tolerance. Defaults to
1e-06[IN]max_iterations (~pyarts3.arts.Index, optional) – Maximum Newton iterations per gate. Defaults to
12[IN]max_sweeps (~pyarts3.arts.Index, optional) – Maximum repeated outward sweeps for interpolating state grids. Defaults to
8[IN]