Package org.orekit.time
The principal class is AbsoluteDate
which represents a unique instant in time, with no ambiguity. For that
purpose, the ways to define this object are quite strict.
The easiest and most evident way is to define an instant with an offset from another one. Orekit defines 9 reference epochs. The first 6 are commonly used in the space community, the seventh one is commonly used in the computer science field and the last two are convenient for initialization in min/max research loops:
Julian Epoch: -4712-01-01 at 12:00:00, TTScaleModified Julian Epoch: 1858-11-17 at 00:00:00, TTScaleFifties Epoch: 1950-01-01 at 00:00:00, TTScaleCCSDS Epoch: 1958-01-01 at 00:00:00, TAIScaleGPS Epoch: 1980-01-06 at 00:00:00, UTCScaleJ2000 Epoch: 2000-01-01 at 12:00:00, TTScaleJava Epoch: 1970-01-01 at 00:00:00, TTScalePast infinity: at infinity in the past,Future infinity: at infinity in the future.
The second definition, which could be the source of some confusion if not used with care, is by giving a location (a date) in a specific time scale. It is of prime importance to understand the various available time scales definitions to avoid mistakes. Orekit provides 9 of the most important ones:
TAIScale: International Atomic Time,TTScale: Terrestrial Time as defined by IAU(1991) recommendation IV. Coordinate time at the surface of the Earth. It is the successor of Ephemeris Time TE. By convention, TT = TAI + 32.184 s,UTCScale: Coordinated Universal Time. UTC is related to TAI using step adjustments from time to time according to IERS (International Earth Rotation Service) rules. These adjustments require introduction of leap seconds. Some leaps are already known and predefined in the library (at least from 1972-01-01 to 2009-01-01) and other ones can be supported by providing UTC-TAI.history files using the data loading mechanism provided byDataProvidersManager,UT1Scale: Universal Time 1. UT1 is a time scale directly linked to the actual rotation of the Earth. It is an irregular scale, reflecting Earth irregular rotation rate. The offset between UT1 andUTCScaleis found in the Earth Orientation Parameters published by IERS,TCGScale: Geocentric Coordinate Time. Coordinate time at the center of mass of the Earth. This time scale depends linearly on TTScale,TDBScale: Barycentric Dynamic Time. Time used to compute ephemerides in the solar system. This time is offset with respect to TT by small relativistic corrections due to Earth motion,TCBScale: Barycentric Coordinate Time. Coordinate time used for computations in the solar system. This time scale depends linearly on TDBScale,GPSScale: Global Positioning System reference scale. This scale was equal to UTC at start of theGPS Epochwhen it was 19 seconds behind TAI, and remained parallel to TAI since then (i.e. UTC is now offset from GPS due to leap seconds). TGPS = TAI - 19 s,GMSTScale: Greenwich Mean Sidereal Time scale. The Greenwich Mean Sidereal Time is the hour angle between the meridian of Greenwich and mean equinox of date at 0h UT1.
Once it is built, an AbsoluteDate can be compared to
other ones, and expressed in other time scales. It is used to define states,
orbits, frames... Classes that include a date implement the TimeStamped interface.
The ChronologicalComparator singleton can sort objects
implementing this interface chronologically.
- Author:
- L. Maisonobe
-
ClassDescriptionThis class represents a specific instant in time.Abstract class for time interpolator.AbstractTimeInterpolator<T extends TimeStamped>Abstract class for time interpolator.Abstract base class for
TimeScalesthat implements some common functionality.Loader for UTC-TAI extracted from LeapSecond file from AGI.Internal class performing the parsing.Beidou system time scale.Selector generating high rate bursts of dates separated by some rest period.Comparator forTimeStampedinstance.Time scale with clock offset from another time scale.Base class for time scales with constant offset with respect to to TAI.Class representing a date broken up as year, month and day components.Interface for selecting dates within an interval.Holder for date and time components.FieldAbsoluteDate<T extends CalculusFieldElement<T>>This class represents a specific instant in time.FieldChronologicalComparator<KK extends CalculusFieldElement<KK>>Comparator forFieldTimeStampedinstance.This interface represents objects that can interpolate a time stamped value with respect to time.This interface represents objects that can be shifted in time.FieldTimeStamped<T extends CalculusFieldElement<T>>This interface represents objects that have aAbsoluteDatedate attached to them.FieldTimeStampedPair<F extends FieldTimeStamped<KK>,S extends FieldTimeStamped<KK>, KK extends CalculusFieldElement<KK>> Pair of time stamped values being defined at the same date.Selector generating a continuous stream of dates separated by a constant step.Galileo system time scale.Container for date in GLONASS form.GLONASS time scale.Greenwich Mean Sidereal Time.Container for date in GNSS form.Enumerate for GNSS data.GPS time scale.An implementation ofTimeScalesthat loads auxiliary data, leap seconds and UT1-UTC, when it is first accessed.Enumerate representing a calendar month.NavIC time scale (also called IRNWT for IRNSS NetWork Time).TAI UTC offset model.QZSS time scale.Scale for on-board clock.International Atomic Time.Loader for UTC-TAI extracted from tai-utc.dat file from USNO.Internal class performing the parsing.Barycentric Coordinate Time.Geocentric Coordinate Time.Barycentric Dynamic Time.Class representing a time within the day broken up as hour, minute and second components.TimeInterpolator<T extends TimeStamped>This interface represents objects that can interpolate a time stamped value with respect to time.Interface representing a closed time interval i.e.This class represents a time range split into seconds and attoseconds.This interface represents a scalar function of time.Interface for time scales.A collection ofTimeScales.Factory for predefined time scales.TimeShiftable<T extends TimeShiftable<T>>This interface represents objects that can be shifted in time.This interface represents objects that have aAbsoluteDatedate attached to them.Class that associates a double with a date.Class that associates a double, its time derivative with a date.Hermite interpolator of time stamped double value.Hermite interpolator of time stamped double value.TimeStampedField<KK extends CalculusFieldElement<KK>>Class that associates a field with a date.TimeStampedFieldHermiteInterpolator<KK extends CalculusFieldElement<KK>>Hermite interpolator of time stamped field value.Pair of time stamped values being defined at the same date.Time-related utilities.This interface represents a multi-valued function of time.Terrestrial Time as defined by IAU(1991) recommendation IV.Universal Time 1.Coordinated Universal Time.Loader for UTC-TAI extracted from bulletin A files.Loader for UTC versus TAI history files.Internal class performing the parsing.Interface for loading UTC-TAI offsets data files.Interface for parsing UTC-TAI offsets from a stream.