Expand description
Solid-earth tide station displacement (IERS Conventions, Chapter 7).
solid_earth_tide computes the tidal displacement of an Earth-fixed (ITRF)
GNSS station caused by the lunar and solar gravitational attraction. It is a
derived work of the IERS Conventions (2010) reference routine
DEHANTTIDEINEL.F (and its companion routines ST1IDIU, ST1ISEM,
ST1L1, STEP2DIU, STEP2LON, CAL2JD, DAT), reproduced here in Rust.
How this derived work is based upon and differs from the original Software:
- It is a line-for-line Rust translation of the in-phase degree-2/degree-3
displacement, the out-of-phase corrections (
ST1IDIU,ST1ISEM), the latitude-dependence correction (ST1L1), and the frequency-dependent step-2 diurnal/long-period band corrections (STEP2DIU,STEP2LON), evaluating the identical Love/Shida numbers, Doodson/argument tables, and leap-second table. - It keeps the permanent (mean) tide deformation: the original routine’s commented-out “Step 3” permanent-tide removal is left disabled, matching the ITRF/IGS conform-to-mean-tide convention.
- The routine names are changed from the IERS originals (per the IERS Conventions Software License), and the Fortran subroutine structure is inlined into private helpers.
The Sun and Moon geocentric positions are inputs (metres, ECEF/ITRF); the
caller supplies them, e.g. from crate::astro::bodies::sun_moon_ecef.
IERS Conventions Software License: permission is granted to use this software for any purpose, including commercial applications, free of charge, and to distribute derived works subject to the conditions reproduced above. Results obtained with this software acknowledge use of the IERS Conventions software.
Structs§
- Ocean
Loading Blq - Per-station ocean-loading BLQ coefficients (Bos-Scherneck / HARDISP format).
- Ocean
Loading BlqBlock - One parsed standard BLQ station block.
- Station
Displacement - Component-resolved station displacement in ITRF/ECEF metres.
- Station
Displacement Epoch - UTC epoch for station displacement evaluation.
- Station
Displacement Options - Switches for the high-level station displacement entry.
- Station
Polar Motion - IERS polar-motion coordinates of the epoch, in arcseconds.
Enums§
- BlqParse
Error Kind - Ocean
Tide Constituent - BLQ tidal constituents supported by the ARG2 evaluator.
- Station
Displacement Position - Station position accepted by the high-level displacement API.
- Tide
Error - Tide
Input Error Kind
Constants§
- NUM_
OCEAN_ CONSTITUENTS - Number of BLQ tidal constituents (M2 S2 N2 K2 K1 O1 P1 Q1 Mf Mm Ssa).
- OCEAN_
LOADING_ CONSTITUENTS - Standard BLQ column order.
Functions§
- ocean_
tide_ loading - Ocean tide loading displacement of an ITRF station, in metres (ECEF).
- parse_
ocean_ loading_ blq_ block - Parse one standard Bos-Scherneck/HARDISP BLQ station block.
- parse_
ocean_ loading_ blq_ blocks - Parse all standard station blocks in a BLQ file.
- solid_
earth_ pole_ tide - Solid-Earth pole tide displacement of an ITRF station, in metres (ECEF).
- solid_
earth_ tide - Solid-earth tide displacement of an ITRF station, in metres (ECEF).
- station_
displacement_ ecef_ m - Evaluate the enabled station displacement corrections, returning ITRF/ECEF metre components.
- station_
displacement_ ecef_ m_ batch - Evaluate station displacement for many epochs. Each element is equivalent to
a scalar
station_displacement_ecef_mcall for the same position, epoch, and options, so per-epoch failures stay local to their output row.