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_isrf — Method
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_name — Method
get_name(sve::AerosolHeightSVE) -> String
Returns the name of this aerosol width state vector element as a string.
RetrievalToolbox.is_aerosol_SVE — Method
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_isrf — Method
calculate_jacobian_before_isrf(
sve::AerosolOpticalDepthSVE
) -> Bool
Returns whether the Jacobian related to AerosolOpticalDepthSVE types should be calculate before convolution happens. Returns true.
RetrievalToolbox.get_name — Method
Returns the name of this aerosol OD state vector element as a string.
get_name(sve)
RetrievalToolbox.is_aerosol_SVE — Method
is_aerosol_SVE(sve::AerosolOpticalDepthSVE) -> Bool
Returns whether this SVE (sve) is an aerosol-related SVE. Returns true.
Aerosol Width
RetrievalToolbox.calculate_jacobian_before_isrf — Method
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_name — Method
get_name(sve::AerosolWidthSVE) -> String
Returns the name of this aerosol width state vector element as a string.
RetrievalToolbox.is_aerosol_SVE — Method
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_isrf — Method
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_name — Method
get_name(sve::BRDFPolynomialSVE) -> String
Returns the name of this surface albedo state vector element as a string.
Dispersion Polynomial
RetrievalToolbox.calculate_jacobian_before_isrf — Method
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_name — Method
get_name(sve::DispersionPolynomialSVE) -> String
Returns the name of this dispersion state vector element as a string.
Gas VMR Profile
RetrievalToolbox.calculate_jacobian_before_isrf — Method
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_name — Method
get_name(sve::GasVMRProfileSVE) -> String
Returns the name of this dispersion state vector element as a string.
RetrievalToolbox.idx_for_profile_sve — Method
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_isrf — Method
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_name — Method
get_name(sve::GasLevelScalingFactorSVE) -> String
Returns the name of this dispersion state vector element as a string.
ILS Stretch Polynomial
RetrievalToolbox.calculate_jacobian_before_isrf — Method
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_name — Method
get_name(sve::ILSStretchPolynomialSVE) -> String
Returns the name of this ILS stretch state vector element as a string.
SIF Radiance
RetrievalToolbox.calculate_jacobian_before_isrf — Method
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_name — Method
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_isrf — Method
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_name — Method
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_isrf — Method
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_name — Method
get_name(sve::SurfaceAlbedoPolynomialSVE) -> String
Returns the name of this surface albedo state vector element as a string.
Surface Pressure
RetrievalToolbox.calculate_jacobian_before_isrf — Method
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_name — Method
Returns the name of this surface pressure vector element as a string.
get_name(sve::SurfacePressureSVE) -> String
Temperature Offset
RetrievalToolbox.calculate_jacobian_before_isrf — Method
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_name — Method
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_isrf — Method
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_name — Method
Returns the name of this ZeroLevelOffsetSVE state vector element as a string.
get_name(sve::ZeroLevelOffsetPolynomialSVE) -> String