ARTS built-in documentation server

Workspace Method iyActiveSingleScat

Description

Simulation of radar/lidar, 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 backsacttering, the two-way attenuation by gases and
particles is considered. Surface scattering 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 can be used with iyCalc, but not with yCalc. In the
later case, use instead yActive.

The method returns the backscattering for each point of ppath.
Several frequencies can be treated in parallel. The size of iy
is [ nf*np, stokes_dim ], where nf is the length of f_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 of iy etc.

The polarisation state of the transmitted pulse is taken from
iy_transmitter_agenda. If the radar transmits several polarisations
at the same frequency, you need to handle this by using two frequencies
in f_grid, but these can be almost identical.

This method does not consider iy_unit. Unit changes are insted applied
in *yActive. The output of this method matches the option "1".

Transmission is handled in a slightly simplified manner for efficiency
reasons. First of all, the transmission matrix is assumed to be the same
in both directions between the sensor and the point of back-scattering.
This should in general be true, but exceptions could exist. The extinction
due to particles can also be scaled, which could be of interest when e.g.
characterising inversions.

Further, for Jacobian calculations the default is to assume that the
transmission 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 obtain
the more accurate Jacobian.

Some auxiliary radiative transfer quantities can be obtained. Auxiliary
quantities are selected by iy_aux_vars and returned by iy_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.
 "Backscattering": The unattenuated backscattering. That is, as
    iy but with no attenuated applied. Here all columns are filled.
 "Optical depth": Scalar, total and two-way, optical depth between
    sensor and each point of the propagation path. Calculated based on
    the (1,1)-element of the transmission matrix (1-based indexing),
    i.e. only fully valid for scalar RT.
 "Particle extinction": As "Optical depth", but only with particle
    attenuation included. That is, gas absorption is ignored.
If nothing else is stated, only the first column of iy_aux is filled,
i.e. the column matching Stokes element I, while remaing columns are
are filled with zeros.

Authors: Patrick Eriksson

Synopsis

iyActiveSingleScat( iy, iy_aux, diy_dx, ppvar_p, ppvar_t, ppvar_nlte, ppvar_vmr, ppvar_wind, ppvar_mag, ppvar_pnd, ppvar_f, ppvar_trans_cumulat, stokes_dim, f_grid, atmosphere_dim, p_grid, t_field, nlte_field, vmr_field, abs_species, wind_u_field, wind_v_field, wind_w_field, mag_u_field, mag_v_field, mag_w_field, cloudbox_on, cloudbox_limits, pnd_field, dpnd_field_dx, scat_species, scat_data, scat_data_checked, iy_aux_vars, jacobian_do, jacobian_quantities, ppath, propmat_clearsky_agenda, water_p_eq_agenda, iy_transmitter_agenda, iy_agenda_call1, iy_transmission, rte_alonglos_v, trans_in_jacobian, pext_scaling, t_interp_order )

Variables

OUTiy(Matrix)Monochromatic pencil beam radiance spectrum.
OUTiy_aux(ArrayOfMatrix)Data auxiliary to iy.
OUT+INdiy_dx(ArrayOfTensor3)Derivative of iy with respect to retrieval quantities.
OUTppvar_p(Vector)Pressure along the propagation path.
OUTppvar_t(Vector)Temperature along the propagation path.
OUTppvar_nlte(EnergyLevelMap)Non-LTE temperatures/ratios along the propagation path.
OUTppvar_vmr(Matrix)VMR values along the propagation path.
OUTppvar_wind(Matrix)Winds along the propagation path.
OUTppvar_mag(Matrix)Magnetic field along the propagation path.
OUTppvar_pnd(Matrix)PND values along the propagation path.
OUTppvar_f(Matrix)Doppler adjusted frequencies along the propagation path.
OUTppvar_trans_cumulat(Tensor4)The transmission between the sensor and each point of the propagation path.
INstokes_dim(Index)The dimensionality of the Stokes vector (1-4).
INf_grid(Vector)The frequency grid for monochromatic pencil beam calculations.
INatmosphere_dim(Index)The atmospheric dimensionality (1-3).
INp_grid(Vector)The pressure grid.
INt_field(Tensor3)The field of atmospheric temperatures.
INnlte_field(EnergyLevelMap)The field of NLTE temperatures and/or ratios.
INvmr_field(Tensor4)VMR field.
INabs_species(ArrayOfArrayOfSpeciesTag)Tag groups for gas absorption.
INwind_u_field(Tensor3)Zonal component of the wind field.
INwind_v_field(Tensor3)Meridional component of the magnetic field.
INwind_w_field(Tensor3)Vertical wind component field.
INmag_u_field(Tensor3)Zonal component of the magnetic field.
INmag_v_field(Tensor3)Meridional component of the magnetic field.
INmag_w_field(Tensor3)Vertical component of the magnetic field.
INcloudbox_on(Index)Flag to activate the cloud box.
INcloudbox_limits(ArrayOfIndex)The limits of the cloud box.
INpnd_field(Tensor4)Particle number density field.
INdpnd_field_dx(ArrayOfTensor4)Partial derivatives of pnd_field.
INscat_species(ArrayOfString)Array of Strings defining the scattering species to consider.
INscat_data(ArrayOfArrayOfSingleScatteringData)Array of single scattering data.
INscat_data_checked(Index)OK-flag for scat_data.
INiy_aux_vars(ArrayOfString)Selection of quantities for iy_aux and when applicable also y_aux.
INjacobian_do(Index)Flag to activate (clear-sky) Jacobian calculations.
INjacobian_quantities(ArrayOfRetrievalQuantity)The retrieval quantities in the Jacobian matrix.
INppath(Ppath)The propagation path for one line-of-sight.
INpropmat_clearsky_agenda(Agenda)Agenda calculating the absorption coefficient matrices.
INwater_p_eq_agenda(Agenda)Agenda to calculate the saturation pressure of water.
INiy_transmitter_agenda(Agenda)Agenda providing a transmitter signal.
INiy_agenda_call1(Index)Flag to handle recursive calls of iy_main_agenda The agenda iy_main_agenda can be used recursively and this flag is used to tell the methods inside the agenda which is the primary call.
INiy_transmission(Tensor3)Transmission to be included in iy.
INrte_alonglos_v(Numeric)Velocity along the line-of-sight to consider for a RT calculation.
GINtrans_in_jacobian(Index, Default: 0)Flag determining if change in transmission is considered in calculation of the Jacobian or not.
GINpext_scaling(Numeric, Default: 1)Particle extinction is scaled with this value. A value inside [0,2]. Set it to 0 if you want to remove particle extinction totally.
GINt_interp_order(Index, Default: 1)Interpolation order of temperature for scattering data (so far only applied in phase matrix, not in extinction and absorption.