LRAUV  revA
HFRCMVirtualSurfaceDrifter.h
Go to the documentation of this file.
1 
14 #ifndef HFRCMVIRTUALSURFACEDRIFTER_H_
15 #define HFRCMVIRTUALSURFACEDRIFTER_H_
16 
17 #include "data/Mtx.h"
18 
19 #include "HFRadarCompactModelForecaster.h" // for TOTAL_HOURS, etc.
20 
21 class BlobReader;
22 class ConfigReader;
23 
36 {
37 public:
38  HFRCMVirtualSurfaceDrifter( const Module* module );
40 
42  void initialize( void );
43 
45  static bool Reinitialize( double latitude0rad, double longitude0rad );
46 
48  void run();
49 
50 protected:
52  // space components
59  // time components
62  // results
64  // readers & writers
71  // Configuration readers
73 
76 
78  bool setLocation( double latitude0rad, double longitude0rad );
79 
81  bool lookupExpansionCoefficients( void );
82 
85 
87  void reproject( void );
88 
90  void advect( void );
91 
93  void writeData( void );
94 
95 private:
96  // Note that the copy constructor below is private and not given a body.
97  // Any attempt to call it will return a compiler error.
98  HFRCMVirtualSurfaceDrifter( const HFRCMVirtualSurfaceDrifter& old ); // disallow copy constructor
99 
100 };
101 
102 #endif /* HFRCMVIRTUALSURFACEDRIFTER_H_ */
Contains the HFRadarCompactModelForecaster class declaration.
float northEnsembleMeanHere_
Definition: HFRCMVirtualSurfaceDrifter.h:56
double locationAccuracy_
Definition: HFRCMVirtualSurfaceDrifter.h:63
double easting_
Definition: HFRCMVirtualSurfaceDrifter.h:63
int verbosity_
Definition: HFRCMVirtualSurfaceDrifter.h:51
double northing_
Definition: HFRCMVirtualSurfaceDrifter.h:63
void reproject(void)
Calculate the estimated velocities at the specified location and time.
Definition: HFRCMVirtualSurfaceDrifter.cpp:149
double longitude_
Definition: HFRCMVirtualSurfaceDrifter.h:63
double latitude_
Definition: HFRCMVirtualSurfaceDrifter.h:63
void initialize(void)
Initialize function.
Definition: HFRCMVirtualSurfaceDrifter.cpp:63
float eastEnsembleMeanHere_
Definition: HFRCMVirtualSurfaceDrifter.h:55
Definition: BlobReader.h:212
HFRCMVirtualSurfaceDrifter(const Module *module)
Definition: HFRCMVirtualSurfaceDrifter.cpp:30
double horizontalDisplacement_
Definition: HFRCMVirtualSurfaceDrifter.h:63
Mtx expansionCoefficientsNow_
Definition: HFRCMVirtualSurfaceDrifter.h:60
double eastVelocity_
Definition: HFRCMVirtualSurfaceDrifter.h:63
DataWriter * initialLongitudeWriter_
Definition: HFRCMVirtualSurfaceDrifter.h:70
Mtx eastEmpiricalOrthogonalFunctionsHere_
Definition: HFRCMVirtualSurfaceDrifter.h:53
DataWriter * northVelocityWriter_
Definition: HFRCMVirtualSurfaceDrifter.h:66
double course_
Definition: HFRCMVirtualSurfaceDrifter.h:63
Definition: Mtx.h:24
static bool Reinitialize(double latitude0rad, double longitude0rad)
Reinitialize function (used by ReinitializeHFRCMVirtualSurfaceDrifter behavior to set/reset the initi...
Definition: HFRCMVirtualSurfaceDrifter.cpp:68
ConfigReader * velocityAccuracyConfigReader_
Definition: HFRCMVirtualSurfaceDrifter.h:72
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: DataWriter.h:27
double northVelocity_
Definition: HFRCMVirtualSurfaceDrifter.h:63
bool lookupEmpiricalOrthogonalFunctions(void)
Look up the empirical orthogonal functions at the specified location.
Definition: HFRCMVirtualSurfaceDrifter.cpp:132
bool setLocation(double latitude0rad, double longitude0rad)
set the location of the drifter
Definition: HFRCMVirtualSurfaceDrifter.cpp:77
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: HFRCMVirtualSurfaceDrifter.cpp:88
float northScalingFactor_
Definition: HFRCMVirtualSurfaceDrifter.h:58
void advect(void)
Calculate the new location of the drifter.
Definition: HFRCMVirtualSurfaceDrifter.cpp:158
void writeData(void)
Write the pertinent data out to the slate.
Definition: HFRCMVirtualSurfaceDrifter.cpp:172
DataWriter * longitudeWriter_
Definition: HFRCMVirtualSurfaceDrifter.h:68
DataWriter * eastVelocityWriter_
Definition: HFRCMVirtualSurfaceDrifter.h:65
Definition: ConfigReader.h:13
double elapsedTime_
Definition: HFRCMVirtualSurfaceDrifter.h:63
virtual ~HFRCMVirtualSurfaceDrifter()
Definition: HFRCMVirtualSurfaceDrifter.cpp:58
static HFRCMVirtualSurfaceDrifter * Instance_
Pointer to the singleton-like instance of this component.
Definition: HFRCMVirtualSurfaceDrifter.h:75
float eastScalingFactor_
Definition: HFRCMVirtualSurfaceDrifter.h:57
bool lookupExpansionCoefficients(void)
Look up the expansion coefficients at the current time.
Definition: HFRCMVirtualSurfaceDrifter.cpp:123
double velocityAccuracy_
Definition: HFRCMVirtualSurfaceDrifter.h:63
Mtx northEmpiricalOrthogonalFunctionsHere_
Definition: HFRCMVirtualSurfaceDrifter.h:54
Specifies the interface details for the HFRCMVirtualSurfaceDrifter component in the EstimationModule...
Definition: HFRCMVirtualSurfaceDrifter.h:35
Timestamp calculationTime_
Definition: HFRCMVirtualSurfaceDrifter.h:61
DataWriter * latitudeWriter_
Definition: HFRCMVirtualSurfaceDrifter.h:67
Abstract Base class for components that generate other estimates.
Definition: SyncComponent.h:206
Represents absolute times.
Definition: Timestamp.h:31
DataWriter * initialLatitudeWriter_
Definition: HFRCMVirtualSurfaceDrifter.h:69