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_targets defines the retrieved state, including its grids and transformations. All targets must currently be atmospheric targets. The returned model_state_vec, updated atm_field, measurement_vec_fit, and measurement_jac are mutually consistent and can be used directly as the initial state and forward/Jacobian inputs of OEM.

Observations at or below measurement_noise_floor are ignored. state_min, state_max, and max_step apply 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 to self.measurement_vec_fit. [OUT]

  • measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the measurement_vec. Defaults to self.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]