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 andUTCScale
is 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 Epoch
when 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
-
Interface Summary Interface Description ClockModel Offset clock model.DatesSelector Interface for selecting dates within an interval.FieldTimeInterpolator<T extends FieldTimeStamped<KK>,KK extends CalculusFieldElement<KK>> This interface represents objects that can interpolate a time stamped value with respect to time.FieldTimeShiftable<T extends FieldTimeShiftable<T,KK>,KK extends CalculusFieldElement<KK>> This interface represents objects that can be shifted in time.FieldTimeStamped<T extends CalculusFieldElement<T>> This interface represents objects that have aAbsoluteDate
date attached to them.TimeInterpolator<T extends TimeStamped> This interface represents objects that can interpolate a time stamped value with respect to time.TimeScalarFunction This interface represents a scalar function of time.TimeScale Interface for time scales.TimeScales A collection ofTimeScale
s.TimeShiftable<T extends TimeShiftable<T>> This interface represents objects that can be shifted in time.TimeStamped This interface represents objects that have aAbsoluteDate
date attached to them.TimeVectorFunction This interface represents a multi-valued function of time.UTCTAIOffsetsLoader Interface for loading UTC-TAI offsets data files.UTCTAIOffsetsLoader.Parser Interface for parsing UTC-TAI offsets from a stream. -
Class Summary Class Description AbsoluteDate This class represents a specific instant in time.AbstractFieldTimeInterpolator<T extends FieldTimeStamped<KK>,KK extends CalculusFieldElement<KK>> Abstract class for time interpolator.AbstractTimeInterpolator<T extends TimeStamped> Abstract class for time interpolator.AbstractTimeScales Abstract base class forTimeScales
that implements some common functionality.AggregatedClockModel Offset clock model aggregating several other clock models.AGILeapSecondFilesLoader Loader for UTC-TAI extracted from LeapSecond file from AGI.AGILeapSecondFilesLoader.Parser Internal class performing the parsing.BDTScale Beidou system time scale.BurstSelector Selector generating high rate bursts of dates separated by some rest period.ChronologicalComparator Comparator forTimeStamped
instance.ClockOffset Container for time stamped clock offset.ClockOffsetHermiteInterpolator bHermite interpolator of time stamped clock offsets.ClockTimeScale Time scale with clock offset from another time scale.ConstantOffsetTimeScale Base class for time scales with constant offset with respect to to TAI.DateComponents Class representing a date broken up as year, month and day components.DateTimeComponents 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 forFieldTimeStamped
instance.FieldClockOffset<T extends CalculusFieldElement<T>> Container for time stamped clock offset.FieldClockOffsetHermiteInterpolator<T extends CalculusFieldElement<T>> bHermite interpolator of time stamped clock offsets.FieldTimeStampedPair<F extends FieldTimeStamped<KK>,S extends FieldTimeStamped<KK>,KK extends CalculusFieldElement<KK>> Pair of time stamped values being defined at the same date.FixedStepSelector Selector generating a continuous stream of dates separated by a constant step.GalileoScale Galileo system time scale.GLONASSDate Container for date in GLONASS form.GLONASSScale GLONASS time scale.GMSTScale Greenwich Mean Sidereal Time.GNSSDate Container for date in GNSS form.GPSScale GPS time scale.IRNSSScale IRNSS time scale (also called IRNWT for IRNSS NetWork Time).LazyLoadedTimeScales An implementation ofTimeScales
that loads auxiliary data, leap seconds and UT1-UTC, when it is first accessed.OffsetModel TAI UTC offset model.PerfectClockModel Clock model for perfect clock with constant zero offset.QZSSScale QZSS time scale.SampledClockModel Offset clock model backed up by a sample.SatelliteClockScale Scale for on-board clock.TAIScale International Atomic Time.TAIUTCDatFilesLoader Loader for UTC-TAI extracted from tai-utc.dat file from USNO.TAIUTCDatFilesLoader.Parser Internal class performing the parsing.TCBScale Barycentric Coordinate Time.TCGScale Geocentric Coordinate Time.TDBScale Barycentric Dynamic Time.TimeComponents Class representing a time within the day broken up as hour, minute and second components.TimeOffset This class represents a time range split into seconds and attoseconds.TimeScalesFactory Factory for predefined time scales.TimeStampedDouble Class that associates a double with a date.TimeStampedDoubleAndDerivative Class that associates a double, its time derivative with a date.TimeStampedDoubleAndDerivativeHermiteInterpolator Hermite interpolator of time stamped double value.TimeStampedDoubleHermiteInterpolator 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.TimeStampedPair<K extends TimeStamped,V extends TimeStamped> Pair of time stamped values being defined at the same date.TTScale Terrestrial Time as defined by IAU(1991) recommendation IV.UT1Scale Universal Time 1.UTCScale Coordinated Universal Time.UTCTAIBulletinAFilesLoader Loader for UTC-TAI extracted from bulletin A files.UTCTAIHistoryFilesLoader Loader for UTC versus TAI history files.UTCTAIHistoryFilesLoader.Parser Internal class performing the parsing.UTCTAIOffset -
Enum Summary Enum Description Month Enumerate representing a calendar month.