Time Control List Procedures and Variables

 

1. Time Control List Procedures and Functions 

 

procedure Add(Value)

Adds a value to the time control list. Two types of arguments are accepted: strings, representing a calendar date with optionally time and numerical expressions, representing a Julian day number. In the case of calendar dates the current time shift ist taken into account (see TimeShift).

Examples

Add('2007-12-24');                      // calendar date without time statement
Add('2007-12-24 12:00');                // calendar date with time statement 
Add(2454336.5);                         // a Julian day number
Add(JulianDay(2007,12,24,12,34,56));    // using the JulianDay function (24 December 2007 12:34:56)
Add(JulianDay(2007,12,24,12,0,0)+100);  // 100 days prior to 24 Dec 2007
Add(LunarPhase(Now,New));               // next new moon

procedure Clear

Clears the time control list.

 

procedure CreateList

Fills the time control list with an equidistant time series. The procedure reads the following pre-defined variables

JD0 start time (Julian day number)
StepSize step size in days
StepsA number of steps ahead
StepsB number of steps back

The variable FirstIndex is set to -StepsB to make sure that JD0 represents the zero-indexed item of the time control list.

Example

begin
  // create an equidistant time series 260 steps back and 260 steps ahead 
  // from 24 Dec 2007 with a time step of 12 hours
  TimeScale := UT;           // universal time
  TimeShift := StdTimeZone;  // correct time statements for observer's standard time zone
  JD0       := '2007-12-24'; // starting time 
  StepsA    := 260;          // 260 steps ahead
  StepsB    := 260;          // 260 steps back
  StepSize  := '12:00';      // step size 12 hours
  CreateList;                // fill the time control list
end;

function Count

Returns the number of items of the time control list.

 

function IvlMax

Returns the greatest difference in time (in days) between two succeeding items of the time control list.

 

function IvlMin

Returns the least difference in time (in days) between two succeeding items of the time control list.

 

function JDMax

Returns the greatest item of the time control list as a Julian day number.

 

function JDMin

Returns the least item of the time control list as a Julian day number.

 

function LastIndex

Returns the index of the last entry of the time control list.

 

2. Time Control List Variables

 

var FirstIndex

Determines the index of the first item of the time control list. The initial value is 0.

 

var JD0

Determines the starting date and time for time control creation using CreateList. Assign a value as a string, representing a calendar date with optionally time or numerical expression, representing a Julian day number. In the case of calendar dates the current time shift ist taken into account (see TimeShift). The default value is J2000 (2000-01-01 12:00).

 

var TimeScale

Determines the time scale to be used for the time control list. Assign either the pre-defined constant UT for universal time or ET for ephemeris time. The default value is UT. See time span for more information.

Example

TimeScale := ET;  // ephemeris time

var TimeShift

Determines the time shift (in days) to be used for the time control list. Values may be assigned as a decimal number of days (see Time Shift Constants for pre-defined constants) or as strings in the form 'HH::MM:SS'.  The default value is 0. See time span for more information.

Examples:

TimeShift := GMT;           // all following date/time statements are interpreted as GMT
Add('2007-12-24 12:00');    // 12:00 GMT
TimeShift := '1:00';        // all following date/time statements are interpreted as GMT+1h
Add('2007-12-24 12:00');    // 11:00 GMT!
TimeShift := StdTimeZoine;  // all following date/time statements are interpreted 
                            // with respect to the current observer's standard time zone
Add('2007-12-24 12:00');    // 12:00 local time (current observer) 

var ShowSeconds

Determines whether seconds are to be shown in date/time representations of items of the time control list (e.g. in the ephemeris table). The default value is false.

 

var StepsA

Determines the number of steps ahead for time control creation using CreateList. The valid range is 0..1024; the default value is 0.

 

var StepsB

Determines the number of steps back for time control creation using CreateList. The valid range is 0..1024; the default value is 0.

 

var StepSize

Determines the step size for time control creation using CreateList. Assign a value as a string in the form 'DDd HH:MM:SS' or numerical expression, representing the number of days. See Time Interval Constants for pre-defined constants. The valid range is 1/86400..100000. The default value is 1.0.

Examples:

StepSize := 2.5;                // 2 days, 12 hours
StepSize := '1 d 8:00';         // 1 day 8 hours
StepSize := 2.0 * JulianYear;   // 2 Julian years (730.5 days)
StepSize := 0.1 * SynodicMonth; // 0.1 synodic months (2.953059 days)
StepSize := 3 * hour;           // 3 hours

Alcyone Ephemeris Documentation
(C) 2007 Alcyone Software