State Vector Functions

Aerosol Height

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::AerosolHeightSVE
) -> Bool

Returns whether the Jacobian related to AerosolHeightSVE types should be calculate before convolution happens. Returns true.

RetrievalToolbox.get_nameMethod
get_name(sve::AerosolHeightSVE) -> String

Returns the name of this aerosol width state vector element as a string.

RetrievalToolbox.is_aerosol_SVEMethod
is_aerosol_SVE(sve::AerosolHeightSVE) -> Bool

Returns whether this SVE (sve) is an aerosol-related SVE. Returns true.

Aerosol Optical Depth

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::AerosolOpticalDepthSVE
) -> Bool

Returns whether the Jacobian related to AerosolOpticalDepthSVE types should be calculate before convolution happens. Returns true.

RetrievalToolbox.is_aerosol_SVEMethod
is_aerosol_SVE(sve::AerosolOpticalDepthSVE) -> Bool

Returns whether this SVE (sve) is an aerosol-related SVE. Returns true.

Aerosol Width

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(sve::AerosolWidthSVE) -> Bool

Returns whether the Jacobian related to AerosolWidthSVE types should be calculate before convolution happens. Returns true.

RetrievalToolbox.get_nameMethod
get_name(sve::AerosolWidthSVE) -> String

Returns the name of this aerosol width state vector element as a string.

RetrievalToolbox.is_aerosol_SVEMethod
is_aerosol_SVE(sve::AerosolWidthSVE) -> Bool

Returns whether this SVE (sve) is an aerosol-related SVE. Returns true.

BRDF Kernel Polynomial

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::BRDFPolynomialSVE
) -> Bool

Returns whether the Jacobian related to BRDFPolynomialSVE types should be calculate before convolution happens. Returns true.

RetrievalToolbox.get_nameMethod
get_name(sve::BRDFPolynomialSVE) -> String

Returns the name of this surface albedo state vector element as a string.

Dispersion Polynomial

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::DispersionPolynomialSVE
) -> Bool

Returns whether the Jacobian related to DispersionPolynomialSVE types should be calculate before convolution happens. Returns false.

RetrievalToolbox.get_nameMethod
get_name(sve::DispersionPolynomialSVE) -> String

Returns the name of this dispersion state vector element as a string.

Gas VMR Profile

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::GasVMRProfileSVE
) -> Bool

Returns whether the Jacobian related to GasVMRProfileSVE types should be calculated before convolution happens. Returns true.

RetrievalToolbox.get_nameMethod
get_name(sve::GasVMRProfileSVE) -> String

Returns the name of this dispersion state vector element as a string.

RetrievalToolbox.idx_for_profile_sveMethod
idx_for_profile_sve(
    gas::GasAbsorber,
    sv::AbstractStateVector
) -> Vector{Integer}

Returns the positional indices of state vector elements that are a GasVMRProfileSVE and belong to a GasAbsorber gas. This allows easy retrieval of the VMR profile SVEs for some gas

Gas Level Scaling Factor

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::GasLevelScalingFactorSVE
) -> Bool

Returns whether the Jacobian related to GasLevelScalingFactorSVE types should be calculated before convolution happens. Returns true.

RetrievalToolbox.get_nameMethod
get_name(sve::GasLevelScalingFactorSVE) -> String

Returns the name of this dispersion state vector element as a string.

ILS Stretch Polynomial

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::ILSStretchPolynomialSVE
) -> Bool

Returns whether the Jacobian related to ILSStretchPolynomialSVE types should be calculated before convolution happens. Returns false.

RetrievalToolbox.get_nameMethod
get_name(sve::ILSStretchPolynomialSVE) -> String

Returns the name of this ILS stretch state vector element as a string.

SIF Radiance

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(sve::SIFRadianceSVE) -> Bool

Returns whether the Jacobian related to SIFRadianceSVE types should be calculated before convolution happens. Returns true.

RetrievalToolbox.get_nameMethod

Returns the name of this temperature offset state vector element as a string.

get_name(sve::SIFRadianceSVE) -> String

Solar Scaler Polynomial

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::SolarScalerPolynomialSVE
) -> Bool

Returns whether the Jacobian related to SolarScalerPolynomialSVE types should be calculated before convolution happens. Returns true.

RetrievalToolbox.get_nameMethod
get_name(sve::SolarScalerPolynomialSVE) -> String

Returns the name of this solar scaler polynomial state vector element as a string.

Surface Albedo Polynomial

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::SurfaceAlbedoPolynomialSVE
) -> Bool

Returns whether the Jacobian related to SurfaceAlbedoPolynomialSVE types should be calculated before convolution happens. Returns true.

RetrievalToolbox.get_nameMethod
get_name(sve::SurfaceAlbedoPolynomialSVE) -> String

Returns the name of this surface albedo state vector element as a string.

Surface Pressure

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::SurfacePressureSVE
) -> Bool

Returns whether the Jacobian related to SurfacePressureSVE types should be calculated before convolution happens. Returns true.

RetrievalToolbox.get_nameMethod

Returns the name of this surface pressure vector element as a string.

get_name(sve::SurfacePressureSVE) -> String

Temperature Offset

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::TemperatureOffsetSVE
) -> Bool

Returns whether the Jacobian related to TemperatureOffsetSVE types should be calculated before convolution happens. Returns true.

RetrievalToolbox.get_nameMethod

Returns the name of this temperature offset state vector element as a string.

get_name(sve::TemperatureOffsetSVE) -> String

Zero Level Offset Polynomial

RetrievalToolbox.calculate_jacobian!Method
calculate_jacobian!(
    rt_buf::AbstractRTBuffer,
    sve::ZeroLevelOffsetPolynomialSVE
) -> Any

Calculates the Jacobian for a ZeroLevelOffsetPolynomialSVE

Details

The ZLO radiance offset at wavelength of spectral sample s ($λ_s$) is generally calculated as (and analogously for wavenumbers, $ν_s$)

\[\sum_{i=0}^{O-1} c_i \cdot (λ_s - λ_\text{ref})^i\]

where i runs from 0 up to O - 1, where O is the order of the polynomial. See also apply_radiance_correction! for this SVE type.

The partial derivative of the radiance $I$ with respect to the polynomial coefficient $c_i$ is then

\[∂I/∂c_i = (λ_s - λ_\text{ref})^i.\]

The reference spectral point ($λ_\text{ref}$ or $ν_\text{ref}$) is given by the spectral window object that is attached to the sve as sve.swin.ww_reference. Unit differences between the rt_buf RT buffer and the unit of this sve are explicitly taken into account, so this sve may have any compatible radiance units as long as the converstion to the rt_buf.radiance_unit is valid.

RetrievalToolbox.calculate_jacobian_before_isrfMethod
calculate_jacobian_before_isrf(
    sve::ZeroLevelOffsetPolynomialSVE
) -> Bool

Returns whether the Jacobian related to ZeroLevelOffsetPolynomialSVE types should be calculated before convolution happens. Returns false since the partial derivative calculation does not need the resulting radiance itself.

RetrievalToolbox.calculate_zlo!Method
calculate_zlo!(
    output::AbstractVector,
    radiance_unit,
    sve::ZeroLevelOffsetPolynomialSVE,
    dispersion::AbstractDispersion,
    indices::AbstractVector
)

Calculates the per-sample zero-level offset as given by the state vector element sve and indexed by the dispersion dispersion. This function is called by apply_radiance_correction! and likely does not need to be done by the user.

RetrievalToolbox.get_nameMethod

Returns the name of this ZeroLevelOffsetSVE state vector element as a string.

get_name(sve::ZeroLevelOffsetPolynomialSVE) -> String