LRAUV  revA
HFRCMSpaceInterpolator.h
Go to the documentation of this file.
1 
14 #ifndef HFRCMSPACEINTERPOLATOR_H_
15 #define HFRCMSPACEINTERPOLATOR_H_
16 
18 #include "data/Mtx.h"
19 #include "HFRadarCompactModelForecaster.h" // for MAX_EOFS, etc.
20 
22 
35 {
36 public:
37  HFRCMSpaceInterpolator( const Module* module );
38  virtual ~HFRCMSpaceInterpolator();
39 
41  void initialize( void );
42 
44  void run();
45 
48  {
49  return Instance_;
50  }
51 
53  bool lookupEmpiricalOrthogonalFunctions( Mtx& eastEOFs, Mtx& northEOFs, float& eastEM, float& northEM, float& eastSF, float& northSF, const float latDeg, const float lonDeg ); // TODO: Is there a reason that I should not make this a static function so that user components to not need to store the pointer to the singleton in order to call the function?
55 
56 protected:
58  const Mtx eofs_;
59  const Mtx ensMean_;
61  const Mtx gridLon_;
62  const Mtx gridLat_;
66 
67  // readers & writers
71 
72  bool getLowerLeftCorner( int &latitude_index, int &longitude_index, const float latitude_degrees, const float longitude_degrees );
73 
74  float interpolateRaveledTwoDimensionalGrid( const Mtx z, const float latitude_degrees, const float longitude_degrees, const int latitude_index, const int longitude_index, const int starting_offset = 0, const int layer = 0 );
75 
77 
78 private:
79  // Note that the copy constructor below is private and not given a body.
80  // Any attempt to call it will return a compiler error.
81  HFRCMSpaceInterpolator( const HFRCMSpaceInterpolator& old ); // disallow copy constructor
82 
83 };
84 
85 #endif /* HFRCMSPACEINTERPOLATOR_H_ */
Contains the HFRadarCompactModelForecaster class declaration.
Contains the SyncComponent class definition.
const Mtx eofs_
Definition: HFRCMSpaceInterpolator.h:58
static HFRCMSpaceInterpolator * Instance()
Return the singleton.
Definition: HFRCMSpaceInterpolator.h:47
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: UniversalDataReader.h:26
const Mtx gridIdxRev_
Definition: HFRCMSpaceInterpolator.h:60
float interpolateRaveledTwoDimensionalGrid(const Mtx z, const float latitude_degrees, const float longitude_degrees, const int latitude_index, const int longitude_index, const int starting_offset=0, const int layer=0)
Definition: HFRCMSpaceInterpolator.cpp:161
virtual ~HFRCMSpaceInterpolator()
Definition: HFRCMSpaceInterpolator.cpp:38
Definition: Mtx.h:24
const Mtx gridLon_
Definition: HFRCMSpaceInterpolator.h:61
ConfigReader * verbosityLevelConfigReader_
Definition: HFRCMSpaceInterpolator.h:70
Mtx gridIdx_
Definition: HFRCMSpaceInterpolator.h:64
const int numLocations_
Definition: HFRCMSpaceInterpolator.h:65
Specifies the interface details for the HFRCMSpaceInterpolator component in the EstimationModule.
Definition: HFRCMSpaceInterpolator.h:34
Module is the abstract base class for a collection of Component objects that can be contained in a lo...
Definition: Module.h:45
const Mtx gridLat_
Definition: HFRCMSpaceInterpolator.h:62
bool lookupEmpiricalOrthogonalFunctions(Mtx &eastEOFs, Mtx &northEOFs, float &eastEM, float &northEM, float &eastSF, float &northSF, const float latDeg, const float lonDeg)
interpolate EOFs at specified location
Definition: HFRCMSpaceInterpolator.cpp:67
bool getLowerLeftCorner(int &latitude_index, int &longitude_index, const float latitude_degrees, const float longitude_degrees)
Definition: HFRCMSpaceInterpolator.cpp:117
Definition: ConfigReader.h:13
const Mtx ensMean_
Definition: HFRCMSpaceInterpolator.h:59
int verbosity_
TODO: should these public methods be defined in the IF header?
Definition: HFRCMSpaceInterpolator.h:57
static HFRCMSpaceInterpolator * Instance_
Definition: HFRCMSpaceInterpolator.h:76
void initialize(void)
Initialize function.
Definition: HFRCMSpaceInterpolator.cpp:41
UniversalDataReader * longitudeReader_
Definition: HFRCMSpaceInterpolator.h:69
const int numModes_
Definition: HFRCMSpaceInterpolator.h:65
void run()
The actual "payload" of the component.
Definition: HFRCMSpaceInterpolator.cpp:62
Abstract Base class for components that generate other estimates.
Definition: SyncComponent.h:206
UniversalDataReader * latitudeReader_
Definition: HFRCMSpaceInterpolator.h:68
HFRCMSpaceInterpolator(const Module *module)
Definition: HFRCMSpaceInterpolator.cpp:19
const Mtx scalingFactors_
Definition: HFRCMSpaceInterpolator.h:63