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

Functions to define and use different astronomical timescales and to convert among them. More...

## Macros

#define | _DEFAULT_SOURCE 1
| struct timespec

## Functions

double | get_ut1_to_tt (int leap_seconds, double dut1)
| Returns the TT - UT1 time difference given the leap seconds and the actual UT1 - UTC time difference as measured and published by IERS.
double | get_utc_to_tt (int leap_seconds)
| Returns the difference between Terrestrial Time (TT) and Universal Coordinated Time (UTC).
double | novas_clock_skew (const novas_frame *frame, enum novas_timescale timescale)
| Returns the instantaneous incremental rate at which the observer's clock (i.e.
double | novas_date (const char *restrict date)
| Returns a Julian date (in non-specific timescale) corresponding the specified input string date / time.
double | novas_date_scale (const char *restrict date, enum novas_timescale *restrict scale)
| Returns a Julian date and the timescale corresponding the specified input string date/time and timescale marker.
double | novas_diff_tcb (const novas_timespec *t1, const novas_timespec *t2)
| Returns the Barycentric Coordinate Time (TCB) based time difference (t1 - t2) in days between two astronomical time specifications.
double | novas_diff_tcg (const novas_timespec *t1, const novas_timespec *t2)
| Returns the Geocentric Coordinate Time (TCG) based time difference (t1 - t2) in days between two astronomical time specifications.
double | novas_diff_time (const novas_timespec *t1, const novas_timespec *t2)
| Returns the Terrestrial Time (TT) based time difference (t1 - t2) in days between two astronomical time specifications.
double | novas_diff_time_scale (const novas_timespec *t1, const novas_timespec *t2, enum novas_timescale timescale)
| Returns the UT1 based time difference (t1 - t2) in days between two astronomical time specifications.
double | novas_get_split_time (const novas_timespec *restrict time, enum novas_timescale timescale, long *restrict ijd)
| Returns the fractional Julian date of an astronomical time in the specified timescale, as an integer and fractional part.
double | novas_get_time (const novas_timespec *restrict time, enum novas_timescale timescale)
| Returns the fractional Julian date of an astronomical time in the specified timescale.
time_t | novas_get_unix_time (const novas_timespec *restrict time, long *restrict nanos)
| Returns the UNIX time for an astronomical time instant.
int | novas_iso_timestamp (const novas_timespec *restrict time, char *restrict dst, int maxlen)
| Prints a UTC-based ISO timestamp to millisecond precision to the specified string buffer.
double | novas_mean_clock_skew (const novas_frame *frame, enum novas_timescale timescale)
| Returns the averaged incremental rate at which the observer's clock (i.e.
int | novas_offset_time (const novas_timespec *time, double seconds, novas_timespec *out)
| Increments the astrometric time by a given amount.
int | novas_print_timescale (enum novas_timescale scale, char *restrict buf)
| Prints the standard string representation of the timescale to the specified buffer.
int | novas_set_current_time (int leap, double dut1, novas_timespec *restrict time)
| Sets the time with the UNIX time obtained from the system clock.
int | novas_set_split_time (enum novas_timescale timescale, long ijd, double fjd, int leap, double dut1, novas_timespec *restrict time)
| Sets an astronomical time to the split Julian Date value, defined in the specified timescale.
int | novas_set_str_time (enum novas_timescale timescale, const char *restrict str, int leap, double dut1, novas_timespec *restrict time)
| Sets astronomical time in a specific timescale using a string specification.
int | novas_set_time (enum novas_timescale timescale, double jd, int leap, double dut1, novas_timespec *restrict time)
| Sets an astronomical time to the fractional Julian Date value, defined in the specified timescale.
int | novas_set_unix_time (time_t unix_time, long nanos, int leap, double dut1, novas_timespec *restrict time)
| Sets an astronomical time to a UNIX time value.
double | novas_time_gst (const novas_timespec *restrict time, enum novas_accuracy accuracy)
| Returns the Greenwich (apparent) Sidereal Time (GST/GaST) for a given astronomical time specification.
int | novas_time_leap (const novas_timespec *time)
| Returns the leap seconds component of an astronomical time specification.
double | novas_time_lst (const novas_timespec *restrict time, double lon, enum novas_accuracy accuracy)
| Returns the Local (apparent) Sidereal Time (LST/LaST) for a given astronomical time specification and observer location.
double | novas_timescale_offset (const novas_timespec *ts, enum novas_timescale timescale, enum novas_timescale ref_scale)
| Returns the time difference between two different timescales at a specific astrometric time instance.
int | novas_timestamp (const novas_timespec *restrict time, enum novas_timescale scale, char *restrict dst, int maxlen)
| Prints an astronomical timestamp to millisecond precision in the specified timescale to the specified string buffer.
int | tdb2tt (double jd_tdb, double *restrict jd_tt, double *restrict secdiff)
| Computes the Terrestrial Time (TT) based Julian date corresponding to a Barycentric Dynamical Time (TDB) Julian date, and returns the TDB-TT time difference also.
double | tt2tdb (double jd_tt)
| Returns the TDB - TT time difference in seconds for a given TT or TDB date, with a maximum error of 10 μs for dates between 1600 and 2200.
double | tt2tdb_fp (double jd_tt, double limit)
| Returns the TDB-TT time difference with flexible precision.
double | tt2tdb_hp (double jd_tt)
| Returns the TDB-TT time difference with high precision.

## Detailed Description

Functions to define and use different astronomical timescales and to convert among them.

Date
  Created on Jun 24, 2024

Author
  Attila Kovacs and G. Kaplan

Since
  1.1

See also
  calendar.c, frames.c, observer.c

## Macro Definition Documentation

## _DEFAULT_SOURCE

#define _DEFAULT_SOURCE 1

struct timespec