Ice Sheet System Model  4.18
Code documentation
Observations.h
Go to the documentation of this file.
1 #ifndef _CONTAINER_OBSERVATIONS_H_
2 #define _CONTAINER_OBSERVATIONS_H_
3 
4 class Quadtree;
5 class Covertree;
6 class Variogram;
7 class Options;
8 #include "../../datastructures/datastructures.h"
9 #include "../../shared/shared.h"
10 
16 class Observations: public DataSet{
17 
18  private:
19  int treetype;
22 
23  public:
24 
25  /*constructors, destructors*/
26  Observations();
27  Observations(IssmDouble* observations_list,IssmDouble* x,IssmDouble* y,int n,Options* options);
28  ~Observations();
29 
30  /*Initialize data structures*/
31  void InitCovertree(IssmDouble* observations_list,IssmDouble* x,IssmDouble* y,int n,Options* options);
32  void InitQuadtree(IssmDouble* observations_list,IssmDouble* x,IssmDouble* y,int n,Options* options);
33 
34  /*Methods*/
35  void ClosestObservation(IssmDouble *px,IssmDouble *py,IssmDouble *pobs,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius);
36  void ClosestObservationCovertree(IssmDouble *px,IssmDouble *py,IssmDouble *pobs,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius);
37  void ClosestObservationQuadtree(IssmDouble *px,IssmDouble *py,IssmDouble *pobs,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius);
38  void Distances(IssmPDouble* distances,IssmPDouble *x,IssmPDouble *y,int n,IssmPDouble radius);
39  void InterpolationIDW(IssmDouble *pprediction,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius,int mindata,int maxdata,IssmDouble power);
40  void InterpolationV4(IssmDouble *pprediction,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius,int mindata,int maxdata);
41  void InterpolationKriging(IssmDouble *pprediction,IssmDouble *perror,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius,int mindata,int maxdata,Variogram* variogram);
42  void InterpolationNearestNeighbor(IssmDouble *pprediction,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius);
43  void ObservationList(IssmDouble **px,IssmDouble **py,IssmDouble **pobs,int* pnobs);
44  void ObservationList(IssmDouble **px,IssmDouble **py,IssmDouble **pobs,int* pnobs,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius,int maxdata);
45  void ObservationListCovertree(IssmDouble **px,IssmDouble **py,IssmDouble **pobs,int* pnobs,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius,int maxdata);
46  void ObservationListQuadtree(IssmDouble **px,IssmDouble **py,IssmDouble **pobs,int* pnobs,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius,int maxdata);
47  void QuadtreeColoring(IssmDouble* A,IssmDouble *x,IssmDouble *y,int n);
48  void Variomap(IssmDouble* gamma,IssmDouble *x,int n);
49 
50 };
51 #endif //ifndef _OBSERVATIONS_H_
Observations::Distances
void Distances(IssmPDouble *distances, IssmPDouble *x, IssmPDouble *y, int n, IssmPDouble radius)
Definition: Observations.cpp:302
Options
Definition: Options.h:9
IssmDouble
double IssmDouble
Definition: types.h:37
Observations::covertree
Covertree * covertree
Definition: Observations.h:21
Covertree
Definition: Covertree.h:8
Observations::treetype
int treetype
Definition: Observations.h:19
Observations::InterpolationIDW
void InterpolationIDW(IssmDouble *pprediction, IssmDouble x_interp, IssmDouble y_interp, IssmDouble radius, int mindata, int maxdata, IssmDouble power)
Definition: Observations.cpp:481
Observations::ClosestObservation
void ClosestObservation(IssmDouble *px, IssmDouble *py, IssmDouble *pobs, IssmDouble x_interp, IssmDouble y_interp, IssmDouble radius)
Definition: Observations.cpp:212
Observations::ClosestObservationQuadtree
void ClosestObservationQuadtree(IssmDouble *px, IssmDouble *py, IssmDouble *pobs, IssmDouble x_interp, IssmDouble y_interp, IssmDouble radius)
Definition: Observations.cpp:248
Observations::QuadtreeColoring
void QuadtreeColoring(IssmDouble *A, IssmDouble *x, IssmDouble *y, int n)
Definition: Observations.cpp:692
Observations::ObservationListCovertree
void ObservationListCovertree(IssmDouble **px, IssmDouble **py, IssmDouble **pobs, int *pnobs, IssmDouble x_interp, IssmDouble y_interp, IssmDouble radius, int maxdata)
Definition: Observations.cpp:356
Observations::InitCovertree
void InitCovertree(IssmDouble *observations_list, IssmDouble *x, IssmDouble *y, int n, Options *options)
Definition: Observations.cpp:79
Observations::Observations
Observations()
Definition: Observations.cpp:33
Observations::Variomap
void Variomap(IssmDouble *gamma, IssmDouble *x, int n)
Definition: Observations.cpp:704
Observations::quadtree
Quadtree * quadtree
Definition: Observations.h:20
Observations::ClosestObservationCovertree
void ClosestObservationCovertree(IssmDouble *px, IssmDouble *py, IssmDouble *pobs, IssmDouble x_interp, IssmDouble y_interp, IssmDouble radius)
Definition: Observations.cpp:226
Observations::InitQuadtree
void InitQuadtree(IssmDouble *observations_list, IssmDouble *x, IssmDouble *y, int n, Options *options)
Definition: Observations.cpp:135
Observations::~Observations
~Observations()
Definition: Observations.cpp:63
Observations::ObservationList
void ObservationList(IssmDouble **px, IssmDouble **py, IssmDouble **pobs, int *pnobs)
Definition: Observations.cpp:316
Observations::InterpolationKriging
void InterpolationKriging(IssmDouble *pprediction, IssmDouble *perror, IssmDouble x_interp, IssmDouble y_interp, IssmDouble radius, int mindata, int maxdata, Variogram *variogram)
Definition: Observations.cpp:526
Variogram
Definition: Variogram.h:10
Quadtree
Definition: Quadtree.h:7
Observations::InterpolationNearestNeighbor
void InterpolationNearestNeighbor(IssmDouble *pprediction, IssmDouble x_interp, IssmDouble y_interp, IssmDouble radius)
Definition: Observations.cpp:599
Observations::InterpolationV4
void InterpolationV4(IssmDouble *pprediction, IssmDouble x_interp, IssmDouble y_interp, IssmDouble radius, int mindata, int maxdata)
Definition: Observations.cpp:610
IssmPDouble
IssmDouble IssmPDouble
Definition: types.h:38
Observations
Declaration of Observations class.
Definition: Observations.h:16
DataSet
Declaration of DataSet class.
Definition: DataSet.h:14
Observations::ObservationListQuadtree
void ObservationListQuadtree(IssmDouble **px, IssmDouble **py, IssmDouble **pobs, int *pnobs, IssmDouble x_interp, IssmDouble y_interp, IssmDouble radius, int maxdata)
Definition: Observations.cpp:399