astroforge.coordinates.polarmotion#
- astroforge.coordinates.polarmotion(mjd, bounds_check=True)[source]#
Computes the motion of the Earth’s rotational axis as a function of time.
For more information, see [1]
- Parameters:
mjd (float | NDArray[np.float64]) –
Time(s) at which to compute polar motion. Time is specified as a Modified Julian Date (MJD) in the UT1 time system.
Note
UT1 differs from UTC by < 1 second, which may or may not matter for your application. See [2] for more information.
bounds_check (bool, optional) – Flag for turning on or off bounds checking the interpolation of the IERS data, by default True
- Returns:
dx, dy – Polar motion value(s) in the x- and y-directions (arcsec)
- Return type:
Tuple[float | NDArray[np.float64], float | NDArray[np.float64]]
References
Examples
Basic usage:
>>> x, y = polarmotion(59025.0) >>> print(x, y) 0.155409 0.434462
Multiple time inputs are supported with numpy arrays:
>>> x, y = polarmotion(np.array([59025.0, 59026.0])) >>> print(x, y) [0.155409 0.156978] [0.434462 0.433877]
If you know the query times are within the bounds of the IERS data interpolation, you can skip the bounds check and speed up the computation slightly:
>>> x, y = polarmotion(59025.0, bounds_check=False) >>> print(x, y) 0.155409 0.434462