This is a class to read and parse ocean tides harmonics data in BLQ file format.
Ocean loading displacement models usually use the ocean tide harmonics in order to compute station biases due to this effect.
A common format to encode such information is the so-called BLQ format, where each station name is associated to a matrix with 11 columns (corresponding to the most important harmonics) and six rows: Three for amplitudes (radial, west, south), and three for phases (radial, west, south).
You may find this data using the "Ocean tide loading provider" at:
http://www.oso.chalmers.se/~loading/
A typical way to use this class follows:
The eleven tide harmonics used are:
Definition at line 106 of file BLQDataReader.hpp.
#include <BLQDataReader.hpp>
Classes | |
struct | tideData |
A structure used to store ocean tide harmonics data. More... | |
Public Member Functions | |
BLQDataReader () | |
Default constructor. More... | |
BLQDataReader (const char *fn) | |
BLQDataReader (const std::string &fn) | |
virtual BLQDataReader & | clearData () |
Method to clear all previously loaded ocean tide harmonics data. More... | |
virtual Matrix< double > | getTideHarmonics (const std::string &station) |
virtual void | open (const char *fn) |
virtual void | open (const std::string &fn) |
virtual | ~BLQDataReader () |
Destructor. More... | |
![]() | |
FFTextStream () | |
Default constructor. More... | |
FFTextStream (const char *fn, std::ios::openmode mode=std::ios::in) | |
FFTextStream (const std::string &fn, std::ios::openmode mode=std::ios::in) | |
void | formattedGetLine (std::string &line, const bool expectEOF=false) |
virtual void | open (const char *fn, std::ios::openmode mode) |
Overrides open to reset the line number. More... | |
virtual void | open (const std::string &fn, std::ios::openmode mode) |
Overrides open to reset the line number. More... | |
virtual | ~FFTextStream () |
Destructor. More... | |
![]() | |
void | conditionalThrow (void) |
void | dumpState (std::ostream &s=std::cout) const |
A function to help debug FFStreams. More... | |
FFStream () | |
Default constructor, initialize internal data. More... | |
FFStream (const char *fn, std::ios::openmode mode=std::ios::in) | |
FFStream (const std::string &fn, std::ios::openmode mode=std::ios::in) | |
virtual | ~FFStream () |
Virtual destructor, close the stream etc. More... | |
Private Types | |
typedef std::map< std::string, tideData >::const_iterator | tideDataIt |
Handy iterator type. More... | |
Private Member Functions | |
virtual void | loadData (void) |
void | setData (const std::string &stationName, const tideData &data) |
Private Attributes | |
std::map< std::string, tideData > | OceanTidesData |
Map holding the information regarding ocean tide harmonics. More... | |
Additional Inherited Members | |
![]() | |
static bool | isFFStream (std::istream &i) |
Check if the input stream is the kind of RinexObsStream. More... | |
![]() | |
unsigned int | lineNumber |
![]() | |
std::string | filename |
file name More... | |
FFStreamError | mostRecentException |
This stores the most recently thrown exception. More... | |
unsigned int | recordNumber |
keeps track of the number of records read More... | |
![]() | |
virtual void | tryFFStreamGet (FFData &rec) |
virtual void | tryFFStreamPut (const FFData &rec) |
|
private |
Handy iterator type.
Definition at line 184 of file BLQDataReader.hpp.
|
inline |
Default constructor.
Definition at line 111 of file BLQDataReader.hpp.
|
inline |
Common constructor. It will always open file a for read and will load ocean tide harmonics data in one pass.
fn | BLQ data file to read |
Definition at line 120 of file BLQDataReader.hpp.
|
inline |
Common constructor. It will always open file for read and will load ocean tide harmonics data in one pass.
fn | BLQ data file to read |
Definition at line 131 of file BLQDataReader.hpp.
|
inlinevirtual |
Destructor.
Definition at line 167 of file BLQDataReader.hpp.
|
inlinevirtual |
Method to clear all previously loaded ocean tide harmonics data.
Definition at line 148 of file BLQDataReader.hpp.
Method to get the ocean tide harmonics corresponding to a given station.
station | Station name (case is NOT relevant). |
Definition at line 216 of file BLQDataReader.cpp.
|
privatevirtual |
Method to store ocean tide harmonics data in this class' data map
FFStreamError | |
StringUtils::StringException |
Definition at line 53 of file BLQDataReader.cpp.
|
virtual |
Method to open AND load ocean tide harmonics data file. It doesn't clear data previously loaded.
Definition at line 173 of file BLQDataReader.cpp.
|
virtual |
Method to open AND load ocean tide harmonics data file. It doesn't clear data previously loaded.
Definition at line 190 of file BLQDataReader.cpp.
|
inlineprivate |
Method to store ocean tide harmonics data in this class' data map
stationName | String holding station name. |
data | tideData structure holding the harmonics data |
Definition at line 197 of file BLQDataReader.hpp.
|
private |
Map holding the information regarding ocean tide harmonics.
Definition at line 188 of file BLQDataReader.hpp.