Titanlib
Library for quality control algorithms
Namespaces | Classes | Functions
titanlib Namespace Reference

Titanlib. More...

Namespaces

 util
 

Classes

class  Dataset
 Represents point and their observed values. More...
 
class  KDTree
 

Functions

ivec buddy_check (const vec &lats, const vec &lons, const vec &elevs, const vec &values, const vec &radius, const ivec &num_min, float threshold, float max_elev_diff, float elev_gradient, float min_std, int num_iterations, const ivec &obs_to_check=ivec())
 Buddy check. More...
 
ivec buddy_event_check (const vec &lats, const vec &lons, const vec &elevs, const vec &values, const vec &radius, const ivec &num_min, float event_threshold, float threshold, float max_elev_diff, float elev_gradient, int num_iterations, const ivec &obs_to_check=ivec())
 
void initialize_omp ()
 Sets the number of OpenMP threads to 1 if OMP_NUM_THREADS undefined. More...
 
ivec isolation_check (const vec &lats, const vec &lons, int num_min, float radius)
 Isolation check. More...
 
ivec isolation_check (const vec &lats, const vec &lons, const vec &elevs, int num_min, float radius, float vertical_radius)
 Isolation check with elevation. More...
 
ivec range_check (const vec &values, const vec &min, const vec &max)
 Range check. More...
 
ivec range_check_climatology (const vec &lats, const vec &lons, const vec &elevs, const vec &values, int unixtime, const vec &pos, const vec &neg)
 
ivec sct (const vec &lats, const vec &lons, const vec &elevs, const vec &values, int num_min, int num_max, float inner_radius, float outer_radius, int num_iterations, int num_min_prof, float min_elev_diff, float min_horizontal_scale, float vertical_scale, const vec &pos, const vec &neg, const vec &eps2, vec &prob_gross_error, vec &rep)
 Spatial Consistency Test. More...
 
ivec sct_old (const vec &lats, const vec &lons, const vec &elevs, const vec &values, int nmin, int nmax, int num_min_prof, float min_elev_diff, float min_horizontal_scale, float dz, const vec &pos, const vec &neg, const vec &eps2, vec &prob_gross_error, vec &rep, ivec &boxids)
 Old version of the spatial consistency test (for testing purposes only) More...
 
void set_omp_threads (int num)
 Set the number of OpenMP threads to use. More...
 
std::string version ()
 

Detailed Description

Titanlib.

Function Documentation

◆ buddy_check()

ivec titanlib::buddy_check ( const vec lats,
const vec lons,
const vec elevs,
const vec values,
const vec radius,
const ivec num_min,
float  threshold,
float  max_elev_diff,
float  elev_gradient,
float  min_std,
int  num_iterations,
const ivec obs_to_check = ivec() 
)

Buddy check.

Compares a station to all its neighbours within a certain distance

Parameters
latsvector of latitudes [deg]
lonsvector of longitudes [deg]
elevsvector of elevations [m]
valuesvector of observation values
radiussearch radius [m]
num_minthe minimum number of buddies a station can have
thresholdthe threshold for flagging a station
max_elev_diffthe maximum difference in elevation for a buddy (if negative will not check for heigh difference)
elev_gradientlinear elevation gradient with height. For temperature, use something like -0.0065.
min_std
num_iterations
obs_to_checkthe observations that will be checked (since can pass in observations that will not be checked)
flagsvector of return flags

◆ buddy_event_check()

ivec titanlib::buddy_event_check ( const vec lats,
const vec lons,
const vec elevs,
const vec values,
const vec radius,
const ivec num_min,
float  event_threshold,
float  threshold,
float  max_elev_diff,
float  elev_gradient,
int  num_iterations,
const ivec obs_to_check = ivec() 
)

◆ initialize_omp()

void titanlib::initialize_omp ( )

Sets the number of OpenMP threads to 1 if OMP_NUM_THREADS undefined.

◆ isolation_check() [1/2]

ivec titanlib::isolation_check ( const vec lats,
const vec lons,
int  num_min,
float  radius 
)

Isolation check.

Checks that a station is not located alone

Parameters
latsvector of latitudes [deg]
lonsvector of longitudes [deg]
num_minrequired number of observations
radiussearch radius [m]
flagsvector of return flags

◆ isolation_check() [2/2]

ivec titanlib::isolation_check ( const vec lats,
const vec lons,
const vec elevs,
int  num_min,
float  radius,
float  vertical_radius 
)

Isolation check with elevation.

Checks that a station is not located alone

Parameters
latsVector of latitudes [deg]
lonsVector of longitudes [deg]
elevsVector of elevations [m]
num_minRequired number of observations
radiusSearch radius [m]
vertical_radiusVertical search radius [m]
flagsVector of return flags

◆ range_check()

ivec titanlib::range_check ( const vec values,
const vec min,
const vec max 
)

Range check.

Checks observation is within the ranges given

Parameters
valuesvector of observations
minmin allowed value
maxmax allowed value
flagsvector of return flags

◆ range_check_climatology()

ivec titanlib::range_check_climatology ( const vec lats,
const vec lons,
const vec elevs,
const vec values,
int  unixtime,
const vec pos,
const vec neg 
)

◆ sct()

ivec titanlib::sct ( const vec lats,
const vec lons,
const vec elevs,
const vec values,
int  num_min,
int  num_max,
float  inner_radius,
float  outer_radius,
int  num_iterations,
int  num_min_prof,
float  min_elev_diff,
float  min_horizontal_scale,
float  vertical_scale,
const vec pos,
const vec neg,
const vec eps2,
vec prob_gross_error,
vec rep 
)

Spatial Consistency Test.

Parameters
num_min_profMinimum number of observations to compute vertical profile
inner_radiusRadius for flagging [m]
outer_radiusRadius for computing OI and background [m]
min_elev_diffMinimum elevation difference to compute vertical profile [m]
min_horizontal_scaleMinimum horizontal decorrelation length [m]
vertical_scaleVertical decorrelation length [m]
posPositive deviation allowed
negNegative deviation allowed
eps2
prob_gross_errorProbability of gross error for each observation
repCoefficient of representativity
Returns
flags

◆ sct_old()

ivec titanlib::sct_old ( const vec lats,
const vec lons,
const vec elevs,
const vec values,
int  nmin,
int  nmax,
int  num_min_prof,
float  min_elev_diff,
float  min_horizontal_scale,
float  dz,
const vec pos,
const vec neg,
const vec eps2,
vec prob_gross_error,
vec rep,
ivec boxids 
)

Old version of the spatial consistency test (for testing purposes only)

◆ set_omp_threads()

void titanlib::set_omp_threads ( int  num)

Set the number of OpenMP threads to use.

Overwrides OMP_NUM_THREAD env variable.

◆ version()

std::string titanlib::version ( )
Returns
Titanlib version