SuperNOVAS v1.5
The NOVAS C library, made better
Loading...
Searching...
No Matches
timescale.c File Reference

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

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_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 eith 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.
 
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.
 
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 retuns th 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