Gridpp 0.8.0
A post-processing library for gridded weather forecasts
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
gridpp::StructureFunction Class Referenceabstract

#include <gridpp.h>

Inheritance diagram for gridpp::StructureFunction:
gridpp::BarnesStructure gridpp::CressmanStructure gridpp::CrossValidation gridpp::LinearStructure gridpp::MultipleStructure gridpp::PowerlawStructure gridpp::SoarStructure gridpp::ToarStructure

Public Member Functions

virtual StructureFunctionPtr clone () const =0
 
virtual float corr (const Point &p1, const Point &p2) const =0
 Correlation between two points. More...
 
virtual vec corr (const Point &p1, const std::vector< Point > &p2) const
 
virtual float corr_background (const Point &p1, const Point &p2) const
 Correlation between a background point and an observation points. More...
 
virtual vec corr_background (const Point &p1, const std::vector< Point > &p2) const
 
virtual float localization_distance (const Point &p) const
 Maximum distance for which an observation can have an impact (localization) More...
 
 StructureFunction (float localization_distance=0)
 

Static Public Attributes

static const float default_min_rho = 0.0013
 

Protected Member Functions

float barnes_rho (float dist, float length) const
 Barnes correlation function. More...
 
float cressman_rho (float dist, float length) const
 Cressman correlation function. More...
 
float linear_rho (float diff, float min_corr) const
 Linear correlation function. More...
 
float powerlaw_rho (float dist, float length) const
 Powerlaw correlation function. More...
 
float soar_rho (float dist, float length) const
 Compactly supported second-order autoregressive correlation function. More...
 
float toar_rho (float dist, float length) const
 Compactly supported third-order autoregressive correlation function. More...
 

Protected Attributes

float m_localization_distance
 

Detailed Description

Covariance structure function.

Constructor & Destructor Documentation

◆ StructureFunction()

gridpp::StructureFunction::StructureFunction ( float  localization_distance = 0)

Member Function Documentation

◆ barnes_rho()

float gridpp::StructureFunction::barnes_rho ( float  dist,
float  length 
) const
protected

Barnes correlation function.

Parameters
distDistance between points. Same units as 'length'
lengthLength scale
Returns
Barnes rho

◆ clone()

virtual StructureFunctionPtr gridpp::StructureFunction::clone ( ) const
pure virtual

◆ corr() [1/2]

virtual float gridpp::StructureFunction::corr ( const Point &  p1,
const Point &  p2 
) const
pure virtual

Correlation between two points.

Parameters
p1First point
p2Other point
Returns
Correlation between points

Implemented in gridpp::CrossValidation, gridpp::CressmanStructure, gridpp::LinearStructure, gridpp::PowerlawStructure, gridpp::ToarStructure, gridpp::SoarStructure, gridpp::BarnesStructure, and gridpp::MultipleStructure.

◆ corr() [2/2]

vec gridpp::StructureFunction::corr ( const Point &  p1,
const std::vector< Point > &  p2 
) const
virtual

◆ corr_background() [1/2]

float gridpp::StructureFunction::corr_background ( const Point &  p1,
const Point &  p2 
) const
virtual

Correlation between a background point and an observation points.

Parameters
p1Background point
p2Observation point
Returns
Correlation between background and observation points

Reimplemented in gridpp::CrossValidation.

◆ corr_background() [2/2]

vec gridpp::StructureFunction::corr_background ( const Point &  p1,
const std::vector< Point > &  p2 
) const
virtual

Reimplemented in gridpp::CrossValidation.

◆ cressman_rho()

float gridpp::StructureFunction::cressman_rho ( float  dist,
float  length 
) const
protected

Cressman correlation function.

Parameters
distDistance between points. Same units as 'length'
lengthLength scale
Returns
Cressman rho

◆ linear_rho()

float gridpp::StructureFunction::linear_rho ( float  diff,
float  min_corr 
) const
protected

Linear correlation function.

Parameters
diffDifference between points of a variable with values ranging from 0 to 1, resulting in a difference bounded between -1 and 1 (e.g., Land/Sea area fraction).
min_corrMinimum allowed correlation value. If less than 0, the function returns 1.
Returns
linear rho

◆ localization_distance()

float gridpp::StructureFunction::localization_distance ( const Point &  p) const
virtual

Maximum distance for which an observation can have an impact (localization)

Returns
Distance [m]

Reimplemented in gridpp::CrossValidation, gridpp::LinearStructure, gridpp::PowerlawStructure, gridpp::ToarStructure, gridpp::SoarStructure, gridpp::BarnesStructure, and gridpp::MultipleStructure.

◆ powerlaw_rho()

float gridpp::StructureFunction::powerlaw_rho ( float  dist,
float  length 
) const
protected

Powerlaw correlation function.

Parameters
distDistance between points. Same units as 'length'
lengthLength scale
Returns
powerlaw rho

◆ soar_rho()

float gridpp::StructureFunction::soar_rho ( float  dist,
float  length 
) const
protected

Compactly supported second-order autoregressive correlation function.

Parameters
distDistance between points. Same units as 'length'
lengthLength scale
Returns
SOAR rho

◆ toar_rho()

float gridpp::StructureFunction::toar_rho ( float  dist,
float  length 
) const
protected

Compactly supported third-order autoregressive correlation function.

Parameters
distDistance between points. Same units as 'length'
lengthLength scale
Returns
TOAR rho

Member Data Documentation

◆ default_min_rho

const float gridpp::StructureFunction::default_min_rho = 0.0013
static

◆ m_localization_distance

float gridpp::StructureFunction::m_localization_distance
protected

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