perturb 1.0.0
A modern C++11 wrapper for the SGP4 orbit propagator
Loading...
Searching...
No Matches
perturb::DateTime Struct Reference

A basic and human readable representation of a point in time. More...

#include <perturb.hpp>

Public Attributes

int year
 Year from 1900 to 2100.
 
int month
 Month from 1 to 12.
 
int day
 Day from 1 to {28, 29, 30, 31} (depending on month)
 
int hour
 Hour from 0 to 23.
 
int min
 Minute from 0 to 59.
 
double sec
 Fractional seconds from 0.0 to 59.999...
 

Detailed Description

A basic and human readable representation of a point in time.

The primary purpose of this type is to be constructed manually via aggregate initialization and the converted to a JulianDate.

Warning
This type doesn't enforce a valid date and time upon construction; there are no checks. Additionally, the conversion to JulianDate values are only valid from years 1900 to 2100.

The question of what this time point represents gets complicated. In the "Revisiting Spacetrack Report #3" paper from Celestrak, it is discussed what this time represents. While UTC would make sense, the method perturb::sgp4::gstime_SGP4 requires UT1 time to calculate GMST. This library makes the same assumption that the paper concludes:

"The error associated with approximating UT1 with UTC is within the theoretical uncertainty of the SGP4 theory itself. Except for the GMST calculation, this paper and code assumes time to be realized as UTC."

The documentation for this struct was generated from the following file: