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

Time Functions
[Astronomy 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 }
 Time 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.
psTimepsTimeGetTime (psTimeType type)
 Get current time.
psTimepsTimeConvert (psTime *time, psTimeType type)
 Convert psTime to UTC or TAI time.
double psTimeToLST (psTime *time, double longitude)
 Convert psTime to Local Mean Sidereal Time (LST).
double psTimeGetUT1Delta (const psTime *time)
 Determine UT1 - UTC from table lookup.
double psTimeGetTAIDelta (const psTime *time)
 Determine TAI - UTC from table lookup.
psSpherepsTimeGetPoleCoords (const psTime *time)
 Determine polar coordinates at a given time.
psS64 psTimeLeapseconds (const psTime *time1, const psTime *time2)
 Calculate the number of leapseconds between two times.
double psTimeToJD (const psTime *time)
 Convert psTime to Julian date time.
double psTimeToMJD (const psTime *time)
 Convert psTime to modified Julian date time.
char * psTimeToISOTime (const psTime *time)
 Convert psTime to ISO8601 formatted string.
timeval psTimeToTimeval (const psTime *time)
 Convert psTime to timeval time.
tm * psTimeToTM (const psTime *time)
 Convert psTime to tm time.
psTimepsTimeFromJD (double time)
 Convert JD to psTime.
psTimepsTimeFromMJD (double time)
 Convert MJD to psTime.
psTimepsTimeFromISOTime (const char *time)
 Convert ISO to psTime.
psTimepsTimeFromTimeval (const struct timeval *time)
 Convert timeval to psTime.
psTimepsTimeFromTM (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 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).

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.

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* psTimeFromISOTime 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 double  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 double  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* 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* 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.

double psTimeGetTAIDelta const psTime time  ) 
 

Determine TAI - UTC from table lookup.

This function is necessary to for various psTime functions.

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

psTime* psTimeGetTime 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).

double psTimeGetUT1Delta const psTime time  ) 
 

Determine UT1 - UTC from table lookup.

This function is necessary to for various SLALIB functions.

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

psS64 psTimeLeapseconds 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* psTimeToISOTime 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.

double 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:
double: Julian Date (JD) time.
Parameters:
time  Input time to be converted.

double psTimeToLST psTime time,
double  longitude
 

Convert psTime to Local Mean Sidereal Time (LST).

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

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

double 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:
double: 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.

struct tm* psTimeToTM const psTime time  ) 
 

Convert psTime to tm time.

Converts psTime to tm time. 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:
tm: tm struct time.
Parameters:
time  Input time to be converted.


Generated on Mon Apr 4 18:24:47 2005 for Pan-STARRS Foundation Library by  doxygen 1.3.9.1