ARTS built-in documentation server

Workspace Method particle_bulkpropRadarOnionPeeling


Inverts radar reflectivities by in an onion peeling manner.

The method assumes space-based measurements and invert one altitude
at the time, based on a pre-calculated inversion table (*invtable*)
and starting at the top of the atmosphere. If attenuation is
completely ignored, the table is effectively used as a look-up table
to map dBZe to hydrometeor values. The method considers attenuation
by default, where extinction due to hydrometeors is taken from the
table and the one due to abs_species is obtained by

The inversion table consists of two GriddedField3. The first field
shall match liquid hydrometeors and is applied for temperatures above
*t_phase*. The second field is applied for lower temperatures and
shall thus correspond to ice hydrometeors.

The size of each field is (2,ndb,nt). The two page dimensions match
the hydrometeor property to retrieve and extinction, respectively.
The table shall hold the 10-logarithm of the property, such as
log10(IWC). ndb is the number of dBZe values in the table and nt
the number of temperatures. The table is interpolated in temperature
in a nearest neighbour fashion, while in a linear interpolation is
applied in the dBZe dimension.

The field of radar reflectivities (*dBZe*) shall cover the complete
atmosphere and then match e.g. t_field in size. The observation
geometry is here specified by giving the incidence angle for each
profile of dBZe values (by *incangles*). A flat Earth approximation
is applied inside the method.

All values below *dbze_noise* are treated as pure noise and
particle_bulkprop_field is set to zero for these positions.
The comparison to *dbze_noise* is done with uncorrected values.

Further, all values at altitudes below z_surface + h_clutter are
assumed to be surface clutter and are rejected. If *fill_clutter*
is set to 1, the retrieval just above the clutter zone is assumed
valid also below and is copied to all altitudes below (also for
altitudes below the surface).

Unfiltered clutter can cause extremely high retrived water contents.
The GIN *wc_max* defines an upper limit for reasonable water contents.
Retrievals ending up above this value are set to zero. Values below
*wc_max* but above *wc_clip*, are set to *wc_clip*.

Significant radar echos (>dbze_noise and above clutter zone) are
assumed to match liquid hydrometeors for temperatures >= *t_phase*
and ice ones for lower temperatures.

Default is to consider attenuation of both hydrometeors and absorption
species. These two sources to attenuation can be ignored by setting
*do_atten_hyd* and *do_atten_abs* to zero, respectively.

Default is to consider hydrometeor attenuation, but there could be
two reasons to ignore it. It can cause a "run away" effect in the
retrievals. Ignoring it can also compensate for impact of multiple
scattering in space-based observations, as shown by: Matrosov and
Battaglia, GRL, 2009. However, ignoring the hydrometeor attenuation
totally gives a too high compensating effect and the GIN
*atten_hyd_scaling* allows to test intermediate compensations. This
GIN matches the GIN pext_scaling of iyRadarSingleScat, but they
have different default values. The default in this method follows the
results for CloudSat in Matrosov and Battaglia. Please note that
*do_atten_hyd* must be true to apply *atten_hyd_scaling*.

Even with *atten_hyd_scaling* below 1, there could be a run-away in
the estimated attenuation, and *atten_hyd_max* stops this by setting
a maximum value to the hydrometeor attenuation.

Authors: Patrick Eriksson


particle_bulkpropRadarOnionPeeling( particle_bulkprop_field, particle_bulkprop_names, atmosphere_dim, p_grid, lat_grid, lon_grid, t_field, z_field, vmr_field, z_surface, atmfields_checked, atmgeom_checked, f_grid, propmat_clearsky_agenda, scat_species, invtable, incangles, dBZe, dbze_noise, h_clutter, fill_clutter, t_phase, wc_max, wc_clip, do_atten_abs, do_atten_hyd, atten_hyd_scaling, atten_hyd_max )


OUTparticle_bulkprop_field(Tensor4)Container for various data that describes scattering bulk properties.
OUTparticle_bulkprop_names(ArrayOfString)Identification of the data in particle_bulkprop_field.
INatmosphere_dim(Index)The atmospheric dimensionality (1-3).
INp_grid(Vector)The pressure grid.
INlat_grid(Vector)The latitude grid.
INlon_grid(Vector)The longitude grid.
INt_field(Tensor3)The field of atmospheric temperatures.
INz_field(Tensor3)The field of geometrical altitudes.
INvmr_field(Tensor4)VMR field.
INz_surface(Matrix)The surface altitude.
INatmfields_checked(Index)OK-flag for atmospheric grids and (physical) fields.
INatmgeom_checked(Index)OK-flag for the geometry of the model atmosphere.
INf_grid(Vector)The frequency grid for monochromatic pencil beam calculations.
INpropmat_clearsky_agenda(Agenda)Agenda calculating the absorption coefficient matrices.
INscat_species(ArrayOfString)Array of Strings defining the scattering species to consider.
GINinvtable(ArrayOfGriddedField3)Inversion table, see above.
GINincangles(Matrix)Incidence angles.
GINdBZe(Tensor3)Field of radar reflectivities, in dBZe.
GINdbze_noise(Numeric, Default: -99)Noise level. See above.
GINh_clutter(Matrix)Height of clutter zone. Either same size as z_surface or a single value. In the later case, that value is applied at all positions.
GINfill_clutter(Index, Default: 0)Flag to fill clutter zone, by copying retrieval just above it.
GINt_phase(Numeric, Default: 273.15)Phase boundary temperature. See above.
GINwc_max(Numeric, Default: 10e-3)Max reasonable water content
GINwc_clip(Numeric, Default: 5e-3)Clip value for water content retrievals.
GINdo_atten_abs(Index, Default: 1)Flag to consider attenuation due to hydrometeors.
GINdo_atten_hyd(Index, Default: 1)Flag to consider attenuation due to absorption species.
GINatten_hyd_scaling(Numeric, Default: 0.5)Hydrometeor attenuation scaling factor.
GINatten_hyd_max(Numeric, Default: 3)Hydrometeor attenuation not allowed to pass this value [dB].