======================================== notation for dates on linear time scales ======================================== by Andrew Main (Zefram) 2006-05-19 abstract -------- Coordinate and proper time scales are defined to conceptually count the linear passage of time, but they have inherited cyclical and calendrical date notations from planetary rotation time scales. It is proposed that they would be better served by a date notation that reflects their linear nature. Such a notation is presented, based on the counting of SI seconds from an epoch date within each time scale. The notation allows for abbreviated date representation, date intervals, explicit imprecision, and statement of which time scale is in use. table of contents ----------------- 0. introduction 1. definitions 2. syntax and semantics 2.0. syntax fundamentals 2.1. exponent indicator 2.2. fully-represented date 2.3. partially-represented date 2.4. duration 2.5. uncertainty 2.6. rounding 2.7. clock displays 2.8. date interval 2.9. time scale 2.10. delimitation 3. time scale name assignments 3.0. platonic time scales 3.1. realisations of TT and TCG 3.2. private use 3.3. general hierarchical naming 4. references 0. introduction =============== Until the twentieth century, the measurement of the passage of time was tied to the motion of celestial bodies, especially the rotation and orbit of Terra. Calendars track various astronomical cycles, and so points in time have always been stated in terms of the counts and phases of these cycles. The modern understanding is that time is a more fundamental phenomenon than these cycles. `Time scales' such as Universal Time are now recognised as *angle* scales, and are understood to proceed non-uniformly in time. There are now true *time* scales, such as Terrestrial Time, realised using atomic clocks without reference to astronomical phenomena. Strangely, despite this fundamental difference in principles, points on the new true time scales are stated using the old terminology of "days" and "years". The "day" has for this purpose been redefined as a nominal duration of 86400 SI seconds, quite different from its former meaning of one Terran rotation. The day brings along the notation of Julian Dates and the Gregorian calendar, both of which are reinterpreted to fit the linear arrangement. Even the fundamental unit of true time, the SI second [SI-SECOND], has borrowed its name and approximate value from one of the old angular concepts. The second, unusually among the time units, has justification for this dual nature. The angular second (specifically of the mean solar variety) was used as the base unit of time in the metric system, and subsequently the SI. Inevitably its proper time replacement had to provide perfect continuity, matching name and value. This new second is well accepted as a unit of time rather than angle. Probably it helps that the angular second, 1/86400 of a planetary rotation, is not a particularly natural unit. The day and year are more problematic. While their angular versions are perfectly natural units, the "day" and "year" used with true time scales are mere notation, not corresponding to any cyclical phenomenon. There is no scientific or practical requirement for such artificial cycles in these time scales. Not quite matching the natural cycles from which they are etymologically derived, they can only lead to confusion. [SCALES] notes that "there is no observable event that happens cyclically at 12:00:00 for dynamical, atomic, or coordinate time -- the entire notion of such a cyclical process is contrary to their uniformly-incrementing conceptual definitions". A true time scale, which measures the linear passage of time, would be better described in a linear, acyclic, manner. Durations on such a time scale are simply scalar multiples of the base unit of time, the SI second. Time coordinates can be well described by the usual technique for linear axes: nominating a point on the axis to serve as the origin, and describing coordinates as linear offsets from the origin. True time coordinates should thus be stated as offsets from an epoch, in seconds. No other unit of time is required. This document specifies a notation by which dates can be stated using this principle. 1. definitions ============== date: a point on a time axis; i.e., a time coordinate. date interval: a region of time on a particular time axis, bounded by a start date and an end date (collectively, the "limit dates") on that time axis. Whether the limit dates themselves are included in the interval is unspecified here. The start date cannot be later than the end date; the duration of a date interval is always non-negative. duration: an amount of time. realisation: an approximation of either a time scale or another realisation. A realisation is more directly accessible than that which it realises, in some context of interest. representation, textual representation: a sequence of characters representing a date or other value. scale, time scale: a choice of a time axis plus a choice of a date on that time axis to serve as the time scale's epoch. time axis: the time axis defined by a relativistic frame of reference (trajectory through spacetime). It is not necessary for the trajectory to be physically realisable, or even continuous. 2. syntax and semantics ======================= 2.0. syntax fundamentals ------------------------ The syntax defined by this specification uses as lexemes a subset of ISO-646 invariant graphic characters [ISO-646], without alphabetical case distinction. The characters used are: Latin majuscules: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Latin minuscules: a b c d e f g h i j k l m n o p q r s t u v w x y z decimal digits: 0 1 2 3 4 5 6 7 8 9 punctuation: & ( ) + - . / : = The syntax is partly specified using the augmented BNF defined in [ABNF], including the `core rules' given in appendix A thereof. Note that string literals in this ABNF are implicitly case-insensitive. No case distinction is made anywhere in the notation. The preferred case for textual representations is lowercase. Profiles of this specification may restrict the syntax more than this specification does, for example by requiring or forbidding the use of certain optional parts. 2.1. exponent indicator ----------------------- The syntax that is to follow includes an item called the "exponent indicator". This is used to indicate the significance of nearby digits, by identifying a particular power of ten. The primary exponent indicators are single Latin letters, indicating powers of 10^3 between 10^-24 and 10^+24 inclusive: SYMBOL VALUE SYMBOL VALUE u 10^0 k 10^+3 w 10^-3 m 10^+6 r 10^-6 g 10^+9 n 10^-9 t 10^+12 c 10^-12 p 10^+15 f 10^-15 e 10^+18 a 10^-18 z 10^+21 s 10^-21 y 10^+24 j 10^-24 (Rationale: these exponent indicators are based on the metric unit prefixes, for familiarity, but are case-folded to fit the syntax rules. The indicators for positive exponents, which will see more casual use, correspond strictly to the metric prefixes. The indicators for negative exponents correspond to the metric prefixes where possible. "u" for 10^0 is intended to be read as "unit". "w", "s", and "j" are selected for visual similarity to "m", "z" and "y" respectively. "r" and "c" are selected as later consonants in the prefix name. Future additions to the metric prefix system will *not* cause this table to be extended.) There are also two-letter exponent indicators for powers of ten that are not powers of 10^3. These are generated by prefixing a primary exponent indicator with "d" to multiply its value by 10^+1 or "q" to multiply its value by 10^-1. For example, "dk" is the exponent indicator for 10^+4, and "qu" is the exponent indicator for 10^-1. It is not permitted to use more than one "d"/"q" in an exponent indicator, nor to use "d" or "q" alone as an exponent indicator. This scheme provides exponent indicators for all powers of ten between 10^-25 and 10^+25 inclusive. (Rationale: "d" and "q" are visually mnemonic because they form a vertically reflected pair. Additionally, "d" is the first letter of both the "deci-" and "deca-" prefixes.) It is also possible to construct exponent indicators for powers of ten outside that range. These consist of the exponent to which ten is being raised, in decimal, with leading zeroes suppressed, with sign, and enclosed in parentheses. For example, the exponent indicator for 10^+26 is "(+26)", and the exponent indicator for 10^-44 is "(-44)". Strings such as "(26)" and "(+026)" are not correct exponent indicators. It is not permitted to use this construction for powers of ten in the range covered by the letter indicators, so "(+25)" is also not a correct exponent indicator. expind = [ "d" / "q" ] prim-expind / "(" ( "+" / "-" ) expind-num ")" prim-expind = "u"/"k"/"m"/"g"/"t"/"p"/"e"/"z"/"y" /"w"/"r"/"n"/"c"/"f"/"a"/"s"/"j" expind-num = "2" %x36-39 / %x33-39 DIGIT / %x31-39 2*DIGIT 2.2. fully-represented date --------------------------- The date to be represented must first be notionally expressed as an offset from the time scale's epoch, in SI seconds [SI-SECOND]. Dates later than the epoch have a positive offset, and dates earlier than the epoch have a negative offset. Then the offset in seconds, a pure scalar number, is expressed in big-endian decimal place value notation. It must be expressed completely in a finite number of digits; offsets that do not have a terminating decimal representation cannot be represented. If the offset is negative then this is expressed using tens complement. (Rationale: this avoids the counting rules changing radically at an arbitrary date. All arithmetic works exactly the same both before and after the epoch.) Leading zeroes (for a non-negative offset) or nines (for a negative offset), and trailing zeroes, may be included to any finite extent. No such superfluous digits are required. No radix marker is used, and the position where one would appear is not special, so the omission of superfluous digits is permitted to proceed past this position. It is permitted for this process to omit all the digits. At least one exponent indicator must now be inserted. Permissible places for exponent indicators are the very beginning of the string (before the first digit), the very end of the string (after the last digit), and between adjacent digits. No more than one exponent indicator is to be placed in any single position. The exponent indicator to be placed must correspond to the value that a "1" digit would have if placed immediately to the left of the exponent indicator. The preferred form for presentation to humans is to place all possible exponent indicators for powers of 10^3 and no others. The whole string is then prefixed with "=" if the offset is non-negative or "&" if the offset is negative. (Rationale: as well as indicating which side of the epoch this is, this symbol indicates that the date is fully-represented. The partially-represented form, which is designed is to be shorter and which is likely to see more informal use, has no such symbol. The symbols are also chosen to sort correctly in ASCII.) Examples: OFFSET REPRESENTATIONS +320 s "=k32", "=320u", "=k320", "=k320u" "=0k32", "=0k32000" +320 Ms "=g32", "=320m", "=g320", "=g320m" "=0g32", "=0g32000" +320 us "=w32", "=320r", "=w320", "=w320r" "=0w32", "=0w32000" +27.1 s "=27u1", "=027u100", "=qk271000", "=k027u1" "=27100w" 0 s "=u", "=0u", "=u0", "=0k", "=k", "=0w", "=w" +1.234 ks "=1k234", "=1k234u", "=0123du4", "=1234u0000" -35.2 s "&64u8", "&k9648qu00", "&9k9648" -1 ks "&k", "&9k", "&k0", "&000u", "&m999" A full date representation refers only to a particular point on a time axis. It never refers to a date interval: there is a separate notation for intervals. sig-digits = *DIGIT expind *( 1*DIGIT expind ) *DIGIT full-plain-date = ( "=" / "&" ) sig-digits 2.3. partially-represented date ------------------------------- A date may be represented incompletely. To do this, starting from the fully-represented form, remove the leading "=" or "&" and zero or more leading digits and exponent indicators. At least one exponent indicator must remain. For example, the date 123456789 seconds after the epoch, fully represented as "=g123m456k789u", may be abbreviated as "g123m456k789u", "123m456k789u", "23m456k789u", "3m456k789u", "m456k789u", "456k789u", "56k789u", "6k789u", "k789u", "789u", "89u", "9u", or "u". Such a partial representation successfully identifies a particular date if the date is already approximately known with sufficient precision. For example, if the date interval between <=g123m44> and <=g123m52> is being considered, then "56k789u" is sufficient to identify the date <=g123m456k789u>. In the same situation, "m456k789u" would identify the same date, supplying more digits of context than necessary. In the same situation, "6k789u" would be ambiguous, because it could refer to <=g123m446k789u>, <=g123m516k789u>, or any of six other dates equally spaced between these at intervals of 10 ks. In the absence of any disambiguating context, a partial date representation identifies infinitely many dates, separated by regular intervals. It never refers to a date interval or intervals. part-plain-date = sig-digits plain-date = full-plain-date / part-plain-date 2.4. duration ------------- A duration may be represented on its own. First the duration must be represented in SI seconds in decimal, and exponent indicators inserted, as for a date measured from the epoch. The string is then prefixed with "+". Thus "+m2" or "+200k" means 200 ks, and "+3u5" or "+3500w" or "+3u500w" means 3.5 s. There is no partially-represented form for a duration. plain-duration = "+" sig-digits 2.5. uncertainty ---------------- If a date or duration is not known exactly, or it is otherwise not possible or not desirable to represent it exactly, it may be represented approximately with a stated uncertainty. Suppose the exact value is known to be in the interval [_c-_u, _c+_u], so that _c is the central value in the interval and _u is the uncertainty. _u must be non-negative. The uncertainty, which has the dimensionality of a duration, is represented in SI seconds in decimal with exponent indicators, just as a duration is. It is preceded by a "." in place of the leading "+" of duration syntax. The resulting uncertainty string is appended to the representation of the central value. For example, "=m123k456u.2u5" represents an uncertain date known to lie in the interval [<=m123k453u5>, <=m123k458u5>], and "+k1.u25" represents an uncertain duration known to lie in the interval [99.75 s, 100.25 s]. Alternatively, the uncertainty may be given as a string of one or more digits with no exponent indicators, still preceded by ".". In this case, the low-order digit of uncertainty implicitly has the significance that the next lower digit of value would have had if supplied. Higher-order uncertainty digits have the usual relation to the low-order digit. For example, "=m123k456u.25" means the same as "=m123k456u.2u5", and "=m123k456u.150" means the same as "=m123k456u.15u". A value may be explicitly marked as exact by giving an uncertainty of zero. This is represented as ".0" or ".u" or similar. If a date or duration representation does not explicitly give an uncertainty then the interpretation depends on context. If the context gives no overriding interpretation then it may be interpreted either as exact, as if ".0" were given, or as correctly rounded, as if ".5" were given. See the next subsection for discussion of rounding. If it is desired to state a confidence interval, rather than absolute limits of a value, then the level of confidence must be stated separately. For example, "_t is <+23u4.17> with 95% confidence.". The denotation of the uncertainty notation is purely the uncertainty interval, so if a confidence level is not stated, as in "_t is <+23u.19>.", then the confidence is implicitly 100%. uncertainty = "." ( sig-digits / 1*DIGIT ) date = plain-date [ uncertainty ] duration = plain-duration [ uncertainty ] 2.6. rounding ------------- Where a date or duration is to be represented with fewer digits than are required to represent it exactly, it must be rounded. It should be rounded to the *nearest* representable value. If it is exactly halfway between two representable values, then it should be rounded to the one which has an even low-order digit. It should always be clear that the rounded final representation is imprecise. An uncertainty representation of ".5" may be used to explicate this. Beware of double rounding, which occasionally results in incorrectly rounded values. Prefer to round to the final precision in one step. If double rounding may have occurred then an explicit uncertainty greater than ".5" should be given to quantify the possible faultiness of the rounding. 2.7. clock displays ------------------- Where a clock continuously displays the current date, rather than providing a pulsed time signal, it is subject to the uncertainty and rounding rules. Thought must be given to maintaining the correctness of a displayed date for the entire interval that it is displayed. A hypothetical ideal clock, which can adjust its display instantaneously at a precisely nominated instant, would always display a correct rounding of the exact current date. This is in contrast to the convention for digital hours/minutes/seconds clocks, which always round down. Rounding down is not correct here. For example, at date a clock may correctly display "m123k457u", "m123k46", "m123k5", or "m123k", but not "m123k456u", "m123k45", or "m123k4". In each case, the displayed date is contextually expected to be inexact, so it is as if the uncertainty representation ".5" were appended to the display. With correct rounding the actual date always lies within this implied uncertainty interval. If a clock is unable to reliably update its display sufficiently close to the correct instant, so that the inaccuracy of the update timing is perceptible, the clock's display should include an explicit uncertainty to quantify the error. For example, if a clock displays the date with a resolution of 1 s then a permanent uncertainty representation of ".6" would leave a 200 ms window each second for the clock to change the displayed value. (Using the date interval notation from the next subsection, the window is .) If the window is always met then the the display will always be correct. All sources of error must be combined in calculating the proper uncertainty value. 2.8. date interval ------------------ A date interval may be represented by giving the start date and end date, in that order, separated by "/". Thus "&k61/=42u" identifies a particular date interval of duration 432 s which encompasses the epoch. Either or both limit dates may be partially represented, for example "g123m456k/g124m228k". If the limit date representations have different high-order extents then the more extensive (the more fully specified) supplies context for the less extensive (the less fully specified), so the previous example could be equally well represented as "g123m456k/m228k" or "m456k/g124m228k". A date interval with partially-represented limit dates is always interpreted to have the shortest possible duration consistent with the requirement that the start date be no later than the end date. Thus the same date interval could be represented with the absolute minimum of context as "m456k/m228k". A date interval may also be represented by giving the start date and duration (in that order) separated by "/", or by giving the duration and end date (in that order) separated by "/". For example, the date interval in the previous examples could be represented as "g123m456k/+m772k" or "+m772k/g124m228k". A date interval may also be represented by giving the start date, duration, and end date (in that order) separated by "/". For example, the date interval in the previous examples could be represented as "g123m456k/+m772k/g124m228k". Semantically the date interval is determined by the duration and the more fully specified limit date. The less fully specified limit date must agree with what can be calculated from those two. For example, "g123m456k/+m772k/28k" is acceptable, but "g123m456k/+m772k/4m3" and "g123m456k/+m772k/4m2" are not. There is no semantic benefit in using this format, but it may improve clarity in some cases. A date or duration used to specify a date interval may include an uncertainty. For example, "g123m456k.25/+m772k.1u" represents a date interval whose start date is only narrowed to a 5 ks interval but whose duration is much more precisely known. The uncertainty part of dates is ignored when comparing partially-represented dates for disambiguation purposes, so "3u.8/4u.8" always describes a date interval of duration up to 2.6 s, never an interval of duration 9.4 s or more. The start date of a date interval cannot be any later than the end date, even if their uncertainty regions overlap. Arithmetic agreement in the three-value format is also determined without reference to the uncertainties. In the two-value formats, the uncertainty of the unstated third value is implicitly the sum of the uncertainties of the stated parts. For example, the end date of is . This applies even if the uncertainty is implicit: the date interval in that example could be stated as "g123m456k/+m772k" if context leads the values to be interpreted as rounded rather than exact. The implicit uncertainty of the third value may be overridden either by using the three-value format or in a variant of the three-value format giving two values and only the uncertainty of the third. For example, the end date of is . interval = date "/" [ uncertainty "/" ] date / date "/" duration [ "/" uncertainty ] / [ uncertainty "/" ] duration "/" date / date "/" duration "/" date 2.9. time scale --------------- Due to the time dilation described by the theory of relativity, the passage of time is perceived differently by different observers. Concretely, different observers make different measurements of the duration between two events, and in some cases even disagree about the temporal ordering of events. Observers who are in non-uniform motion relative to each other experience a non-linear difference between their time axes. The syntax and semantics defined so far are applicable within a particular time scale. This section addresses the representation of a time scale. A time scale is represented by a hierarchical name. The name consists of one or more components separated by dots ("."), most-significant component first. Each component consists of one or more characters from the decimal digits, Latin letters without case distinction, and hyphen ("-"). The name is followed by a ":". A scale representation can be prefixed to a date, duration, or date interval representation, to indicate that the value is to be interpreted within the context of the named time scale. For example, if a scale named "-.experiment0" is established to refer to the proper time experienced by a piece of experimental equipment, then "-.experiment0:=k32" would refer to the instant perceived by the equipment as being exactly 320 s after the epoch for the <-.experiment0:> scale. In the same situation, "=k32" would either be ambiguous or implicitly refer to some particular time scale, not necessarily the <-.experiment0:> scale. Generally, values not tagged for time scale refer to some particular scale that must be determined by context, and if context does not so determine then the untagged value is ambiguous. A time scale as handled so far is a platonic ideal. The duration of the date interval <-.experiment0:=k32/k42> is by definition exactly 100 s on the <-.experiment0:> time axis. A clock attempting to realise this interval is unlikely to do so perfectly. A realisation of a time scale may be represented using an extension of the scale representation notation. Realisations of time scales have names of the same form used for time scales. A realisation is represented by adding its name after the scale name, separated from it by "/". Thus "-.experiment0/clock0:=k32/k42" refers to the realisation of the example date interval by a clock identified as "clock0". This realisation might, for example, actually correspond to the date interval <-.experiment0:=k320u027w0/k420u026w9>, if the clock is set a few milliseconds behind the true date and ticks one part in 10^6 too fast. Realisation can also be a multi-step process. This is represented by the use of multiple names and "/" characters. For example, "tt/tai/npl" refers to the version of TT(TAI) derived from TAI(NPL). A realisation name has meaning only in the context of what is being realised. Thus the realisation represented by "-.foo/-.bar" does not necessarily have any relation to the realisation represented by "-.baz/-.bar". name-component = 1*( DIGIT / ALPHA / "-" ) scale-name = name-component *( "." name-component ) real-scale = scale-name *( "/" scale-name ) ":" scaled-date = [ real-scale ] date scaled-duration = [ real-scale ] duration scaled-interval = [ real-scale ] interval 2.10. delimitation ------------------ Where a string is contextually expected to match the notation defined by this specification, it should be a date, duration, or date interval representation, with optional scale/realisation representation, or a scale/realisation representation on its own. If it is desired to use some other grammar production defined in this document, for example to use an exponent indicator in isolation, then the specific grammar production being used should be identified. main = scaled-date / scaled-duration / scaled-interval / real-scale If specific delimitation is desired, it is recommended that a complete representation be surrounded with angle brackets ("<" and ">"). The angle brackets are not part of the syntax of this specification. Other effective means of delimitation, such as whitespace, are entirely acceptable. 3. time scale name assignments ============================== 3.0. platonic time scales ------------------------- There are three rigorously correct time axes in widespread use. They are assigned scale names thus: SCALE TIME AXIS tcb Barycentric Coordinate Time (TCB) tcg Geocentric Coordinate Time (TCG) tt Terrestrial Time (TT) As these time axes are defined, dates on them are identified using traditional date notation, and they share an epoch: they are defined to read exactly JD 2443144.5003725 (1977-01-01T00:00:32.184) at TAI instant JD 2443144.5 (1977-01-01T00:00:00) at the geocentre [TC-DEFN] [TT-DEFN]. The use of traditional date notation and this choice of epoch provide continuity with the former Ephemeris Time. Such continuity is not a consideration in defining the time scales here, so the scales are given widely separated epochs to avoid confusion between them. The epochs, in terms of the traditional notation for their respective time axes, are: SCALE EPOCH JD EPOCH GREGORIAN TIME AXIS tcb 2448469.5003725 1991-08-01T00:00:32.184 TCB tcg 2443144.5003725 1977-01-01T00:00:32.184 TCG tt 2436204.5003725 1958-01-01T00:00:32.184 TT The epoch for the scale commemorates the TAI synchronisation with UT2 at JD 2436204.5 (1958-01-01T00:00:00). Note that extrapolating from [TT-BIPM05] places the TAI synchronisation at roughly , not exactly . The epoch for the scale is approximately the date at which the resolution defining TCB was adopted by the IAU. Another way to specify the epochs is that all of these coincide at the geocentre: * TAI instant JD 2443144.5 (1977-01-01T00:00:00) exactly * TCB instant JD 2443144.5003725 (1977-01-01T00:00:32.184) exactly * TCG instant JD 2443144.5003725 (1977-01-01T00:00:32.184) exactly * TT instant JD 2443144.5003725 (1977-01-01T00:00:32.184) exactly * * * 3.1. realisations of TT and TCG ------------------------------- The following realisations of TT are named as shown. "*" in a name corresponds to a variable portion of the name. REALISATION DESCRIPTION tt/bipm* TT(BIPM*) (e.g., * = "05") tt/tai TT(TAI) tt/tai/* TT(TAI) using TAI(*) (e.g., * = "NPL") tt/tai/ntp TT(TAI) using Network Time Protocol (NTP) Because TT and TCG are defined to have a precise algorithmic relationship [TT-REDEFN], any realisation of one automatically serves as a realisation of the other. Therefore the same realisation identifiers are used for both. For example, "tcg/tai/npl" refers to TCG as calculated from TAI(NPL), and is the counterpart to "tt/tai/npl". 3.2. private use ---------------- All scale names with a top-level (first) component of "-" are reserved for private use. For example, the names "-", "-.foo", and "-.foo.bar" are all so reserved, but "-foo" is not. This reservation applies to identifiers both for platonic time scales and for all levels of realisation. Thus "-.foo" refers to a privately-defined time scale, and "tt/-.foo" refers to a privately-defined realisation of TT. "Private use" means that these names are globally ambiguous, are not suitable for standardisation, and can be used only between mutually agreeing parties. These names are suitable for use in documentation examples, hypothetical discussions, and for ephemeral time scales, among other situations. The availability of private-use names is not intended to discourage the use of globally unique names. In situations where a private-use name is applicable, it is a matter of choice which type of name is to be used. 3.3. general hierarchical naming -------------------------------- The details of the hierarchical naming scheme are left for future specifications to establish. 4. references ============= [ABNF] D. Crocker, Ed., P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, November 1997. [ISO-646] International Organization for Standardization, "Information technology -- ISO 7-bit coded character set for information interchange", ISO/IEC 646:1991. [SCALES] Steve Allen, "Time Scales", 2006-04-20, . [SI-SECOND] Conference Generale des Poids et Mesures, "SI unit of time (second)", Resolution 1 of the 13th CGPM, 1969, . [TC-DEFN] International Astronomical Union, "Standardisation of the units and origins of coordinate times used in astronomy: Geocentric Coordinate Time (TCG) and Barycentric Coordinate Time (TCB)", IAU GA XXI Recommendation III, 1991, . [TT-BIPM05] Bureau International des Poids et Mesures, "TT(BIPM05)", 2005, . [TT-DEFN] International Astronomical Union, "The Terrestrial Time (TT)", IAU GA XXI Recommendation IV, 1991, . [TT-REDEFN] International Astronomical Union, "Re-definition of Terrestrial Time TT", IAU GA XXIV Resolution B1.9, 2000, .