12-02-2022, 04:49 PM

This HP PPL computer program demonstrates how to interact with the sidtim subroutine which computes mean or apparent Greenwich sidereal time. The following is an example of the source code illustrating information that must be supplied by the user.

// UTC calendar date (month, day, year)

month := 4;

day := 24;

year := 2008;

// UTC epoch (hours, minutes, seconds)

utc_hr := 10;

utc_min := 36.0;

utc_sec := 18.0;

// number of leap seconds

leaps := 33.0;

// UT1 - UTC in seconds

ut1utc := -0.387845;

If UT1 - UTC is unknown simply input 0. The number of leap seconds can also be obtained from the find_leap subroutine. The following is the calling syntax for this subroutine. Notice the value of k determines the type of calculation. We are also passing the subroutine the integer part IP(jdut1) and fractional part FP(jdut1) of the UT1 Julian day.

gast := sidtim(IP(jdut1), FP(jdut1), k);

sidtim(tjdh, tjdl, k)

// this function computes the greenwich sidereal time

// (either mean or apparent) at julian date tjdh + tjdl

// input

// tjdh = ut1 julian date, high-order part

// tjdl = ut1 julian date, low-order part

// the julian date may be split at any point, but

// for highest precision, set tjdh to be the integral

// part of the julian day, and set tjdl to be the

// fractional part

// k = time selection code

// set k=0 for greenwich mean sidereal time

// set k=1 for greenwich apparent sidereal time

// output

// gst = greenwich (mean or apparent) sidereal time in hours

// note: value of delta-t is passed via export

The software for this example can be downloaded from the following link

https://www.dropbox.com/s/9nglm9g6262tjq...m.zip?dl=0

// UTC calendar date (month, day, year)

month := 4;

day := 24;

year := 2008;

// UTC epoch (hours, minutes, seconds)

utc_hr := 10;

utc_min := 36.0;

utc_sec := 18.0;

// number of leap seconds

leaps := 33.0;

// UT1 - UTC in seconds

ut1utc := -0.387845;

If UT1 - UTC is unknown simply input 0. The number of leap seconds can also be obtained from the find_leap subroutine. The following is the calling syntax for this subroutine. Notice the value of k determines the type of calculation. We are also passing the subroutine the integer part IP(jdut1) and fractional part FP(jdut1) of the UT1 Julian day.

gast := sidtim(IP(jdut1), FP(jdut1), k);

sidtim(tjdh, tjdl, k)

// this function computes the greenwich sidereal time

// (either mean or apparent) at julian date tjdh + tjdl

// input

// tjdh = ut1 julian date, high-order part

// tjdl = ut1 julian date, low-order part

// the julian date may be split at any point, but

// for highest precision, set tjdh to be the integral

// part of the julian day, and set tjdl to be the

// fractional part

// k = time selection code

// set k=0 for greenwich mean sidereal time

// set k=1 for greenwich apparent sidereal time

// output

// gst = greenwich (mean or apparent) sidereal time in hours

// note: value of delta-t is passed via export

The software for this example can be downloaded from the following link

https://www.dropbox.com/s/9nglm9g6262tjq...m.zip?dl=0