skretrieval.retrieval package¶
Submodules¶
skretrieval.retrieval.airdensity module¶
-
class
skretrieval.retrieval.airdensity.AirDensityRetrieval(air_species: sasktran.species.Species, ret_wavel=350, high_alt_normalize=False, tikh_factor=1)¶ Bases:
skretrieval.retrieval.RetrievalTargetLimb retrieval for air number density. Radiances should be supplied in the RadianceGridded format.
-
apriori_state()¶ - Returns
Apriori state vector, x_a. If no apriori is used return None
- Return type
np.array
-
inverse_apriori_covariance()¶ - Returns
Inverse of the apriori covariance matrix. If no apriori is used return None.
- Return type
np.array
-
measurement_vector(l1_data: skretrieval.core.radianceformat.RadianceBase)¶ The measurement vector is the logarithm of radiance at ret_wavel
-
state_vector()¶ State vector is the logarithm of air number density
-
temperature(hires_spacing=100, T0=200, earth_radius=6372000)¶ Integrates the air number density using hydrostatic balance and the ideal gas law.
- Parameters
hires_spacing (float, optional) – Internal high resolution spacing to use for the integral. Default 100 m
T0 (float, optional) – Upper altitude pin temperature, this is at self._retrieval_altitudes[-1]. Default 200 K
earth_radius (float, optional) – Earth radius in m, necessary to approximate gravity. Default 6372000
- Returns
Temperature in K on self._retrieval_altitudes
- Return type
np.array
-
update_state(x: numpy.ndarray)¶ Updates the state for the new state vector. Note that this change has to propagate backwards to the ForwardModel somehow. Typically this is done by passing a climatology into the RetrievalTarget at initiliazation which is used in the ForwardModel.
- Parameters
x (np.array) – New state vector
-
skretrieval.retrieval.ozone module¶
-
class
skretrieval.retrieval.ozone.OzoneRetrieval(ozone_species: sasktran.species.Species)¶ Bases:
skretrieval.retrieval.RetrievalTarget-
apriori_state()¶ - Returns
Apriori state vector, x_a. If no apriori is used return None
- Return type
np.array
-
inverse_apriori_covariance()¶ - Returns
Inverse of the apriori covariance matrix. If no apriori is used return None.
- Return type
np.array
-
measurement_vector(l1_data: skretrieval.core.radianceformat.RadianceBase)¶ - Parameters
l1_data (RadianceBase) – Radiance data. Usually this is an instrument specific instance of RadianceBase, and the RetrievalTarget only works with specific formats.
- Returns
Keys ‘y’ for the measurement vector, ‘jacobian’ for the jacobian of the measurement vector (if weighting functions are in l1_data, ‘y_error’ the covariance of ‘y’ (if error information is provided in l1_data)
- Return type
dict
-
state_vector()¶ - Returns
The state vector, x
- Return type
np.array
-
update_state(x: numpy.ndarray)¶ Updates the state for the new state vector. Note that this change has to propagate backwards to the ForwardModel somehow. Typically this is done by passing a climatology into the RetrievalTarget at initiliazation which is used in the ForwardModel.
- Parameters
x (np.array) – New state vector
-
skretrieval.retrieval.rodgers module¶
-
class
skretrieval.retrieval.rodgers.Rodgers(max_iter=10, lm_damping=0, iterative_update_lm=False, retreat_lm=False, lm_change_factor=1.5, convergence_factor=1)¶ Bases:
skretrieval.retrieval.Minimizer-
retrieve(measurement_l1, forward_model: skretrieval.retrieval.ForwardModel, retrieval_target: skretrieval.retrieval.RetrievalTarget)¶ - Parameters
measurement_l1 (RadianceBase) – The data we are trying to match, either from a real instrument or simulations.
forward_model (ForwardModel) – A model for the data in measurement_l1
retrieval_target (RetrievalTarget) – What we are trying to retrieve
- Returns
Various parameters specific to the minimizer
- Return type
dict
-
skretrieval.retrieval.tikhonov module¶
-
skretrieval.retrieval.tikhonov.two_dim_horizontal_second_deriv(numangle, numalt, factor=1, sparse=False)¶ Calculates the second derivatvie Tikhonov regularization matrix for a two dimensional uniform grid. The matrix is calculated assuming that the measurement vector is constructed with altitude being the leading dimension
- Parameters
numangle (scalar) – The number of angular grid points
numalt (scalar) – The number of altitude grid points
factor (scalar or vector length numangle, optional) – If scalar, the resulting matrix is multiplied by this value. If a vector of length numangle, then each angular level is multiplied by the corresponding value. Default is 1
-
skretrieval.retrieval.tikhonov.two_dim_vertical_first_deriv(numangle, numalt, factor=1, sparse=False)¶ Calculates the first derivatvie Tikhonov regularization matrix for a two dimensional uniform grid. The matrix is calculated assuming that the measurement vector is constructed with altitude being the leading dimension
- Parameters
numangle (scalar) – The number of angular grid points
numalt (scalar) – The number of altitude grid points
factor (scalar or length numalt, optional) – If scalar, the resulting matrix is multiplied by this value. If a vector of length numalt, then each altitude level is multiplied by its corresponding factor. Default is 1
-
skretrieval.retrieval.tikhonov.two_dim_vertical_second_deriv(numangle, numalt, factor=1, sparse=False)¶ Calculates the second derivatvie Tikhonov regularization matrix for a two dimensional uniform grid. The matrix is calculated assuming that the measurement vector is constructed with altitude being the leading dimension
- Parameters
numangle (scalar) – The number of angular grid points
numalt (scalar) – The number of altitude grid points
factor (scalar or length numalt, optional) – If scalar, the resulting matrix is multiplied by this value. If a vector of length numalt, then each altitude level is multiplied by its corresponding factor. Default is 1
Module contents¶
-
class
skretrieval.retrieval.ForwardModel¶ Bases:
abc.ABCA ForwardModel is an object which is capable of calculating a radiance. This serves as the primary interface to the retrieval, along with the RetrievalTarget.
-
abstract
calculate_radiance()¶
-
abstract
-
class
skretrieval.retrieval.Minimizer¶ Bases:
abc.ABCA class which performs minimization between some aspect of measurement level1 data and the forward model simulations.
-
abstract
retrieve(measurement_l1: skretrieval.core.radianceformat.RadianceBase, forward_model: skretrieval.retrieval.ForwardModel, retrieval_target: skretrieval.retrieval.RetrievalTarget)¶ - Parameters
measurement_l1 (RadianceBase) – The data we are trying to match, either from a real instrument or simulations.
forward_model (ForwardModel) – A model for the data in measurement_l1
retrieval_target (RetrievalTarget) – What we are trying to retrieve
- Returns
Various parameters specific to the minimizer
- Return type
dict
-
abstract
-
class
skretrieval.retrieval.RetrievalTarget¶ Bases:
abc.ABCThe retrieval target defines the parameter that is to be retrieved, and also what measurements are going to be used to retrieve it. Notation is similar to that of Rodgers.
-
adjust_parameters(forward_model, y_dict, chi_sq, chi_sq_linear, iter_idx, predicted_delta_y)¶
-
abstract
apriori_state() → numpy.array¶ - Returns
Apriori state vector, x_a. If no apriori is used return None
- Return type
np.array
-
abstract
inverse_apriori_covariance()¶ - Returns
Inverse of the apriori covariance matrix. If no apriori is used return None.
- Return type
np.array
-
abstract
measurement_vector(l1_data: skretrieval.core.radianceformat.RadianceBase)¶ - Parameters
l1_data (RadianceBase) – Radiance data. Usually this is an instrument specific instance of RadianceBase, and the RetrievalTarget only works with specific formats.
- Returns
Keys ‘y’ for the measurement vector, ‘jacobian’ for the jacobian of the measurement vector (if weighting functions are in l1_data, ‘y_error’ the covariance of ‘y’ (if error information is provided in l1_data)
- Return type
dict
-
static
measurement_vector_allowed_to_change()¶ - Returns
True if the measurement_vector may change shape between iterations, False otherwise.
- Return type
bool
-
abstract
state_vector()¶ - Returns
The state vector, x
- Return type
np.array
-
static
state_vector_allowed_to_change()¶ - Returns
True if the state vector/apriori may change shape between iterations, False otherwise.
- Return type
bool
-
abstract
update_state(x: numpy.ndarray)¶ Updates the state for the new state vector. Note that this change has to propagate backwards to the ForwardModel somehow. Typically this is done by passing a climatology into the RetrievalTarget at initiliazation which is used in the ForwardModel.
- Parameters
x (np.array) – New state vector
-