Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

Time Functions
[Astronomy Functions]

Collaboration diagram for Time Functions:


Data Structures

struct  psTime
 Definition of psTime. More...

Typedefs

typedef psTime psTime
 Definition of psTime.

Enumerations

enum  psTimeType { PS_TIME_TAI, PS_TIME_UTC, PS_TIME_UT1, PS_TIME_TT }
 Time type. More...
enum  psTimeBulletin { PS_IERS_A, PS_IERS_B }
 Time Bulletin type. More...

Functions

psBool p_psTimeInit (const char *fileName)
 Initialize time data.
psBool p_psTimeFinalize (void)
 Free memory persistant time data.
psTimepsTimeAlloc (psTimeType type)
 Allocate time struct.
psTimepsTimeGetNow (psTimeType type)
 Get current time.
psTimepsTimeConvert (psTime *time, psTimeType type)
 Convert psTime to UTC or TAI time.
psF64 psTimeToLMST (psTime *time, psF64 longitude)
 Convert psTime to Local Mean Sidereal Time (LMST).
psF64 psTimeGetUT1Delta (const psTime *time, psTimeBulletin bulletin)
 Determine UT1 - UTC from table lookup.
psF64 p_psTimeGetTAIDelta (const psTime *time)
 Determine TAI - UTC from table lookup.
psSpherep_psTimeGetPoleCoords (const psTime *time)
 Determine polar coordinates at a given time.
psS64 psTimeLeapSecondDelta (const psTime *time1, const psTime *time2)
 Calculate the number of leapseconds between two times.
psBool psTimeIsLeapSecond (const psTime *utc)
 Determine if UTC time is a leapsecond.
psF64 psTimeToJD (const psTime *time)
 Convert psTime to Julian date time.
psF64 psTimeToMJD (const psTime *time)
 Convert psTime to modified Julian date time.
char * psTimeToISO (const psTime *time)
 Convert psTime to ISO8601 formatted string.
timeval * psTimeToTimeval (const psTime *time)
 Convert psTime to timeval time.
psTimepsTimeFromJD (psF64 time)
 Convert JD to psTime.
psTimepsTimeFromMJD (psF64 time)
 Convert MJD to psTime.
psTimepsTimeFromISO (const char *time)
 Convert ISO to psTime.
psTimepsTimeFromTimeval (const struct timeval *time)
 Convert timeval to psTime.
psTimepsTimeFromTT (psS64 sec, psU32 nsec)
 Convert Terrestrial Time to psTime.
psTimepsTimeFromUTC (psS64 sec, psU32 nsec, psBool leapsecond)
 Convert UTC time to psTime.
psTimep_psTimeFromTM (const struct tm *time)
 Convert tm time to psTime.
psTimepsTimeMath (const psTime *time, psF64 delta)
 Adds delta to time.
psF64 psTimeDelta (const psTime *time1, const psTime *time2)
 Determine difference between two times.
char * p_psGetConfigFileName ()
 Get the filename of the psLib configuration file.


Typedef Documentation

typedef struct psTime psTime
 

Definition of psTime.

The psTime struct is used by psLib to represent time values critical to astronomical calculations. This structure represents a time which is equivalent to TAI (International Atomic Time) and is measured in both seconds and microseconds.


Enumeration Type Documentation

enum psTimeBulletin
 

Time Bulletin type.

Enumeration for psTimeBulletin type, A or B.

Enumeration values:
PS_IERS_A  IERS Bulletin A.
PS_IERS_B  IERS Bulletin B.

Definition at line 50 of file psTime.h.

enum psTimeType
 

Time type.

Enumeration for psTime types, TAI or UTC time.

Enumeration values:
PS_TIME_TAI  Temps Atomique International (TAI) time (time with leapseconds).
PS_TIME_UTC  Universal Time Coordinated (UTC) time (time without leapseconds).
PS_TIME_UT1  Universal Time corrected for polar motion.
PS_TIME_TT  Terrestrial Time.

Definition at line 39 of file psTime.h.


Function Documentation

char* p_psGetConfigFileName  ) 
 

Get the filename of the psLib configuration file.

Returns:
char* If a PS_CONFIG_FILE environment variable exists, that is returned, otherwise the default location dependent on the installation location.

psBool p_psTimeFinalize void   ) 
 

Free memory persistant time data.

Frees time data to be held in memory until the end of successful program execution.

Returns:
void: void.

psTime* p_psTimeFromTM const struct tm *  time  ) 
 

Convert tm time to psTime.

Converts tm time to psTime. This function is based on a Perl algorithm availble in the Pan-STARRS Image processing Algorithm Design Description (ADD). This function does not add or subtract leapseconds.

Returns:
psTime*: time.
Parameters:
time  Input time to be converted.

struct psSphere* p_psTimeGetPoleCoords const psTime time  ) 
 

Determine polar coordinates at a given time.

Determines the orientation of the polar axis at the given time.

Returns:
psSphere*: Spherical coordinates of Earth's polar axias.
Parameters:
time  psTime determine polar orientation.

psF64 p_psTimeGetTAIDelta const psTime time  ) 
 

Determine TAI - UTC from table lookup.

This function is necessary to for various psTime functions.

Returns:
psF64: Time difference.
Parameters:
time  psTime to be looked up.

psBool p_psTimeInit const char *  fileName  ) 
 

Initialize time data.

Reads config and data files associated with various time conversions.

Returns:
bool: True for success, false for failure.

psTime* psTimeAlloc psTimeType  type  ) 
 

Allocate time struct.

Allocates an empty time struct. User must specify the psTimeType (PS_TIME_TAI or PS_TIME_UTC) in the argument. The seconds and microseconds members of the struct are set to zero.

Returns:
psTime*: Struct with empty time.
Parameters:
type  Type of time to create (UTC or TAI).

psTime* psTimeConvert psTime time,
psTimeType  type
 

Convert psTime to UTC or TAI time.

Converts psTime to UTC or TAI time based on the psTimeType argument.

Returns:
psTime*: Pointer to psTime.
Parameters:
time  Time to be converted.
type  Type to be converted to.

psF64 psTimeDelta const psTime time1,
const psTime time2
 

Determine difference between two times.

Result is in TAI time.

Determine difference between two times. Input times are converted to TAI format if necessary.

Returns:
psF64: Time difference.
Parameters:
time1  First time.
time2  Second time.

psTime* psTimeFromISO const char *  time  ) 
 

Convert ISO to psTime.

Converts ISO time to psTime. This function does not add or subtract leapseconds.

Returns:
psTime*: time
Parameters:
time  Input time to be converted.

psTime* psTimeFromJD psF64  time  ) 
 

Convert JD to psTime.

Converts JD time to psTime. This function does not add or subtract leapseconds.

Returns:
psTime: time.
Parameters:
time  Input time to be converted.

psTime* psTimeFromMJD psF64  time  ) 
 

Convert MJD to psTime.

Converts MJD time to psTime. This function does not add or subtract leapseconds.

Returns:
psTime: time.
Parameters:
time  Input time to be converted.

psTime* psTimeFromTimeval const struct timeval *  time  ) 
 

Convert timeval to psTime.

Converts timeval time to psTime. This function does not add or subtract leapseconds.

Returns:
psTime*: time.
Parameters:
time  Input time to be converted.

psTime* psTimeFromTT psS64  sec,
psU32  nsec
 

Convert Terrestrial Time to psTime.

Converts Terrestial Time to psTime. This function assumes resultant time is of type TT.

Returns:
psTime*: time (TT)
Parameters:
sec  Input terrestrial time in seconds
nsec  Input terrestrial time fraction of seconds (nanoseconds)

psTime* psTimeFromUTC psS64  sec,
psU32  nsec,
psBool  leapsecond
 

Convert UTC time to psTime.

Converts UTC time to psTime. It will verify if time specified is a leapsecond.

Returns:
psTime*: time (UTC)
Parameters:
sec  Input time in seconds
nsec  Input time fraction of seconds (nanoseconds)
leapsecond  Input time is a leapsecond

psTime* psTimeGetNow psTimeType  type  ) 
 

Get current time.

Gets current time from the system clock. User must specify the psTimeType (PS_TIME_TAI or PS_TIME_UTC) in the argument.

Returns:
psTime*: Struct with current time.
Parameters:
type  Type of time to get (UTC or TAI).

psF64 psTimeGetUT1Delta const psTime time,
psTimeBulletin  bulletin
 

Determine UT1 - UTC from table lookup.

This function is necessary to for various SLALIB functions.

Returns:
psF64: Time difference.
Parameters:
time  psTime to be looked up.
bulletin  IERS bulletin to use

psBool psTimeIsLeapSecond const psTime utc  ) 
 

Determine if UTC time is a leapsecond.

Determines if the specified UTC time is a valid leapsecond.

Returns:
psBool: valid leap second
Parameters:
utc  UTC to verify if leap second

psS64 psTimeLeapSecondDelta const psTime time1,
const psTime time2
 

Calculate the number of leapseconds between two times.

Calculates the number of leapseconds between two times.

Returns:
psS64: leapseconds added between given times
Parameters:
time1  First input time.
time2  Second input time.

psTime* psTimeMath const psTime time,
psF64  delta
 

Adds delta to time.

Result is in TAI time.

Adds delta to time. Input time is converted to TAI format if necessary.

Returns:
psTime*: time.
Parameters:
time  Time.
delta  Time delta.

char* psTimeToISO const psTime time  ) 
 

Convert psTime to ISO8601 formatted string.

Converts psTime to a null terminated string in the form of YYYY-MM-DDThh:mm:ss.sss. This function does not add or subtract leapseconds.

Returns:
char*: Pointer null terminated array of chars in ISO time.
Parameters:
time  Input time to be converted.

psF64 psTimeToJD const psTime time  ) 
 

Convert psTime to Julian date time.

Converts psTime to Julian date (JD) time. This function does not add or subtract leapseconds.

Returns:
psF64: Julian Date (JD) time.
Parameters:
time  Input time to be converted.

psF64 psTimeToLMST psTime time,
psF64  longitude
 

Convert psTime to Local Mean Sidereal Time (LMST).

Converts psTime at the given longitude to LMST time. If the input time is not in UTC format, then it is converted.

Returns:
psF64: LST Time.
Parameters:
time  psTime to be converted.
longitude  Longitude.

psF64 psTimeToMJD const psTime time  ) 
 

Convert psTime to modified Julian date time.

Converts psTime to modified Julian date (MJD) time. This function does not add or subtract leapseconds.

Returns:
psF64: Modified Julian Days (MJD) time.
Parameters:
time  Input time to be converted.

struct timeval* psTimeToTimeval const psTime time  ) 
 

Convert psTime to timeval time.

Converts psTime to timeval time. This function does not add or subtract leapseconds.

Returns:
timeval*: timeval struct time.
Parameters:
time  Input time to be converted.


Generated on Wed Jun 15 11:01:15 2005 for Pan-STARRS Foundation Library by  doxygen 1.4.1