State Vector Functions

Below functions act on state vector elements (AbstractStateVectorElement), and (generally) nothing else. Their main purpose is mostly provide context-specific information about a given state vector element that may be needed to trigger other computations.

For example, the function calculate_jacobian_before_isrf is defined for all state vector elements (default implementation returns true) to indicate whether the Jacobians needs to be calculated before any instrument response functions are applied. The ZeroLevelOffsetPolynomialSVE type for example, represents an additive radiance contribution that can be added to the model radiance after the application instrument response function(s). While the result does not change, omitting the instrument function application for these state vector elements will reduce the overall computational effort.

Similarly, the function is_aerosol_SVE (default: false) tells the underlying radiative transfer code whether this particular state vector element is related to aerosols, and thus requires different handling in the allocation of linearized inputs to the RT solver.

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_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.get_nameMethod

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

get_name(sve::ZeroLevelOffsetPolynomialSVE) -> String