measurement_vecFromRadarSingleScattering

Workspace.measurement_vecFromRadarSingleScattering(self, measurement_vec: Vector = self.measurement_vec, measurement_jac: Matrix = self.measurement_jac, radar_aux: Matrix = self.radar_aux, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, radar_range_limits: Matrix = self.radar_range_limits, jac_targets: JacobianTargets = self.jac_targets, atm_field: AtmField = self.atm_field, 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, aux_vars: ArrayOfString = []) → None

Deterministic polarized single-scattering active-radar forward model.

This is the ARTS3 counterpart of the ARTS2 yRadar and iyRadarSingleScat workflow. It calculates particle backscatter and two-way polarized attenuation by gases and particles along the propagation paths of measurement_sensor. Surface clutter and multiple scattering are not included.

Each element of measurement_sensor is paired with the corresponding row of radar_range_limits. This keeps measurement_vec and measurement_jac in the standard retrieval layout: one sensor observation element produces one measurement. Use measurement_sensorAddSimpleRadar() for the common frequency/polarization/range-bin arrangement.

range_mode may be "Altitude" [m], "Distance" [m one way], "RoundTripTime" [s, including path group refractive indices], or "Legacy" (the ARTS2 rule: altitude if the largest edge exceeds 1, otherwise round-trip time).

The output unit may be "1" (backscatter coefficient, 1/(m sr)), "Ze" (mm6/m3), or "dBZe". A negative k2 derives the liquid-water dielectric factor at ze_tref using the Liebe-93 parameterization, as in ARTS2. pext_scaling scales only particulate extinction, not particle backscatter.

Atmospheric entries in finalized jac_targets are differentiated through the complete range-gated calculation, including gas and particle attenuation and particle backscatter. The perturbation stored on each target is used; a scale-aware default is selected when it is zero. Gas propagation derivatives come from spectral_propmat_agenda, scattering derivatives come from scat_species, and their ordered two-way transmission product is propagated analytically through rtepack. There is no production finite-difference loop.

Allowed auxiliary quantities are "Radiative background", "Backscattering", "Abs species extinction", and "Particle extinction". They are returned as rows of radar_aux in the requested order.

Authors: Patrick Eriksson, OpenAI Codex

Parameters:
  • measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to self.measurement_vec. [OUT]

  • measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the measurement_vec. Defaults to self.measurement_jac. [OUT]

  • radar_aux (~pyarts3.arts.Matrix, optional) – Auxiliary active-radar quantities. Defaults to self.radar_aux. [OUT]

  • 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]

  • 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. [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) – Output 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]

  • aux_vars (~pyarts3.arts.ArrayOfString, optional) – Requested auxiliary quantities. Defaults to [] [IN]