ODTK Julian Day Number vs. Julian Date clarification.

There are a number of ODTK input/output time and date parameters associated with the Julian calendar, however not all parameters follow the astronomical Julian Date definition. The difference is related to whether the parameter adheres to the astronomical convention of starting the day at noon or the civil practice of starting the day at midnight. The purpose of this note is to alert the user to this difference and to clarify ODTK usage.

The pertinent parameters include:

  1. The Julian Day Number data base field output to the graph/report style database tables.


  2. The JulianDay property to the IAgODGenericObs interface used with ODTK Tracking Data Providers.


  3. The value of the DayCount and DayCount_Array wholeDays parameter used with the ODTK HPOP Force Model, Light Reflection, and Satellite Selection Plugin.


  4. The DateFormat attribute JDate unit of measure used in scripting.

ODTK usage:

  1. The DateFormat : JDate parameter follows the astronomical definition of Julian Date. It is the number of "civil" days from GMT Noon on 1 January, 4713 B.C. The date considers leap seconds. Count starts at 0. It is a double precision value that includes days and fraction of day.


  2. The parameters Julian Day Number, and DayCount : wholeDays are an integer day count measuring the complete number of "civil" days from the GMT Midnight that precedes the astronomical Julian Date epoch. That is if DateFormat : JDate = JDN for some time t which corresponds to GMT Midnight on a given calendar day (note at midnight JDN is of the form xxxxxxx.5) then the parameter Julian Day Number = JDN + 0.5 at time t.


  3. The IAgODGenericObs : JulianDay parameter is an integer day count measuring the complete number of "civil" days from the GMT Midnight that follows the astronomical Julian Date epoch. That is if DateFormat : JDate = JDN for some time t which corresponds to GMT Midnight on a given calendar day (note at midnight JDN is of the form xxxxxxx.5) then the parameter IAgODGenericObs : JulianDay = JDN - 0.5 at time t.


  4. As an example consider GMT Midnight on 21 Sep 2008, then:

    1. ODTK.NewDate(2454730.5, "JDate") = "21 Sep 2008 00:00:00.000"


    2. Julian Day Number = 2454731


    3. pObs.JulianDay = 2454730


    4. DayCount : wholeDays = 2454731


  5. Note that these parameters are used in conjunction with an associated double precision parameter containing time since midnight to represent the full date/time. For Julian Day Number the associated parameter is Minutes After Midnight. For IAgODGenericObs : JulianDay it is MinAfterMidnight, and for DayCount : wholeDays it is SecsIntoDay.

ODTK 6.5