iyRadarSingleScat
- Workspace.iyRadarSingleScat(self: pyarts.arts._Workspace, iy: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.iy, iy_aux: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfMatrix | None = self.iy_aux, diy_dx: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfTensor3 | None = self.diy_dx, ppvar_p: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.ppvar_p, ppvar_t: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.ppvar_t, ppvar_vmr: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.ppvar_vmr, ppvar_wind: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.ppvar_wind, ppvar_mag: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.ppvar_mag, ppvar_pnd: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.ppvar_pnd, ppvar_f: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.ppvar_f, stokes_dim: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.stokes_dim, f_grid: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.f_grid, atmosphere_dim: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.atmosphere_dim, p_grid: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.p_grid, t_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.t_field, nlte_field: pyarts.arts.WorkspaceVariable | pyarts.arts.EnergyLevelMap | None = self.nlte_field, vmr_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor4 | None = self.vmr_field, abs_species: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfArrayOfSpeciesTag | None = self.abs_species, wind_u_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.wind_u_field, wind_v_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.wind_v_field, wind_w_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.wind_w_field, mag_u_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.mag_u_field, mag_v_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.mag_v_field, mag_w_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.mag_w_field, cloudbox_on: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.cloudbox_on, cloudbox_limits: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfIndex | None = self.cloudbox_limits, pnd_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor4 | None = self.pnd_field, dpnd_field_dx: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfTensor4 | None = self.dpnd_field_dx, scat_species: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfString | None = self.scat_species, scat_data: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfArrayOfSingleScatteringData | None = self.scat_data, scat_data_checked: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.scat_data_checked, iy_aux_vars: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfString | None = self.iy_aux_vars, jacobian_do: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.jacobian_do, jacobian_quantities: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfRetrievalQuantity | None = self.jacobian_quantities, ppath: pyarts.arts.WorkspaceVariable | pyarts.arts.Ppath | None = self.ppath, iy_transmitter: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.iy_transmitter, propmat_clearsky_agenda: pyarts.arts.WorkspaceVariable | pyarts.arts.Agenda | None = self.propmat_clearsky_agenda, water_p_eq_agenda: pyarts.arts.WorkspaceVariable | pyarts.arts.Agenda | None = self.water_p_eq_agenda, rte_alonglos_v: pyarts.arts.WorkspaceVariable | pyarts.arts.Numeric | None = self.rte_alonglos_v, trans_in_jacobian: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = 0, pext_scaling: pyarts.arts.WorkspaceVariable | pyarts.arts.Numeric | None = 1, t_interp_order: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = 1, verbosity: pyarts.arts.WorkspaceVariable | pyarts.arts.Verbosity | None = self.verbosity) None
Simulation of radar, restricted to single scattering.
The WSM treats e.g. radar measurements of cloud and precipitation, on the condition that multiple scattering can be ignored. Beside the direct back-scattering, the two-way attenuation by gases and particles is considered. Surface scattering/clutter is ignored.
The method could potentially be used for lidars, but multiple scattering poses here a must stronger constrain for the range of applications.
The method shall be used with
yRadar()
, NOT withyCalc()
.The
ppath
provided should be calculated including cloudbox interior:ppathCalc( cloudbox_on=0 )
The method returns the back-scattering for each point of
ppath
. Several frequencies can be treated in parallel. The size ofiy
is [ nf * np, stokes_dim ], where nf is the length off_grid
and np is the number of path points. The data are stored in blocks of [ np, stokes_dim ]. That is, all the results for the first frequency occupy the np first rows ofiy
etc.The polarisation state of the transmitted pulse is taken from
iy_transmitter
. If the radar transmits several polarisations at the same frequency, you need to handle this by using two frequencies inf_grid
, but these can be almost identical.This method does not consider
iy_unit_radar
. Unit changes are instead applied inyRadar()
. The output of this method matches the option “1”.The extinction due to particles can be scaled (by
pext_scaling
), which could be of interest when e.g. characterising inversions or trying to compensate for ignored multiple scattering. The later is commented further forparticle_bulkpropRadarOnionPeeling()
.For Jacobian calculations the default is to assume that the transmittance is unaffected by the retrieval quantities. This is done to save computational time, and should be a valid approximation for the single-scattering conditions. Set
trans_in_jacobian
to 1 to activate full Jacobian calculations.Some auxiliary radiative transfer quantities can be obtained. Auxiliary quantities are selected by
iy_aux_vars
and returned byiy_aux
. Valid choices for auxiliary data are:"Radiative background"
:Index value flagging the radiative background. The following coding is used: 0=space, 1=surface and 2=cloudbox (the last case should not occur!). Only column matching first Stokes element filled. Other columns are set to 0.
"Abs species extinction"
:Extinction due to
abs_species
at each ppath point, taken as the diagonal of the local extinction matrix.
"Particle extinction"
:Extinction due to particles at each ppath point, taken as the diagonal of the local extinction matrix. The retunred values includes
pext_scaling
Author(s): Patrick Eriksson
- Parameters:
iy (Matrix, optional) – Monochromatic pencil beam radiance spectrum. See
iy
, defaults toself.iy
[OUT]iy_aux (ArrayOfMatrix, optional) – Data auxiliary to
iy
. Seeiy_aux
, defaults toself.iy_aux
[OUT]diy_dx (ArrayOfTensor3, optional) – Derivative of
iy
with respect to retrieval quantities. Seediy_dx
, defaults toself.diy_dx
[OUT]ppvar_p (Vector, optional) – Pressure along the propagation path. See
ppvar_p
, defaults toself.ppvar_p
[OUT]ppvar_t (Vector, optional) – Temperature along the propagation path. See
ppvar_t
, defaults toself.ppvar_t
[OUT]ppvar_vmr (Matrix, optional) – VMR values along the propagation path. See
ppvar_vmr
, defaults toself.ppvar_vmr
[OUT]ppvar_wind (Matrix, optional) – Winds along the propagation path. See
ppvar_wind
, defaults toself.ppvar_wind
[OUT]ppvar_mag (Matrix, optional) – Magnetic field along the propagation path. See
ppvar_mag
, defaults toself.ppvar_mag
[OUT]ppvar_pnd (Matrix, optional) – PND values along the propagation path. See
ppvar_pnd
, defaults toself.ppvar_pnd
[OUT]ppvar_f (Matrix, optional) – Doppler adjusted frequencies along the propagation path. See
ppvar_f
, defaults toself.ppvar_f
[OUT]stokes_dim (Index, optional) – The dimensionality of the Stokes vector (1-4). See
stokes_dim
, defaults toself.stokes_dim
[IN]f_grid (Vector, optional) – The frequency grid for monochromatic pencil beam calculations. See
f_grid
, defaults toself.f_grid
[IN]atmosphere_dim (Index, optional) – The atmospheric dimensionality (1-3). See
atmosphere_dim
, defaults toself.atmosphere_dim
[IN]p_grid (Vector, optional) – The pressure grid. See
p_grid
, defaults toself.p_grid
[IN]t_field (Tensor3, optional) – The field of atmospheric temperatures. See
t_field
, defaults toself.t_field
[IN]nlte_field (EnergyLevelMap, optional) – The field of NLTE temperatures and/or ratios. See
nlte_field
, defaults toself.nlte_field
[IN]vmr_field (Tensor4, optional) – VMR field. See
vmr_field
, defaults toself.vmr_field
[IN]abs_species (ArrayOfArrayOfSpeciesTag, optional) – Tag groups for gas absorption. See
abs_species
, defaults toself.abs_species
[IN]wind_u_field (Tensor3, optional) – Zonal component of the wind field. See
wind_u_field
, defaults toself.wind_u_field
[IN]wind_v_field (Tensor3, optional) – Meridional component of the magnetic field. See
wind_v_field
, defaults toself.wind_v_field
[IN]wind_w_field (Tensor3, optional) – Vertical wind component field. See
wind_w_field
, defaults toself.wind_w_field
[IN]mag_u_field (Tensor3, optional) – Zonal component of the magnetic field. See
mag_u_field
, defaults toself.mag_u_field
[IN]mag_v_field (Tensor3, optional) – Meridional component of the magnetic field. See
mag_v_field
, defaults toself.mag_v_field
[IN]mag_w_field (Tensor3, optional) – Vertical component of the magnetic field. See
mag_w_field
, defaults toself.mag_w_field
[IN]cloudbox_on (Index, optional) – Flag to activate the cloud box. See
cloudbox_on
, defaults toself.cloudbox_on
[IN]cloudbox_limits (ArrayOfIndex, optional) – The limits of the cloud box. See
cloudbox_limits
, defaults toself.cloudbox_limits
[IN]pnd_field (Tensor4, optional) – Particle number density field. See
pnd_field
, defaults toself.pnd_field
[IN]dpnd_field_dx (ArrayOfTensor4, optional) – Partial derivatives of
pnd_field
. Seedpnd_field_dx
, defaults toself.dpnd_field_dx
[IN]scat_species (ArrayOfString, optional) – Array of Strings defining the scattering species to consider. See
scat_species
, defaults toself.scat_species
[IN]scat_data (ArrayOfArrayOfSingleScatteringData, optional) – Array of single scattering data. See
scat_data
, defaults toself.scat_data
[IN]scat_data_checked (Index, optional) – OK-flag for
scat_data
. Seescat_data_checked
, defaults toself.scat_data_checked
[IN]iy_aux_vars (ArrayOfString, optional) – Selection of quantities for
iy_aux
and when applicable alsoy_aux
. Seeiy_aux_vars
, defaults toself.iy_aux_vars
[IN]jacobian_do (Index, optional) – Flag to activate (clear-sky) Jacobian calculations. See
jacobian_do
, defaults toself.jacobian_do
[IN]jacobian_quantities (ArrayOfRetrievalQuantity, optional) – The retrieval quantities in the Jacobian matrix. See
jacobian_quantities
, defaults toself.jacobian_quantities
[IN]ppath (Ppath, optional) – The propagation path for one line-of-sight. See
ppath
, defaults toself.ppath
[IN]iy_transmitter (Matrix, optional) – Monochromatic pencil beam radiance spectrum of transmitter signal. See
iy_transmitter
, defaults toself.iy_transmitter
[IN]propmat_clearsky_agenda (Agenda, optional) – Calculate the absorption coefficient matrix. See
propmat_clearsky_agenda
, defaults toself.propmat_clearsky_agenda
[IN]water_p_eq_agenda (Agenda, optional) – Calculation of the saturation pressure of water. See
water_p_eq_agenda
, defaults toself.water_p_eq_agenda
[IN]rte_alonglos_v (Numeric, optional) – Velocity along the line-of-sight to consider for a RT calculation. See
rte_alonglos_v
, defaults toself.rte_alonglos_v
[IN]trans_in_jacobian (Index, optional) – Flag determining if change in transmittance is considered in calculation of the Jacobian or not. Defaults to
0
[IN]pext_scaling (Numeric, optional) – Particle extinction is scaled with this value. A value inside [0,2]. Set it to 0 if you want to remove particle extinction totally. Defaults to
1
[IN]t_interp_order (Index, optional) – Interpolation order of temperature for scattering data (so far only applied in phase matrix, not in extinction and absorption. Defaults to
1
[IN]verbosity (Verbosity) – ARTS verbosity. See
verbosity
, defaults toself.verbosity
[IN]