curepy.retrieval_methods.optimal_estimation module#

Optimal Estimation retrieval class

class curepy.retrieval_methods.optimal_estimation.OE(Jx: ndarray | None = None)[source]#

Bases: BaseRetrieval

Optimal Estimation (OE) retrieval object.

calculate_Jb(x: ndarray) ndarray[source]#

Numerically compute the Jacobian of the measurement function with respect to the flattened ancillary parameters.

Parameters:

x – State vector at which the Jacobian is evaluated.

Returns:

Jacobian matrix.

calculate_Jx(x: ndarray) ndarray[source]#

Numerically compute the Jacobian of the measurement function with respect to the state vector.

Parameters:

x – State vector at which the Jacobian is evaluated.

Returns:

Jacobian matrix.

calculate_measurand_covariance(x: ndarray, J: ndarray, Sy_inv: ndarray | None, Sa_inv: ndarray | None = None, Sb_inv: ndarray | None = None) ndarray[source]#

Calculate the posterior state-vector covariance matrix.

Uses the Gauss–Newton / LPU formula combining measurement, ancillary, and prior uncertainty contributions.

Parameters:
  • x – Retrieved state vector.

  • J – Jacobian with respect to the state vector.

  • Sy_inv – Inverse measurement covariance. Must not be None unless Sb_inv is also provided.

  • Sa_inv – Inverse prior covariance, or None if no prior is used.

  • Sb_inv – Pre-computed inverse ancillary-parameter covariance mapped to measurement space. If None, the covariance is computed from the ancillary object.

Returns:

Posterior state-vector covariance matrix.

process_inverse_jacobian(J: ndarray, x: ndarray) tuple[source]#

Derive state-vector uncertainties from the Jacobian via LPU.

Parameters:
  • J – Jacobian of the measurement function with respect to the state vector, evaluated at x.

  • x – Retrieved state vector.

Returns:

Tuple of (u_func, corr_x) where u_func is the 1-sigma uncertainty array and corr_x is the correlation matrix.