Loading...
Searching...
No Matches
equator.c File Reference

Various functions for calculating the equator and equinox of date, and related quatities. More...

## Functions

double | accum_prec (double t)
| Returns the general precession in longitude (Simon et al.
short | cel_pole (double jd_tt, enum novas_pole_offset_type type, double dpole1, double dpole2)
int | e_tilt (double jd_tdb, enum novas_accuracy accuracy, double *restrict mobl, double *restrict tobl, double *restrict ee, double *restrict dpsi, double *restrict deps)
| (primarily for internal use) Computes quantities related to the orientation of the Earth's rotation axis at the specified Julian date.
int | fund_args (double t, novas_delaunay_args *restrict a)
| Compute the fundamental (a.k.a.
double | ira_equinox (double jd_tdb, enum novas_equinox_type equinox, enum novas_accuracy accuracy)
| Compute the intermediate right ascension of the equinox at the input Julian date, using an analytical expression for the accumulated precession in right ascension.
double | mean_obliq (double jd_tdb)
| Computes the mean obliquity of the ecliptic.
int | nutation (double jd_tdb, enum novas_nutation_direction direction, enum novas_accuracy accuracy, const double *in, double *out)
| Nutates equatorial rectangular coordinates from mean equator and equinox of epoch to true equator and equinox of epoch.
short | precession (double jd_tdb_in, const double *in, double jd_tdb_out, double *out)
| Precesses equatorial rectangular coordinates from one epoch to another using the IAU2006 (P03) precession model of Capitaine et al.

## Detailed Description

Various functions for calculating the equator and equinox of date, and related quatities.

Date
  Created on Mar 6, 2025

Author
  G. Kaplan and Attila Kovacs

See also
  cio.c, earth.c, frames.c, nutation.c, transform.c

## Function Documentation

## cel_pole()

short cel_pole | ( | double | jd_tt,
|  | enum novas_pole_offset_type | type,
|  | double | dpole1,
|  | double | dpole2 )

Specifies the unmodeled celestial pole offsets for high-precision applications to be applied to the True of Date (TOD) equator, in the old, pre IAU 2006 methodology. Nonetheless, these offsets should be specified relative to the IAU2006 precession / nutation model to provide a correction to the modeled (precessed and nutated) position of Earth's pole, such those derived from observations and published by IERS.

The call sets the global variables PSI_COR and EPS_COR, for subsequent calls to e_tilt(). As such, it should be called to specify pole offsets prior to legacy NOVAS C equinox-specific calls. The global values of PSI_COR and EPS_COR specified via this function will be effective until explicitly changed again.

NOTES:

1. The pole offsets et this way will affect all future TOD-based calculations, until the pole is changed or reset again. Hence, you should be extremely careful using it (if at all), as it may become an unpredictable source of inaccuracy if implicitly applied without intent to do so.
2. The current UT1 - UTC time difference, and polar offsets, historical data and near-term projections are published in the IERS Bulletins
3. If Δδψ, Δδdε offsets are specified, these must be the residual corrections relative to the IAU 2006 precession/nutation model (not the Lieske et al. 1977 model!). As such, they are just a rotated version of the newer xp, yp offsets published by IERS.
4. The equivalent IAU 2006 standard method, which is preferred, is to apply xp, yp pole offsets only for converting between TIRS and ITRS, e.g. via novas_app_to_hor(), novas_hor_to_app(), or wobble()).
5. There is no need to define pole offsets this way when using the newer frame-based approach introduced in SuperNOVAS. If the pole offsets are specified on a per-frame basis during the initialization of each observing frame (see novas_make_frame(), the offsets will be applied for the TIRS / ITRS conversion only, and not to the TOD equator per se.

REFERENCES:

1. Kaplan, G. (2005), US Naval Observatory Circular 179.
2. Kaplan, G. (2003), USNO/AA Technical Note 2003-03.

Parameters

  jd_tt | [day] Terrestrial Time (TT) based Julian date. Used only if 'type' is POLE_OFFSETS_X_Y (2), to transform dx and dy to the equivalent Δδψ and Δδε values.
  type | POLE_OFFSETS_DPSI_DEPS (1) if the offsets are Δδψ, Δδε relative to the IAU 2006 precession/nutation model; or POLE_OFFSETS_X_Y (2) if they are dx, dy offsets relative to the IAU 2000 / 2006 precession-nutation model.
  dpole1 | [mas] Value of celestial pole offset in first coordinate, (Δδψ for or dx) in milliarcseconds, relative to the IAU2006 precession/nutation model.
  dpole2 | [mas] Value of celestial pole offset in second coordinate, (Δδε or dy) in milliarcseconds, relative to the IAU2006 precession/nutation model.

Returns
  0 if successful, or else 1 if 'type' is invalid.

See also
  novas_make_frame(), wobble()

References dpole2, POLE_OFFSETS_DPSI_DEPS, and POLE_OFFSETS_X_Y.