LRAUV  revA
HFRadarModelCalc.h
Go to the documentation of this file.
1 
12 #ifndef HFRADARMODELCALC_H_
13 #define HFRADARMODELCALC_H_
14 
16 #include "data/Mtx.h"
17 
19 
22 
34 {
35 public:
36  HFRadarModelCalc( const Module* module );
37  virtual ~HFRadarModelCalc();
38 
40  void initialize( void );
41 
43  void run();
44 
47  {
48  return Instance_;
49  }
50 
52  bool lookup( float& u, float& v, const double dt, const float latDeg, const float lonDeg );
53 
55  {
57  }
58 
60  const double* getTime( int& timeSize )
61  {
62  timeSize = pHours_ + 1;
63  return time_;
64  }
65 
68  {
69  return pHours_ + 1;
70  }
71 
73  float* getLat( int& latSize )
74  {
75  latSize = gridY_.getM();
76  return lat_;
77  }
78 
80  float* getLon( int& lonSize )
81  {
82  lonSize = gridX_.getN();
83  return lon_;
84  }
85 
86  // returns the u_[time][lat][lon] member, units are m/s.
87  float*** getU()
88  {
89  return u_;
90  }
91 
92  // returns the v_[time][lat][lon] member, units are m/s.
93  float*** getV()
94  {
95  return v_;
96  }
97 
98  // returns the maxCurrent_ member, units are m/s.
99  const float& getMaxCurrent()
100  {
101  return maxCurrent_;
102  }
103 
104 
105 protected:
106 
107  Mtx glm2fwd( const Mtx& netImpMean, const Mtx& netTpca, const Mtx& netW1,
108  const Mtx& netB1, const Mtx& buf );
109 
111 
113 
114  const bool debug_;
115  const Mtx eofs_;
116  const Mtx ensMean_;
118  const Mtx gridX_;
119  const Mtx gridY_;
120  const Mtx netB1_;
121  const Mtx ulags_;
123  const Mtx xlags_;
124  const Mtx netTpca_;
125  const Mtx netW1_;
127  int dHours_; // # hours or real data
128  int pHours_; // # hours to plan ahead
132  double* time_;
133  double forecastEpochSeconds_[ HFRadarModelCalcIF::TOTAL_HOURS ];
135  float* lat_;
136  float* lon_;
137  float*** u_;
138  float*** v_;
139  float maxCurrent_;
140  bool ranOnce_;
143 
147 
150 
153 
155 
157 
158 private:
159  // Note that the copy constructor below is private and not given a body.
160  // Any attempt to call it will return a compiler error.
161  HFRadarModelCalc( const HFRadarModelCalc& old ); // disallow copy constructor
162 
163 };
164 
165 #endif /* HFRADARMODELCALC_H_ */
const bool debug_
Definition: HFRadarModelCalc.h:114
const Mtx gridIdxRev_
Definition: HFRadarModelCalc.h:117
const Mtx stateInfoStdAll_
Definition: HFRadarModelCalc.h:126
int getTimeSize()
returns the size of the time_ member
Definition: HFRadarModelCalc.h:67
float * getLon(int &lonSize)
returns the lon_ member, units are radian.
Definition: HFRadarModelCalc.h:80
Contains the SyncComponent class definition.
float * getLat(int &latSize)
returns the lat_ member, units are radian.
Definition: HFRadarModelCalc.h:73
BlobWriter * forecastExpansionCoefficientsWriter_
Definition: HFRadarModelCalc.h:148
const Mtx netImpMean_
Definition: HFRadarModelCalc.h:122
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: UniversalDataReader.h:26
float * lon_
Definition: HFRadarModelCalc.h:136
void initialize(void)
Initialize function.
Definition: HFRadarModelCalc.cpp:124
UniversalDataReader * platformRommuniucationsReader_
Definition: HFRadarModelCalc.h:146
Timestamp calculationCompleteTime_
Definition: HFRadarModelCalc.h:141
const Mtx xlags_
Definition: HFRadarModelCalc.h:123
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: UniversalDataWriter.h:24
Specifies the interface details for the HFRadarModelCalc component in the EstimationModule.
double * time_
Definition: HFRadarModelCalc.h:132
Mtx glm2fwd(const Mtx &netImpMean, const Mtx &netTpca, const Mtx &netW1, const Mtx &netB1, const Mtx &buf)
Definition: HFRadarModelCalc.cpp:339
float *** getU()
Definition: HFRadarModelCalc.h:87
int getM() const
Definition: Mtx.h:42
const Mtx gridY_
Definition: HFRadarModelCalc.h:119
int pHours_
Definition: HFRadarModelCalc.h:128
Definition: Mtx.h:24
bool ranOnce_
Definition: HFRadarModelCalc.h:140
Definition: BlobWriter.h:227
Mtx st_
Definition: HFRadarModelCalc.h:131
float * lat_
Definition: HFRadarModelCalc.h:135
double forecastEpochSeconds_[HFRadarModelCalcIF::TOTAL_HOURS]
Definition: HFRadarModelCalc.h:133
const Mtx ensMean_
Definition: HFRadarModelCalc.h:116
Over simplified HFRadarModelCalc component.
Definition: HFRadarModelCalc.h:33
UniversalDataReader * latitudeReader_
Definition: HFRadarModelCalc.h:144
const Mtx ulags_
Definition: HFRadarModelCalc.h:121
Module is the abstract base class for a collection of Component objects that can be contained in a lo...
Definition: Module.h:45
int dHours_
Definition: HFRadarModelCalc.h:127
Mtx gridIdx_
Definition: HFRadarModelCalc.h:129
UniversalDataWriter * vWriter_
Definition: HFRadarModelCalc.h:152
const Mtx netTpca_
Definition: HFRadarModelCalc.h:124
virtual ~HFRadarModelCalc()
Definition: HFRadarModelCalc.cpp:105
UniversalDataWriter * uWriter_
Definition: HFRadarModelCalc.h:151
Timestamp forecastStartTime_
Definition: HFRadarModelCalc.h:134
Definition: ConfigReader.h:13
ConfigReader * velocityAccuracyConfigReader_
Definition: HFRadarModelCalc.h:154
const Mtx gridX_
Definition: HFRadarModelCalc.h:118
Timestamp getCalculationCompleteTime()
Definition: HFRadarModelCalc.h:54
float *** getV()
Definition: HFRadarModelCalc.h:93
void run()
The actual "payload" of the component.
Definition: HFRadarModelCalc.cpp:129
float maxCurrent_
Definition: HFRadarModelCalc.h:139
static HFRadarModelCalc * Instance()
Return the singleton.
Definition: HFRadarModelCalc.h:46
bool lookup(float &u, float &v, const double dt, const float latDeg, const float lonDeg)
interpolate u & v at time dt seconds in the future from now,
Definition: HFRadarModelCalc.cpp:350
BlobWriter * forecastTimesWriter_
Definition: HFRadarModelCalc.h:149
HFRadarModelCalc(const Module *module)
Definition: HFRadarModelCalc.cpp:27
const Mtx netB1_
Definition: HFRadarModelCalc.h:120
void publishSurfaceCurrentAtVehicleLocation(void)
Definition: HFRadarModelCalc.cpp:310
float velocityAccuracy_
Definition: HFRadarModelCalc.h:142
Mtx data_
Definition: HFRadarModelCalc.h:130
virtual int getN() const
Definition: Mtx.h:47
static HFRadarModelCalc * Instance_
Definition: HFRadarModelCalc.h:156
const Mtx netW1_
Definition: HFRadarModelCalc.h:125
float *** u_
Definition: HFRadarModelCalc.h:137
const double * getTime(int &timeSize)
returns the time_ member, units are epoch seconds.
Definition: HFRadarModelCalc.h:60
const float & getMaxCurrent()
Definition: HFRadarModelCalc.h:99
*uLong * dt
Definition: ZipEncoder.cpp:36
float *** v_
Definition: HFRadarModelCalc.h:138
UniversalDataReader * longitudeReader_
Definition: HFRadarModelCalc.h:145
Abstract Base class for components that generate other estimates.
Definition: SyncComponent.h:206
void writeExpansionCoefficientsToSlate(void)
Definition: HFRadarModelCalc.cpp:477
Represents absolute times.
Definition: Timestamp.h:31
const Mtx eofs_
Definition: HFRadarModelCalc.h:115