LRAUV  revA
HFRCMReconstructedInterpolator.h
Go to the documentation of this file.
1 
14 #ifndef HFRCMRECONSTRUCTEDINTERPOLATOR_H_
15 #define HFRCMRECONSTRUCTEDINTERPOLATOR_H_
16 
18 #include "data/Mtx.h"
19 #include "HFRadarCompactModelForecasterIF.h" // for MAX_EOFS, etc.
20 
22 class BlobReader;
23 class ConfigReader;
24 
37 {
38 public:
39  HFRCMReconstructedInterpolator( const Module* module );
41 
43  void initialize( void );
44 
46  void run();
47 
50  {
51  return Instance_;
52  }
53 
55  bool lookupSurfaceCurrent( float& eastVelocity, float& northVelocity, const double epoch, const float latDeg, const float lonDeg );
56 
57 protected:
58  const bool debug_;
60  const Mtx eofs_;
61  const Mtx ensMean_;
63  const Mtx gridLon_;
64  const Mtx gridLat_;
68  int numModes_;
69  int numTimes_;
70  double forecastEpochSeconds_[ HFRadarCompactModelForecasterIF::TOTAL_HOURS ];
79 
80  // readers & writers
87  // Configuration readers
90 
91  void updateExpansionCoefficients( void );
92 
93  void reproject( void );
94 
97 
98  bool getPreviousTimeIndex( int &time_index, double es );
99 
100  bool getLowerLeftCorner( int &latitude_index, int &longitude_index, const float latitude_degrees, const float longitude_degrees );
101 
102  float interpolateRaveledThreeDimensionalGrid( const Mtx z, const float epoch, const float latitude_degrees, const float longitude_degrees, const int time_index, const int latitude_index, const int longitude_index, const int starting_offset = 0 );
103 
105 
106 private:
107  // Note that the copy constructor below is private and not given a body.
108  // Any attempt to call it will return a compiler error.
109  HFRCMReconstructedInterpolator( const HFRCMReconstructedInterpolator& old ); // disallow copy constructor
110 
111 };
112 
113 #endif /* HFRCMRECONSTRUCTEDINTERPOLATOR_H_ */
bool haveValidForecast_
Definition: HFRCMReconstructedInterpolator.h:78
void initialize(void)
Initialize function.
Definition: HFRCMReconstructedInterpolator.cpp:61
Contains the SyncComponent class definition.
const Mtx gridIdxRev_
Definition: HFRCMReconstructedInterpolator.h:62
Mtx gridIdx_
Definition: HFRCMReconstructedInterpolator.h:66
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: UniversalDataReader.h:26
float velocityAccuracy_
Definition: HFRCMReconstructedInterpolator.h:77
BlobReader * forecastTimesReader_
Definition: HFRCMReconstructedInterpolator.h:84
double forecastEpochSeconds_[HFRadarCompactModelForecasterIF::TOTAL_HOURS]
Definition: HFRCMReconstructedInterpolator.h:70
const Mtx ensMean_
Definition: HFRCMReconstructedInterpolator.h:61
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: UniversalDataWriter.h:24
static HFRCMReconstructedInterpolator * Instance()
Return the singleton.
Definition: HFRCMReconstructedInterpolator.h:49
Timestamp forecastEnd_
Definition: HFRCMReconstructedInterpolator.h:72
Timestamp forecastStart_
Definition: HFRCMReconstructedInterpolator.h:71
Definition: BlobReader.h:212
void updateExpansionCoefficients(void)
Definition: HFRCMReconstructedInterpolator.cpp:191
BlobReader * expansionCoefficientsReader_
Definition: HFRCMReconstructedInterpolator.h:83
UniversalDataWriter * northVelocityWriter_
Definition: HFRCMReconstructedInterpolator.h:86
float eastVelocity_
Definition: HFRCMReconstructedInterpolator.h:75
UniversalDataWriter * eastVelocityWriter_
Definition: HFRCMReconstructedInterpolator.h:85
int numTimes_
Definition: HFRCMReconstructedInterpolator.h:69
Specifies the interface details for the HFRadarCompactModelForecaster component in the EstimationModu...
int numModes_
Definition: HFRCMReconstructedInterpolator.h:68
const Mtx eofs_
Definition: HFRCMReconstructedInterpolator.h:60
Definition: Mtx.h:24
ConfigReader * verbosityLevelConfigReader_
Definition: HFRCMReconstructedInterpolator.h:88
bool getPreviousTimeIndex(int &time_index, double es)
Definition: HFRCMReconstructedInterpolator.cpp:223
float northVelocity_
Definition: HFRCMReconstructedInterpolator.h:76
const bool debug_
Definition: HFRCMReconstructedInterpolator.h:58
HFRCMReconstructedInterpolator(const Module *module)
Definition: HFRCMReconstructedInterpolator.cpp:25
void publishSurfaceCurrentAtVehicleLocation(void)
publish the surface current at the present location of the vehicle
Definition: HFRCMReconstructedInterpolator.cpp:108
Mtx expansionCoefficients_
Definition: HFRCMReconstructedInterpolator.h:73
int numLocations_
Definition: HFRCMReconstructedInterpolator.h:67
const Mtx scalingFactors_
Definition: HFRCMReconstructedInterpolator.h:65
Module is the abstract base class for a collection of Component objects that can be contained in a lo...
Definition: Module.h:45
void run()
The actual "payload" of the component.
Definition: HFRCMReconstructedInterpolator.cpp:87
bool lookupSurfaceCurrent(float &eastVelocity, float &northVelocity, const double epoch, const float latDeg, const float lonDeg)
look up the surface current at a specified location and time
Definition: HFRCMReconstructedInterpolator.cpp:139
virtual ~HFRCMReconstructedInterpolator()
Definition: HFRCMReconstructedInterpolator.cpp:58
Definition: ConfigReader.h:13
Specifies the interface details for the HFRCMReconstructedInterpolator component in the EstimationMod...
Definition: HFRCMReconstructedInterpolator.h:36
UniversalDataReader * longitudeReader_
Definition: HFRCMReconstructedInterpolator.h:82
float interpolateRaveledThreeDimensionalGrid(const Mtx z, const float epoch, const float latitude_degrees, const float longitude_degrees, const int time_index, const int latitude_index, const int longitude_index, const int starting_offset=0)
Definition: HFRCMReconstructedInterpolator.cpp:159
const Mtx gridLon_
Definition: HFRCMReconstructedInterpolator.h:63
const Mtx gridLat_
Definition: HFRCMReconstructedInterpolator.h:64
ConfigReader * velocityAccuracyConfigReader_
Definition: HFRCMReconstructedInterpolator.h:89
int verbosity_
Definition: HFRCMReconstructedInterpolator.h:59
UniversalDataReader * latitudeReader_
Definition: HFRCMReconstructedInterpolator.h:81
static HFRCMReconstructedInterpolator * Instance_
Definition: HFRCMReconstructedInterpolator.h:104
Abstract Base class for components that generate other estimates.
Definition: SyncComponent.h:206
Represents absolute times.
Definition: Timestamp.h:31
bool getLowerLeftCorner(int &latitude_index, int &longitude_index, const float latitude_degrees, const float longitude_degrees)
Definition: HFRCMReconstructedInterpolator.cpp:260
Mtx currentField_
Definition: HFRCMReconstructedInterpolator.h:74
void reproject(void)
Definition: HFRCMReconstructedInterpolator.cpp:210