Each statement is terminated by a semicolon. This allows for an object definition to have multiple optional settings when default values are not desired. Default values will typically be based on the most simple or computationally least expensive options.
Comments begin with the # sign and are effective until the end of a line. The general formatting is free text. White space between values or between lines is ignored. The end of inputs can be marked with the end; statement.
Some statements are configured to allow for multiple options, but currently only support one. For example, date and time inputs require the user to specify GD indicating the time format is Gregorian date, despite this being the only accepted input format. The input type is required to support additional options in the future.
Here is an example input file that creates two orbits:
SimStart GD 2021 11 12 17 00 00.0; # Gregorian date, UTC
SimDuration Days 1;
LeapSeconds 37;
EcfEciRate Minutes 240;
DistanceUnits Kilometers; # Sticky distance and time settings
TimeUnits Seconds; # For inputs without unit specifications
Orbit kep_test Kepler1 GD 2021 11 12 17 00 00.0
CART GCRF -5552.0 -2563.0 3258.0 2.149 -7.539 -2.186;
DistanceUnits DU;
TimeUnits TU;
Orbit t1 Kepler1 GD 2021 11 12 17 00 00.0
CART GCRF 0.05 0.7 0.4 -1.2 0.02 0.3;
# All text after the next line is ignored
end;
Orbit t2 Kepler1 GD 2021 11 12 17 00 00.0
CART GCRF -0.1 0.7 0.8 -0.7 -0.6 0.6;
# CART GCRF 0.05 0.7 0.4 -1.2 0.02 0.3;
With no commands acting on the orbits, the output is limited to indicating
scenario settings and regurgitating the input orbit definitions:
Opened in_oe.dat
Simulation Start Time: 2021/11/12 17:00:00.00
Simulation Stop Time: 2021/11/13 17:00:00.00
EcfEci Output Rate is 240 minutes
Leap Seconds (TAI - UTC): 37
Using dt eps: 1.26496e-07 seconds
One ER is 6378137 meters
One DU is 6378136 meters
One TU is 806.811 seconds
t1
2021/11/12 17:00:00.00
a: 6745.511 km e: 0.246935 i: 32.444415° o: 22.199429° w: 45.675437°
v: 21.697535° M: 12.818932° E: 16.941747°
{318.907 4464.695 2551.255} km
{-9.486439 0.158107 2.371610} km/sec
kep_test
2021/11/12 17:00:00.00
a: 8164.220 km e: 0.151395 i: 32.863616° o: 80.338631° w: 117.862140°
v: 2.080706° M: 1.515940° E: 1.786339°
{-5552.000 -2563.000 3258.000} km
{2.149000 -7.539000 -2.186000} km/sec
The dt eps output indicates the amount of time that is considered
to be zero when encountering boundary problems due to numerical round-off
when locating time based tabulated values. For example, when looking up
ephemeris interpolation objects, if the maximum time associated with the
interpolator is 60 seconds, and the time computed for interpolation is
less than 60+eps seconds, then the end node point of the interpolator
will be used instead of throwing an exception. The value is based on
the time it would take a satellite in orbit at sea level to travel 1 mm.
Computational distance and time units are the earth relative canonical DU and TU. One DU is defined by the gravitational scaling radius of the system gravity model (EGM 2008 as of 2023). One DU and the earth's gravitational parameter define the Herg, or one TU. One ER is the semimajor axis length used to define the WGS 84 ellipsoid used for the transformation from ITRF Cartesian to geodetic (latitude, longitude, altitude) coordinates.
Default input units are DU, TU, and radians. Sticky
modifier
statements allow different units to be defined. For example, before the
first orbit definition above, the default units are changed to be
kilometers and seconds. Statements specifying units directly ignore
the sticky modifier.