UFO
ufo::CloudCostFunction Class Reference

Bayesian cost function for detecting cloud-affected radiances. More...

#include <CloudCostFunction.h>

Inheritance diagram for ufo::CloudCostFunction:
Collaboration diagram for ufo::CloudCostFunction:

Public Member Functions

 CloudCostFunction (const eckit::LocalConfiguration &=eckit::LocalConfiguration())
 
void compute (const ObsFilterData &, ioda::ObsDataVector< float > &) const
 compute the result of the function More...
 
const ufo::VariablesrequiredVariables () const
 geovals required to compute the function More...
 
- Public Member Functions inherited from ufo::ObsFunctionBase< float >
 ObsFunctionBase (const eckit::LocalConfiguration conf=eckit::LocalConfiguration())
 
virtual ~ObsFunctionBase ()
 

Private Attributes

ufo::Variables invars_
 
std::vector< int > channels_
 
std::vector< std::string > fields_
 
CloudCostFunctionParameters options_
 

Additional Inherited Members

- Public Types inherited from ufo::ObsFunctionBase< float >
typedef float Value_
 Type of the values produced by the function. More...
 

Detailed Description

Bayesian cost function for detecting cloud-affected radiances.

The cloud cost, Jc, is calculated from observation-H(x) departures, y, via

Jc = (0.5/Nchan) * y.W.y^T

where Nchan is the number of channels in the calculation and W is the inverse of (H.B.H^T + R):

H is the Jacobian matrix; B is a background error covariance matrix; R is an observation error covariance matrix.

The heritage of this code is the Met Office routine Ops_SatRad_CloudCost.

Implementation here follows Met Office usage, with a static (latitude-varying) B-matrix and a fixed, diagonal R-matrix.

Reference: S.J. English, J.R. Eyre and J.A. Smith. A cloud‐detection scheme for use with satellite sounding radiances in the context of data assimilation for numerical weather prediction support of nowcasting applications. Quart. J. Royal Meterol. Soc., Vol. 125, pp. 2359-2378 (1999). https://doi.org/10.1002/qj.49712555902

Definition at line 112 of file CloudCostFunction.h.

Constructor & Destructor Documentation

◆ CloudCostFunction()

ufo::CloudCostFunction::CloudCostFunction ( const eckit::LocalConfiguration &  conf = eckit::LocalConfiguration())
explicit

Definition at line 23 of file CloudCostFunction.cc.

Member Function Documentation

◆ compute()

void ufo::CloudCostFunction::compute ( const ObsFilterData ,
ioda::ObsDataVector< float > &   
) const
virtual

compute the result of the function

Implements ufo::ObsFunctionBase< float >.

Definition at line 56 of file CloudCostFunction.cc.

Here is the call graph for this function:

◆ requiredVariables()

const ufo::Variables & ufo::CloudCostFunction::requiredVariables ( ) const
virtual

geovals required to compute the function

Implements ufo::ObsFunctionBase< float >.

Definition at line 258 of file CloudCostFunction.cc.

Member Data Documentation

◆ channels_

std::vector<int> ufo::CloudCostFunction::channels_
private

Definition at line 122 of file CloudCostFunction.h.

◆ fields_

std::vector<std::string> ufo::CloudCostFunction::fields_
private

Definition at line 123 of file CloudCostFunction.h.

◆ invars_

ufo::Variables ufo::CloudCostFunction::invars_
private

Definition at line 121 of file CloudCostFunction.h.

◆ options_

CloudCostFunctionParameters ufo::CloudCostFunction::options_
private

Definition at line 124 of file CloudCostFunction.h.


The documentation for this class was generated from the following files: