Ginan
Loading...
Searching...
No Matches
tides.cpp File Reference

Detailed Description

References:

  1. G.Petit and B.Luzum (eds), IERS Technical Note No. 36, IERS Conventions (2010), 2010 2.1 IERS Conventions (2010) Working Version 1.3.0 — Most Recent, https://iers-conventions.obspm.fr/conventions_material.php 2.2 IERS Conventions (2010) Working Version 1.3.0 — Chapter 7, https://iers-conventions.obspm.fr/content/chapter7/icc7.pdf
  2. DEHANTTIDEINEL, https://iers-conventions.obspm.fr/content/chapter7/software/dehanttideinel
  3. ARG2.F, https://iers-conventions.obspm.fr/content/chapter7/software/ARG2.F
  4. HARDISP, https://iers-conventions.obspm.fr/content/chapter7/software/hardisp/
  5. H.-G. Scherneck, Explanatory Supplement to the Section “Local Site Displacement due to Ocean loading” of the IERS Conventions (1996), 1999
  6. libiers10++, https://github.com/xanthospap/iers2010

Functions

bool readBlqRecord (ifstream &fileStream, vector< E_TidalConstituent > waveList, vector< E_TidalComponent > componentList, TideMap &tideLoading)
 Read BLQ record for a single station.
 
bool readBlq (string file, Receiver &rec, E_LoadingType type)
 Read BLQ ocean/atmospheric tide loading parameters.
 
bool readOceanPoleCoeff (string file)
 Read ocean pole load tide coefficients.
 
Vector3d tideTimeDomain (Trace &trace, const Vector3d &eu, const Vector3d &rp, double GMp, const VectorPos &pos)
 Step 1 of solid Earth tide computation: Corrections to be computed in the time domain (solar/lunar tides) See ref [1] 7.1.1.
 
Vector3d tideSolidEarth (Trace &trace, GTime time, MjDateUt1 mjdUt1, const Vector3d &rsun, const Vector3d &rmoon, const VectorPos &pos)
 Displacement by solid Earth tide See ref [1] 7.1.1 Note: permanent deformation not removed, i.e.
 
Vector3d tideSolidEarthDehant (Trace &trace, GTime time, const Vector3d &rsun, const Vector3d &rmoon, const Vector3d &recPos)
 Displacement by solid Earth tide with DEHANTTIDEINEL See ref [1] 7.1.1, [3], [7].
 
VectorEnu tideOceanLoad (Trace &trace, MjDateUt1 mjdUt1, TideMap &otlDisplacement)
 Displacement by ocean tide loading See ref [1] 7.1.2, [4].
 
VectorEnu tideOceanLoadAdjusted (Trace &trace, GTime time, MjDateUt1 mjdUt1, TideMap &otlDisplacement)
 Displacement by ocean tide loading - adjustments See ref [1] eq 7.16, [6] Note: This model/function does not work well.
 
VectorEnu tideOceanLoadHardisp (Trace &trace, GTime time, TideMap &otlDisplacement)
 Displacement by ocean tide loading with HARDISP See ref [1] 7.1.2, [5], [7].
 
VectorEnu tideAtmosLoad (Trace &trace, MjDateUt1 mjdUt1, TideMap &atlDisplacement)
 Displacement by atmospheric tide loading See ref [1] 7.1.3.
 
void iersMeanPole (MjDateUt1 mjdUt1, double &xp_bar, double &yp_bar)
 IERS mean pole See ref [2.2] eq.21 Eugene: This function will be gone in the future as IERS2010::meanPole() does the same thing.
 
VectorEnu tideSolidPole (Trace &trace, MjDateUt1 mjdUt1, const VectorPos &pos, ERPValues &erpv)
 Displacement by solid Earth pole tide See ref [1] 7.1.4.
 
VectorEnu tideOceanPole (Trace &trace, MjDateUt1 mjdUt1, const VectorPos &pos, ERPValues &erpv)
 Displacement by ocean pole tide See ref [1] 7.1.5.
 
void tideDisp (Trace &trace, GTime time, Receiver &rec, Vector3d &recPos, Vector3d &solid, Vector3d &otl, Vector3d &atl, Vector3d &spole, Vector3d &opole)
 

Function Documentation

◆ iersMeanPole()

void iersMeanPole ( MjDateUt1 mjdUt1,
double & xp_bar,
double & yp_bar )

IERS mean pole See ref [2.2] eq.21 Eugene: This function will be gone in the future as IERS2010::meanPole() does the same thing.

Parameters
mjdUt1UT1 time in MJD
xp_barMean pole xp (mas)
yp_barMean pole yp (mas)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ readBlq()

bool readBlq ( string file,
Receiver & rec,
E_LoadingType type )

Read BLQ ocean/atmospheric tide loading parameters.

Parameters
fileBLQ ocean tide loading parameter file
recReceiver
typeType of loading (ocean, atmospheric)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ readBlqRecord()

bool readBlqRecord ( ifstream & fileStream,
vector< E_TidalConstituent > waveList,
vector< E_TidalComponent > componentList,
TideMap & tideLoading )

Read BLQ record for a single station.

Parameters
fileStreamStream to read content from
waveListList of tidal constituents
componentListList of components {E/W, N/S, U/D}
tideLoadingMap of ocean/atmospheric tide loading displacements in amplitude and phase
Here is the call graph for this function:
Here is the caller graph for this function:

◆ readOceanPoleCoeff()

bool readOceanPoleCoeff ( string file)

Read ocean pole load tide coefficients.

Parameters
fileOcean pole tide coefficient file
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tideAtmosLoad()

VectorEnu tideAtmosLoad ( Trace & trace,
MjDateUt1 mjdUt1,
TideMap & atlDisplacement )

Displacement by atmospheric tide loading See ref [1] 7.1.3.

Parameters
traceTrace to output to
mjdUt1UT1 time in MJD
atlDisplacementATL displacements in amplitude and phase
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tideDisp()

void tideDisp ( Trace & trace,
GTime time,
Receiver & rec,
Vector3d & recPos,
Vector3d & solid,
Vector3d & otl,
Vector3d & atl,
Vector3d & spole,
Vector3d & opole )
Parameters
traceTrace to output to
timeGPS time
recReceiver
recPosReceiver position in ECEF (m)
solidDisplacement by solid Earth tide
otlDisplacement by ocean tide
atlDisplacement by atmospheric tide
spoleDisplacement by solid Earth pole tide
opoleDisplacement by ocean pole tide
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tideOceanLoad()

VectorEnu tideOceanLoad ( Trace & trace,
MjDateUt1 mjdUt1,
TideMap & otlDisplacement )

Displacement by ocean tide loading See ref [1] 7.1.2, [4].

Parameters
traceTrace to output to
mjdUt1UT1 time in MJD
otlDisplacementOTL displacements in amplitude and phase
Here is the call graph for this function:

◆ tideOceanLoadAdjusted()

VectorEnu tideOceanLoadAdjusted ( Trace & trace,
GTime time,
MjDateUt1 mjdUt1,
TideMap & otlDisplacement )

Displacement by ocean tide loading - adjustments See ref [1] eq 7.16, [6] Note: This model/function does not work well.

Parameters
traceTrace to output to
timeGPS time
mjdUt1UT1 time in MJD
otlDisplacementOTL displacements in amplitude and phase
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tideOceanLoadHardisp()

VectorEnu tideOceanLoadHardisp ( Trace & trace,
GTime time,
TideMap & otlDisplacement )

Displacement by ocean tide loading with HARDISP See ref [1] 7.1.2, [5], [7].

Parameters
traceTrace to output to
timeGPS time
otlDisplacementOTL displacements in amplitude and phase
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tideOceanPole()

VectorEnu tideOceanPole ( Trace & trace,
MjDateUt1 mjdUt1,
const VectorPos & pos,
ERPValues & erpv )

Displacement by ocean pole tide See ref [1] 7.1.5.

Parameters
traceTrace to output to
mjdUt1UT1 time in MJD
posGeodetic position of station {lat,lon} (rad)
erpvERP values
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tideSolidEarth()

Vector3d tideSolidEarth ( Trace & trace,
GTime time,
MjDateUt1 mjdUt1,
const Vector3d & rsun,
const Vector3d & rmoon,
const VectorPos & pos )

Displacement by solid Earth tide See ref [1] 7.1.1 Note: permanent deformation not removed, i.e.

the tidal model "in principle contains a time-independent part so that the coordinates obtained by taking into account this model in the analysis will be 'conventional tide free' values." See ref above for details

Parameters
traceTrace to output to
timeGPS time
mjdUt1UT1 time in MJD
rsunSun position vector in ECEF (m)
rmoonMoon position vector in ECEF (m)
posGeodetic position of station {lat,lon} (rad)
Here is the call graph for this function:

◆ tideSolidEarthDehant()

Vector3d tideSolidEarthDehant ( Trace & trace,
GTime time,
const Vector3d & rsun,
const Vector3d & rmoon,
const Vector3d & recPos )

Displacement by solid Earth tide with DEHANTTIDEINEL See ref [1] 7.1.1, [3], [7].

Parameters
traceTrace to output to
timeGPS time
rsunSun position vector in ECEF (m)
rmoonMoon position vector in ECEF (m)
recPosReceiver position in ECEF (m)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tideSolidPole()

VectorEnu tideSolidPole ( Trace & trace,
MjDateUt1 mjdUt1,
const VectorPos & pos,
ERPValues & erpv )

Displacement by solid Earth pole tide See ref [1] 7.1.4.

Parameters
traceTrace to output to
mjdUt1UT1 time in MJD
posGeodetic position of station {lat,lon} (rad)
erpvERP values
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tideTimeDomain()

Vector3d tideTimeDomain ( Trace & trace,
const Vector3d & eu,
const Vector3d & rp,
double GMp,
const VectorPos & pos )

Step 1 of solid Earth tide computation: Corrections to be computed in the time domain (solar/lunar tides) See ref [1] 7.1.1.

Parameters
traceTrace to output to
euUnit vector of Up component
rpSun/Moon position vector in ECEF (m)
GMpSun/Moon gravitational constant
posGeodetic position of station {lat,lon} (rad)
Here is the call graph for this function:
Here is the caller graph for this function: