5 #include <boost/geometry.hpp> 6 #include <boost/geometry/geometries/point.hpp> 7 #include <boost/geometry/geometries/box.hpp> 8 #include <boost/geometry/index/rtree.hpp> 9 #include <boost/math/distributions/gamma.hpp> 10 #include <boost/math/distributions/normal.hpp> 16 #define GRIDPP_VERSION "0.6.0" 17 #define __version__ GRIDPP_VERSION 24 typedef std::vector<float>
vec;
25 typedef std::vector<vec>
vec2;
26 typedef std::vector<vec2>
vec3;
27 typedef std::vector<int>
ivec;
28 typedef std::vector<ivec>
ivec2;
29 typedef std::vector<ivec2>
ivec3;
32 typedef std::vector<double>
dvec;
33 typedef std::vector<dvec>
dvec2;
41 static const float MV = NAN;
45 static const float pi = 3.14159265;
153 const vec2& background,
157 const vec& pbackground,
160 bool allow_extrapolation=
true);
174 const vec& background,
178 const vec& pbackground,
181 bool allow_extrapolation=
true);
197 const vec2& background,
198 const vec2& bvariance,
201 const vec& obs_variance,
202 const vec& background_at_points,
203 const vec& bvariance_at_points,
206 vec2& analysis_variance,
207 bool allow_extrapolation=
true);
223 const vec& background,
224 const vec& bvariance,
227 const vec& obs_variance,
228 const vec& background_at_points,
229 const vec& bvariance_at_points,
232 vec& analysis_sigmas,
233 bool allow_extrapolation=
true);
244 const vec3& background,
248 const vec2& pbackground,
251 bool allow_extrapolation=
true);
254 const vec2& background,
258 const vec2& pbackground,
261 bool allow_extrapolation=
true);
276 const vec2& background,
279 const vec& pbackground,
298 const vec2& background,
301 const vec2& pbackground,
313 vec2
fill(
const Grid& igrid,
const vec2& input,
const Points& points,
const vec& radii,
float value,
bool outside);
324 vec2
doping_square(
const Grid& igrid,
const vec2& background,
const Points& points,
const vec& observations,
const ivec& halfwidths,
float max_elev_diff=
gridpp::MV);
346 vec
gamma_inv(
const vec& levels,
const vec& shape,
const vec& scale);
527 float calc_score(
const vec& ref,
const vec& fcst,
float threshold,
Metric metric);
528 float calc_score(
const vec& ref,
const vec& fcst,
float threshold,
float fthreshold,
Metric metric);
559 vec2
nearest(
const Grid& igrid,
const Grid& ogrid,
const vec2& ivalues);
560 vec3
nearest(
const Grid& igrid,
const Grid& ogrid,
const vec3& ivalues);
682 vec2
count(
const Grid& igrid,
const Grid& ogrid,
float radius);
785 float pressure(
float ielev,
float oelev,
float ipressure,
float itemperature=288.15);
794 vec
pressure(
const vec& ielev,
const vec& oelev,
const vec& ipressure,
const vec& itemperature);
872 vec
wind_speed(
const vec& xwind,
const vec& ywind);
927 void debug(std::string
string);
928 void warning(std::string
string);
929 void error(std::string
string);
970 float interpolate(
float x,
const vec& iX,
const vec& iY);
974 vec2
init_vec2(
int Y,
int X,
float value=MV);
977 ivec3
init_ivec3(
int Y,
int X,
int E,
int value);
978 vec3
init_vec3(
int Y,
int X,
int E,
float value=MV);
1010 vec2
neighbourhood_search(
const vec2& array,
const vec2& search_array,
int halfwidth,
float search_target_min,
float search_target_max,
float search_delta,
const ivec2& apply_array=
ivec2());
1021 vec2
window(
const vec2& array,
int length,
gridpp::Statistic statistic,
bool before=
false,
bool keep_missing=
false,
bool missing_edges=
true);
1110 int get_nearest_neighbour(
float lat,
float lon,
bool include_match=
true)
const;
1117 ivec get_neighbours(
float lat,
float lon,
float radius,
bool include_match=
true)
const;
1125 ivec get_neighbours_with_distance(
float lat,
float lon,
float radius, vec& distances,
bool include_match=
true)
const;
1132 int get_num_neighbours(
float lat,
float lon,
float radius,
bool include_match=
true)
const;
1139 ivec get_closest_neighbours(
float lat,
float lon,
int num,
bool include_match=
true)
const;
1149 bool convert_coordinates(
const vec& lats,
const vec& lons, vec& x_coords, vec& y_coords, vec& z_coords)
const;
1158 bool convert_coordinates(
float lat,
float lon,
float& x_coord,
float& y_coord,
float& z_coord)
const;
1159 static float deg2rad(
float deg);
1160 static float rad2deg(
float deg);
1162 static float calc_distance(
float x0,
float y0,
float z0,
float x1,
float y1,
float z1);
1164 static float calc_distance_fast(
const Point& p1,
const Point& p2);
1165 vec get_lats()
const;
1166 vec get_lons()
const;
1170 typedef boost::geometry::model::point<float, 3, boost::geometry::cs::cartesian>
point;
1171 typedef std::pair<point, unsigned>
value;
1172 typedef boost::geometry::model::box<point>
box;
1173 boost::geometry::index::rtree< value, boost::geometry::index::quadratic<16> >
mTree;
1181 bool operator()(value
const& v)
const;
1190 bool operator()(value
const& v)
const;
1212 int get_nearest_neighbour(
float lat,
float lon,
bool include_match=
true)
const;
1213 ivec get_neighbours(
float lat,
float lon,
float radius,
bool include_match=
true)
const;
1214 ivec get_neighbours_with_distance(
float lat,
float lon,
float radius, vec& distances,
bool include_match=
true)
const;
1215 int get_num_neighbours(
float lat,
float lon,
float radius,
bool include_match=
true)
const;
1216 ivec get_closest_neighbours(
float lat,
float lon,
int num,
bool include_match=
true)
const;
1218 vec get_lats()
const;
1219 vec get_lons()
const;
1220 vec get_elevs()
const;
1221 vec get_lafs()
const;
1223 ivec get_in_domain_indices(
const Grid& grid)
const;
1224 Points get_in_domain(
const Grid& grid)
const;
1226 Point get_point(
int index)
const;
1227 Points subset(
const ivec& indices)
const;
1249 ivec get_nearest_neighbour(
float lat,
float lon,
bool include_match=
true)
const;
1250 ivec2 get_neighbours(
float lat,
float lon,
float radius,
bool include_match=
true)
const;
1251 ivec2 get_neighbours_with_distance(
float lat,
float lon,
float radius, vec& distances,
bool include_match=
true)
const;
1252 int get_num_neighbours(
float lat,
float lon,
float radius,
bool include_match=
true)
const;
1253 ivec2 get_closest_neighbours(
float lat,
float lon,
int num,
bool include_match=
true)
const;
1255 bool get_box(
float lat,
float lon,
int& Y1_out,
int& X1_out,
int& Y2_out,
int& X2_out)
const;
1258 Points to_points()
const;
1260 vec2 get_lats()
const;
1261 vec2 get_lons()
const;
1262 vec2 get_elevs()
const;
1263 vec2 get_lafs()
const;
1266 Point get_point(
int y_index,
int x_index)
const;
1270 vec2 get_2d(vec input)
const;
1271 ivec get_indices(
int index)
const;
1272 ivec2 get_indices(ivec indices)
const;
1289 virtual float corr(
const Point& p1,
const Point& p2)
const = 0;
1290 virtual float corr_background(
const Point& p1,
const Point& p2)
const;
1294 virtual float localization_distance(
const Point& p)
const;
1302 float barnes_rho(
float dist,
float length)
const;
1308 float cressman_rho(
float dist,
float length)
const;
1320 float corr(
const Point& p1,
const Point& p2)
const;
1322 float localization_distance(
const Point& p)
const;
1346 float corr(
const Point& p1,
const Point& p2)
const;
1348 float localization_distance(
const Point& p)
const;
1362 float corr(
const Point& p1,
const Point& p2)
const;
1377 float corr(
const Point& p1,
const Point& p2)
const;
1378 float corr_background(
const Point& p1,
const Point& p2)
const;
1380 float localization_distance(
const Point& p)
const;
1391 virtual float forward(
float value)
const;
1392 virtual float backward(
float value)
const;
1394 vec forward(
const vec& input)
const;
1395 vec backward(
const vec& input)
const;
1396 vec2 forward(
const vec2& input)
const;
1397 vec2 backward(
const vec2& input)
const;
1398 vec3 forward(
const vec3& input)
const;
1399 vec3 backward(
const vec3& input)
const;
1407 float forward(
float value)
const;
1408 float backward(
float value)
const;
1414 float forward(
float value)
const;
1415 float backward(
float value)
const;
1422 float forward(
float value)
const;
1423 float backward(
float value)
const;
1432 Gamma(
float shape,
float scale,
float tolerance=0.01);
1435 float forward(
float value)
const;
1436 float backward(
float value)
const;
1439 boost::math::gamma_distribution<> m_gamma_dist;
1440 boost::math::normal m_norm_dist;
ComparisonOperator
Types of comparison operators.
Definition: gridpp.h:129
Definition: gridpp.h:1278
float test_vec2_input(const vec2 &input)
Testing function for 2D input vector.
Definition: swig.cpp:25
vec2 nearest(const Grid &igrid, const Grid &ogrid, const vec2 &ivalues)
Nearest neighbour dowscaling grid to grid.
Definition: nearest.cpp:7
std::string version()
The gridpp version.
Definition: gridpp.cpp:8
vec2 calc_gradient(const vec2 &base, const vec2 &values, GradientType gradient_type, int halfwidth, int min_num=2, float min_range=gridpp::MV, float default_gradient=0)
Computes gradients based on values in neighbourhood.
Definition: calc_gradient.cpp:6
Definition: gridpp.h:1178
Bias.
Definition: gridpp.h:99
vec2 neighbourhood_quantile_ens_fast(const vec3 &input, float quantile, int radius, const vec &thresholds)
Deprecated: Compute neighbourhood quantiles fast on ensemble field.
Definition: neighbourhood.cpp:549
float m_localization_distance
Definition: gridpp.h:1309
float laf
Definition: gridpp.h:1094
Greater or equal than, >=.
Definition: gridpp.h:133
vec2 optimal_interpolation(const Grid &bgrid, const vec2 &background, const Points &points, const vec &pobs, const vec &pratios, const vec &pbackground, const StructureFunction &structure, int max_points, bool allow_extrapolation=true)
Optimal interpolation for a deterministic gridded field.
Definition: oi.cpp:26
static const float MV_CML
Missing value indicator in gridpp command-line tool.
Definition: gridpp.h:43
Helper class for Grid and Points.
Definition: gridpp.h:1099
void test_not_implemented_exception()
Definition: swig.cpp:98
vec2 bilinear(const Grid &igrid, const Grid &ogrid, const vec2 &ivalues)
Bilinear downscaling grid to grid.
Definition: bilinear.cpp:27
static const float standard_surface_temperature
Temperature at surface in standard atmosphere [K].
Definition: gridpp.h:51
Minimum of values.
Definition: gridpp.h:82
vec2 window(const vec2 &array, int length, gridpp::Statistic statistic, bool before=false, bool keep_missing=false, bool missing_edges=true)
Compute window statistics.
Definition: window.cpp:6
float dewpoint(float temperature, float relative_humidity)
Calculate dewpoint temperature from temperature and relative humidity.
Definition: humidity.cpp:5
Maximum of values.
Definition: gridpp.h:84
float wind_speed(float xwind, float ywind)
Diagnose wind speed from its components.
Definition: wind.cpp:6
Definition: gridpp.h:1401
CorrectionType
Method for statistical correction.
Definition: gridpp.h:104
std::vector< int > ivec
Definition: gridpp.h:27
ivec2 test_ivec2_output()
Definition: swig.cpp:69
ivec test_ivec_output()
Definition: swig.cpp:65
vec2 test_vec2_output()
Testing function for 2D output vector.
Definition: swig.cpp:49
Unknown statistic.
Definition: gridpp.h:90
Metric
Binary verification metrics.
Definition: gridpp.h:94
Simple structure function based on distance, elevation, and land area fraction.
Definition: gridpp.h:1329
GradientType
Types of methods to calculate the gradient.
Definition: gridpp.h:117
Definition: gridpp.h:1370
vec2 full_gradient(const Grid &igrid, const Grid &ogrid, const vec2 &ivalues, const vec2 &elev_gradient, const vec2 &laf_gradient=vec2(), Downscaler downscaler=Nearest)
Compute Downscale.
Definition: gradient.cpp:5
vec distance(const Grid &grid, const Points &points, int num=1)
For each point, calculates the distance to nearest gridpoint.
Definition: distance.cpp:6
double clock()
Definition: util.cpp:234
static const float gas_constant_mol
Universal Gas Constant [kg*m^2*s^-2/(K*mol)].
Definition: gridpp.h:57
vec2 downscale_probability(const Grid &igrid, const Grid &ogrid, const vec3 &ivalues, const vec2 &threshold, const ComparisonOperator &comparison_operator)
Nearest neighbour downscaling grid to grid and probability in one.
Definition: downscale_probability.cpp:7
Extrapolation
Methods for extrapolating outside a curve.
Definition: gridpp.h:71
float test_vec_argout(vec &distances)
Testing function for 1D vector treated as output.
Definition: swig.cpp:86
void set_debug_level(int level)
Set the verbosity of debug messages.
Definition: gridpp.cpp:67
CoordinateType type
Definition: gridpp.h:1095
not_implemented_exception()
Definition: gridpp.h:1281
static const float gas_constant_si
Universal Gas Constant [J/(kg*K)].
Definition: gridpp.h:59
Proportion correct.
Definition: gridpp.h:98
float sea_level_pressure(float ps, float altitude, float temperature, float rh=gridpp::MV, float dewpoint=gridpp::MV)
Convert Surface Pressure to Sea Level Pressure.
Definition: pressure.cpp:28
Population variance of values.
Definition: gridpp.h:87
Point(float lat, float lon, float elev=MV, float laf=MV, CoordinateType type=Geodetic)
Constructor.
Definition: point.cpp:5
vec2 smart(const Grid &igrid, const Grid &ogrid, const vec2 &ivalues, int num, const StructureFunction &structure)
Smart neighbour downscaling grid to grid.
Definition: smart.cpp:12
void set_omp_threads(int num)
Set the number of OpenMP threads to use.
Definition: gridpp.cpp:54
float relative_humidity(float temperature, float dewpoint)
Calculate relative humidity from temperature and dewpoint temperature.
Definition: humidity.cpp:33
ivec3 test_ivec3_output()
Definition: swig.cpp:76
vec2 local_distribution_correction(const Grid &bgrid, const vec2 &background, const Points &points, const vec &pobs, const vec &pbackground, const StructureFunction &structure, float min_quantile, float max_quantile, int min_points=0)
Correction of a gridded field ensuring the distribution of values nearby match that of observations...
Definition: local_distribution_correction.cpp:18
Statistic get_statistic(std::string name)
Convert name of a statistic enum.
Definition: gridpp.cpp:11
int get_lower_index(float iX, const vec &iValues)
Find the index in a vector that is equal or just below a value.
Definition: util.cpp:291
vec2 neighbourhood_quantile(const vec2 &input, float quantile, int halfwidth)
Computes a quantile in a sliding square neighbourhood.
Definition: neighbourhood.cpp:534
boost::geometry::model::point< float, 3, boost::geometry::cs::cartesian > point
Definition: gridpp.h:1170
Threat score.
Definition: gridpp.h:96
vec2 fill(const Grid &igrid, const vec2 &input, const Points &points, const vec &radii, float value, bool outside)
Fill in values inside or outside a set of circles (useful for masking)
Definition: fill.cpp:6
Represents a vector of locations and their metadata.
Definition: gridpp.h:1197
vec2 doping_circle(const Grid &igrid, const vec2 &background, const Points &points, const vec &observations, const vec &radii, float max_elev_diff=gridpp::MV)
Insert observations into gridded field using a circle.
Definition: doping.cpp:50
vec2 neighbourhood_quantile_fast(const vec2 &input, float quantile, int halfwidth, const vec &thresholds)
Fast and approximate neighbourhood quantile.
Definition: neighbourhood.cpp:296
std::pair< point, unsigned > value
Definition: gridpp.h:1171
std::vector< ivec2 > ivec3
Definition: gridpp.h:29
static const float molar_mass
Molar Mass of Dry Air [kg/mol].
Definition: gridpp.h:55
Keep values the way they were.
Definition: gridpp.h:76
Greater than, >
Definition: gridpp.h:132
Definition: gridpp.h:1187
vec2 neighbourhood_brute_force(const vec2 &input, int halfwidth, Statistic statistic)
Spatial neighbourhood filter without any shortcuts.
Definition: neighbourhood.cpp:528
ivec3 init_ivec3(int Y, int X, int E, int value)
Initialize a vector of size Y, X, E, with a given value.
Definition: util.cpp:436
std::vector< vec > vec2
Definition: gridpp.h:25
Latitude and longitude.
Definition: gridpp.h:112
Represents a 2D grid of locations and their metadata.
Definition: gridpp.h:1237
static int _debug_level
Definition: gridpp.h:913
Simple structure function based on distance, elevation, and land area fraction.
Definition: gridpp.h:1359
vec2 neighbourhood(const vec2 &input, int halfwidth, Statistic statistic)
Spatial neighbourhood filter, computing a statistic for a sliding square window.
Definition: neighbourhood.cpp:28
Covariance structure function.
Definition: gridpp.h:1285
int get_upper_index(float iX, const vec &iValues)
Find the index in a vector that is equal or just above a value.
Definition: util.cpp:310
Heidke skill score.
Definition: gridpp.h:100
Continue past the end-points using the mean slope of the curve.
Definition: gridpp.h:73
void debug(std::string string)
Definition: util.cpp:205
void initialize_omp()
Sets the number of OpenMP threads to 1 if OMP_NUM_THREADS undefined.
Definition: gridpp.cpp:42
float get_optimal_threshold(const vec &ref, const vec &fcst, float threshold, Metric metric)
Definition: metric_optimizer.cpp:131
static const float swig_default_value
Default value used to fill array in SWIG testing functions.
Definition: gridpp.h:1076
vec count(const Grid &grid, const Points &points, float radius)
For each point, counts the number of gridpoints within the radius.
Definition: count.cpp:6
Lower than, <.
Definition: gridpp.h:130
Continue past the end-points using the slope of the two lowermost or uppermost points in the curve...
Definition: gridpp.h:74
vec2 optimal_interpolation_full(const Grid &bgrid, const vec2 &background, const vec2 &bvariance, const Points &points, const vec &obs, const vec &obs_variance, const vec &background_at_points, const vec &bvariance_at_points, const StructureFunction &structure, int max_points, vec2 &analysis_variance, bool allow_extrapolation=true)
Optimal interpolation for a deterministic gridded field including analysis variance.
Definition: oi.cpp:326
boost::geometry::model::box< point > box
Definition: gridpp.h:1172
float test_vec2_argout(vec2 &distances)
Testing function for 2D vector treated as output.
Definition: swig.cpp:91
vec2 gridding_nearest(const Grid &grid, const Points &points, const vec &values, int min_num, gridpp::Statistic statistic)
Assign each point to nearest neighbour in grid and aggregate values.
Definition: gridding.cpp:31
float test_vec_input(const vec &input)
Testing function for 1D input vector.
Definition: swig.cpp:12
CoordinateType
Types of coordinates for position of points.
Definition: gridpp.h:111
vec test_vec_output()
Testing function for 1D output vector.
Definition: swig.cpp:45
vec quantile_mapping_curve(const vec &ref, const vec &fcst, vec &output_fcst, vec quantiles=vec())
Create quantile mapping calibration curve.
Definition: quantile_mapping.cpp:5
vec3 init_vec3(int Y, int X, int E, float value=MV)
Definition: util.cpp:427
vec mLats
Definition: gridpp.h:1174
Definition: gridpp.h:1311
bool point_in_rectangle(const Point &A, const Point &B, const Point &C, const Point &D, const Point &m)
Checks if a point is located inside a rectangle formed by 4 points.
Definition: util.cpp:511
float wetbulb(float temperature, float pressure, float relative_humidity)
Calculate wetbulb temperature from temperature, pressure, and relative humidity.
Definition: humidity.cpp:91
vec2 mask_threshold_downscale_consensus(const Grid &igrid, const Grid &ogrid, const vec3 &ivalues_true, const vec3 &ivalues_false, const vec3 &theshold_values, const vec2 &threshold, const ComparisonOperator &comparison_operator, const Statistic &statistic)
Nearest neighbour downscaling grid to grid and threshold and consensus in one.
Definition: mask_threshold_downscale_consensus.cpp:7
std::vector< double > dvec
Definition: gridpp.h:32
int num_missing_values(const vec2 &iArray)
Definition: util.cpp:196
float lon
Definition: gridpp.h:1092
std::vector< dvec > dvec2
Definition: gridpp.h:33
vec2 gridding(const Grid &grid, const Points &points, const vec &values, float radius, int min_num, Statistic statistic)
Aggregate points onto a grid.
Definition: gridding.cpp:6
Mean of values.
Definition: gridpp.h:83
Statistic
Statistical operations to reduce a vector to a scalar.
Definition: gridpp.h:80
int test_ivec_input(const ivec &input)
Testing function for 1D input vector.
Definition: swig.cpp:18
vec mLons
Definition: gridpp.h:1175
bool is_valid(float value)
Definition: util.cpp:20
CoordinateType mType
Definition: gridpp.h:1176
vec2 init_vec2(int Y, int X, float value=MV)
Definition: util.cpp:415
vec calc_even_quantiles(const vec &values, int num)
Get reasonably spaced quantiles from a vector of values, ignoring duplicate values but including the ...
Definition: util.cpp:241
vec2 neighbourhood_ens(const vec3 &input, int halfwidth, Statistic statistic)
Deprecated: Compute neighbourhood statistic on ensemble field.
Definition: neighbourhood.cpp:541
A quantile from values.
Definition: gridpp.h:85
float elev
Definition: gridpp.h:1093
vec3 optimal_interpolation_ensi(const Grid &bgrid, const vec3 &background, const Points &points, const vec &pobs, const vec &psigmas, const vec2 &pbackground, const StructureFunction &structure, int max_points, bool allow_extrapolation=true)
Optimal interpolation using a structure function based on an ensemble See Lussana et al 2019 (DOI: 10...
Definition: oi_ensi.cpp:33
static const float pi
Mathematical constant pi.
Definition: gridpp.h:45
float apply_curve(float fcst, const vec &curve_ref, const vec &curve_fcst, Extrapolation policy_below, Extrapolation policy_above)
Apply arbitrary calibration curve to a single value.
Definition: curve.cpp:6
vec metric_optimizer_curve(const vec &ref, const vec &fcst, const vec &thresholds, Metric metric, vec &output_fcst)
Create calibration curve that optimizes a metric.
Definition: metric_optimizer.cpp:105
static const float default_min_rho
Definition: gridpp.h:1296
float calc_quantile(const vec &array, float quantile)
Definition: util.cpp:93
float interpolate(float x, const vec &iX, const vec &iY)
Piecewise linear interpolation If x is outside the range of iX, then the min/max value of iY is used...
Definition: util.cpp:329
Multiplicative.
Definition: gridpp.h:106
ivec2 init_ivec2(int Y, int X, int value)
Initialize a vector of size Y, X, with a given value.
Definition: util.cpp:421
float qnh(float pressure, float altitude)
Diagnose QNH from pressure and altitude.
Definition: qnh.cpp:6
Standard deviation of values.
Definition: gridpp.h:86
static const float MV
Missing value indicator.
Definition: gridpp.h:41
Downscaler
Types of simple downscaling methods.
Definition: gridpp.h:123
vec get_neighbourhood_thresholds(const vec2 &input, int num_thresholds)
Calculate appropriate approximation thresholds for neighbourhood quantile.
Definition: neighbourhood.cpp:243
float pressure(float ielev, float oelev, float ipressure, float itemperature=288.15)
Calculate pressure at a new elevation.
Definition: pressure.cpp:5
float calc_score(float a, float b, float c, float d, Metric metric)
Definition: metric_optimizer.cpp:209
float wind_direction(float xwind, float ywind)
Diagnose wind direction from its components.
Definition: wind.cpp:20
X and Y.
Definition: gridpp.h:113
vec monotonize_curve(vec curve_ref, vec curve_fcst, vec &output_fcst)
Ensure calibration curve is monotonic, by removing points.
Definition: curve.cpp:126
vec gamma_inv(const vec &levels, const vec &shape, const vec &scale)
Definition: distribution.cpp:5
vec3 test_vec3_output()
Testing function for 3D output vector.
Definition: swig.cpp:55
float calc_statistic(const vec &array, Statistic statistic)
Definition: util.cpp:23
float test_vec3_input(const vec3 &input)
Testing function for 3D input vector.
Definition: swig.cpp:34
void future_deprecation_warning(std::string function, std::string other="")
Definition: util.cpp:226
boost::geometry::index::rtree< value, boost::geometry::index::quadratic< 16 > > mTree
Definition: gridpp.h:1173
vec2 neighbourhood_quantile_ens(const vec3 &input, float quantile, int halfwidth)
Deprecated: Compute neighbourhood quantiles on ensemble field.
Definition: neighbourhood.cpp:545
Represents a single point in some coordinate system.
Definition: gridpp.h:1081
Mean of values.
Definition: gridpp.h:81
void warning(std::string string)
Definition: util.cpp:209
int get_omp_threads()
Get the number of OpenMP threads currently set.
Definition: gridpp.cpp:60
Lower or equal than, <=.
Definition: gridpp.h:131
Additive.
Definition: gridpp.h:107
vec2 fill_missing(const vec2 &values)
Fill in missing values based on nearby values.
Definition: fill.cpp:43
static const float lapse_rate
Constant Lapse Rate moist air standard atmosphere [K/m].
Definition: gridpp.h:49
static const float gravit
Gravitational acceleration [m/s^2].
Definition: gridpp.h:53
float * test_array(float *v, int n)
Special function whose presense is needed for SWIG.
Definition: swig.cpp:6
vec2 neighbourhood_search(const vec2 &array, const vec2 &search_array, int halfwidth, float search_target_min, float search_target_max, float search_delta, const ivec2 &apply_array=ivec2())
Find suitable value in neighbourhood based on a search criteria.
Definition: neighbourhood_search.cpp:7
vec2 downscaling(const Grid &igrid, const Grid &ogrid, const vec2 &ivalues, Downscaler downscaler)
Generic downscaler for simple methods that don't use information other than the grids.
Definition: downscaling.cpp:21
Continue past the end-points using a slope of 0.
Definition: gridpp.h:75
Continue past the end-points using a slope of 1.
Definition: gridpp.h:72
std::vector< float > vec
Definition: gridpp.h:24
int get_debug_level()
Get the currently set level of debug messages.
Definition: gridpp.cpp:71
bool compatible_size(const Grid &grid, const vec2 &v)
Check if the grid is the same size as the 2D vector.
Definition: util.cpp:367
vec3 full_gradient_debug(const Grid &igrid, const Grid &ogrid, const vec2 &ivalues, const vec2 &elev_gradient, const vec2 &laf_gradient=vec2(), Downscaler downscaler=Nearest)
Definition: gradient.cpp:276
vec2 doping_square(const Grid &igrid, const vec2 &background, const Points &points, const vec &observations, const ivec &halfwidths, float max_elev_diff=gridpp::MV)
Insert observations into gridded field using a square box.
Definition: doping.cpp:5
Hannsen-Kuiper skill score.
Definition: gridpp.h:97
Count of values.
Definition: gridpp.h:89
float lat
Definition: gridpp.h:1091
Equitable threat score.
Definition: gridpp.h:95
Sum of values.
Definition: gridpp.h:88
static const double radius_earth
Radius of the earth [m].
Definition: gridpp.h:47
Definition: gridpp.h:1410
vec2 simple_gradient(const Grid &igrid, const Grid &ogrid, const vec2 &ivalues, float elev_gradient, Downscaler downscaler=Nearest)
Definition: simple_gradient.cpp:23
Definition: gridpp.h:1417
Definition: gridpp.h:1427
void error(std::string string)
Definition: util.cpp:213
Quantile mapping.
Definition: gridpp.h:105
KDTree(CoordinateType type=Geodetic)
Definition: gridpp.h:1104
std::vector< ivec > ivec2
Definition: gridpp.h:28
std::vector< vec2 > vec3
Definition: gridpp.h:26