Functional Requirements on Resource Objects (FRR)
Requirement
FRR #NameIDRequirementMilestoneOwner
1Representations for Setting Orbit StateFFR-1.1.0The system shall allow the user to define the spacecraft state, in any inertial coordinate system with a celestial body (as defined in FRR-16), using the following state representations:
FRR-1.1.11)      Classical Keplerian elements
FRR-1.1.22)      Modified Keplerian elements
FRR-1.1.33)      Equinoctial elements
FRR-1.2.0The system shall allow the user to define the orbital state in any coordinate system in FRR-35 using the following state representations:
FRR-1.2.11)      Cartesian state (km and km/s)
FRR-1.2.22)      Spherical elements (RANGE/RA/DEC/VMAG/AZI/FPA)
FRR-1.2.33)      Spherical elements (RANGE/RA/DEC/VMAG/RAV/DECV)
FRR-1.3The system shall convert between any two supported state representations provided the coordinate system conditions requirements FRR-1.1 and FRR-1.2 are satisfied.
2Representations for Setting Orbit EpochFRR-2.1.0The system shall allow the user to set the epoch in the following formats:
FRR-2.1.11)      Gregorian
FRR-2.1.22)      Modified Julian Date
FRR-2.2.0The system shall allow the user to set the epoch in the following systems:
FRR-2.2.11)      A1
FRR-2.2.22)      TAI
FRR-2.2.33)      UTC
FRR-2.2.44)      TT
FRR-2.2.55)      TDB
DEFERREDThe system shall allow the user to specify the modified Julian epoch time to 10e-6 seconds and the Gregorian epoch to 1e-3 seconds.
FRR-2.4The system shall convert between the epoch types defined in FRR-2.1 and FRR-2.2
3Representations for Setting Spacecraft Attitude FRR-3.1.0The system shall allow the user to define the initial spacecraft attitude using any of the following state representations:
FRR-3.1.11)      Quaternion
FRR-3.1.22)      Direction cosine matrix
FRR-3.1.33)      Euler angles (any of the 12 permutations)
FRR-3.1.43)      Modified Rodriquez Parameters
FRR-3.2.0The system shall allow the user to define the spacecraft attitude rate using any of the following state representations:
FRR-3.2.11)      Angular velocity
FRR-3.2.22)      Euler angle rates
FRR-3.3The system shall convert between any attitude representation in FRR-3.1.
FRR-3.4The system shall convert between any attitude rate representation in FRR-3.2.
4Spacecraft Ballistic , Mass, and Inertia PropertiesFRR-4.1The system shall allow the user to set the spacecraft dry mass.
FRR-4.2The system shall use the total spacecraft mass in ballistic computations.
FRR-4.3.0The system shall support the following spacecraft ballistic models:
FRR-4.3.11)      Spherical body
FRR-4.4.0For the spherical ballistic model, the user shall be able to set the following properties:
FRR-4.4.11)      Spacecraft drag coefficient
FRR-4.4.22)      Spacecraft SRP coefficient
FRR-4.4.33)      Spacecraft the drag area
FRR-4.4.44)      Spacecraft SRP area
5Spacecraft Visualization PropertiesFRR-5.1.0The system shall allow the user to define a spacecraft model using the following model formats:
FRR-5.1.11)      3DS
FRR-5.1.22)      POV
FRR-5.2The system shall allow the user to add a translate to the coordinates used on the file to adjust the offset in the X, Y, and Z directions.
FRR-5.3The system shall allow the user to apply a fixed rotation to the attitude orientation used on the file to adjust the model orientation.
FRR-5.4The system shall allow the user to apply a scale factor to the model size on the file and the scale factor will be used in the Orbit View display.
7Spacecraft Kinematic Attitude propagationFRR-7.1.0The system shall allow the user to propagate spacecraft attitude using the following kinematic models:
FRR-7.1.11)      Spinning spacecraft (no precession or nutation).
FRR-7.1.22)      Fixed offset with respect to any coordinate system defined in FRR-35.
FRR-7.1.33)      SPK attitude kernel
8Spacecraft Tank ModelFRR-8.1The system shall allow the user to create and configure a spacecraft tank object.
FRR-8.2.0The tank model shall allow the user to set the following properties:
FRR-8.2.11)      Initial fuel mass
FRR-8.2.22)      Initial fuel pressure
FRR-8.2.33)      Initial fuel temperature
FRR-8.2.44)      Initial fuel density
FRR-8.2.55)      Fuel reference temperature
FRR-8.2.66)      Tank volume
FRR-8.3.0The tank model shall support the following depletion modes:
FRR-8.3.11)      Pressure regulated
FRR-8.3.22)      Blow down using ideal gas law
FRR-8.3.3The tank model shall optionally allow the mass of a fuel tank to be negative.
9Spacecraft Thruster ModelFRR-9.1.0The system shall allow the user to create and configure spacecraft thrusters of the following types:
FRR-9.1.11)      Chemical thruster
FRR-9.2.0The thruster model shall allow the user to define the thrust vector in the following coordinate systems:
FRR-9.2.11)      Any coordinate system defined in FRR-35.
FRR-9.2.2.02)      Local systems based on a user-provided central body
FRR-9.2.2.1 1)      Local VNB
FRR-9.2.2.2 2) Local LVLH
FRR-9.2.2.3 3) MJ2000
FRR-9.2.33)      Spacecraft body coordinate system.
FRR-9.3.0The thruster model shall allow the user to specify the thrust vector using the following vector formats:
FRR-9.3.11)      Cartesian components
FRR-9.4.0The thruster model shall allow the user to configure the following thruster properties:
FRR-9.4.11)      Thrust duty cycle that scales the thrust and mass flow rate
FRR-9.4.22)      Thrust scale factor that scales the thrust vector
FRR-9.4.33)      Gravity coefficient to decrement mass used for an impulsive maneuver
FRR-9.4.44)      Tank that supplies fuel to the thruster
FRR-9.4.55)      Polynomial to define lsp dependency on tank temperature and pressure
FRR-9.4.66)      Polynomial to define thrust magnitude on tank temperature and pressure
FRR-9.5The thruster model shall allow the user to optionally decrement tank mass during a maneuver.
FRR-9.6For a finite maneuver, if the user has chosen to decrement tank mass (FRR-9.5), the thrust and Isp polynomials shall be used to integrate the mass flow rate equation to decrement tank mass
10Spacecraft FormationsFRR-10.1The system shall allow the user to group spacecraft into formations.
FRR-10.2The system shall propagate spacecraft grouped in formations as a coupled dynamic system.
11Impulsive Burn ModelFRR-11.1.0 The impulsive burn model shall allow the user to define the maneuver vector in the following coordinate systems:
FRR-11.1.11)      Any coordinate system defined in FRR-35
FRR-11.1.2.02)      Local systems based on a user-provided central body
FRR-11.1.2.1 1)      Local VNB
FRR-11.1.2.2 2) LVLH,
FRR-11.1.2.3 3) MJ2000
FRR-11.1.33)      Spacecraft body coordinate system
FRR-11.2.0The impulsive burn model shall allow the user to specify the thrust vector using the following vector formats:
FRR-11.2.11)      Cartesian
FRR-11.3The impulsive burn model shall allow the user to either decrement mass during a maneuver or leave mass unchanged.
FRR-11.4.0The impulsive burn model shall allow the user to specify the following options for use in calculating mass depletion due to an impulsive burn:
FRR-11.4.11)      Gravity coefficient
FRR-11.4.22)      Isp
FRR-11.4.33)      Tank
12Finite Burn ModelFRR-12.1The system shall allow the user to define a finite burn by selecting any thruster as defined in FRR-9.
13Dynamics ModelingFRR-13.1.0The system shall support the following dynamics models:
FRR-13.1.1.01)      Non-spherical central body
FRR-13.1.1.1                                                               i.      Default Body
FRR-13.1.1.2                                                             ii.      User-defined body
FRR-13.1.2.02)      Drag with the following density models
FRR-13.1.2.1.0                                                               i.      Jacchia-Roberts
FRR-13.1.2.1.11.       Constant solar
FRR-13.1.2.1.22.       Average flux
FRR-13.1.2.1.32.       Geomagnetic index
FRR-13.1.2.2.0                                                             ii.      MSISE-90
FRR-13.1.2.2.11.       Constant solar
FRR-13.1.2.2.22.       Average flux
FRR-13.1.2.2.32.       Geomagnetic index
FRR-13.1.2.4.0                                                           iv.      MSISE-86
FRR-13.1.2.4.11.       Constant solar
FRR-13.1.2.4.22.       Average flux
FRR-13.1.2.4.32.       Geomagnetic index
DEFERRED                                                           v.      Mars-GRAMM
DEFERRED1.       Density Models
DEFERREDi.       Low
DEFERREDii.       Mean
DEFERREDiii.       High
DEFERRED2.     Mars-GRAM input file
FRR-13.1.2.6.0 vi. NRLMISISE-00
FRR-13.1.2.6.11.       Constant solar
FRR-13.1.2.6.22.       Average flux
FRR-13.1.2.6.32.       Geomagnetic index
FRR-13.1.3.03)      Drag with the following spacecraft models:
FRR-13.1.3.1                                                               i.      Canon ball model
FRR-13.1.4.04)      Solar Radiation Pressure:
FRR-13.1.4.1                                                               i.      Canon ball model
FRR-13.1.5.05)      Point mass perturbations:
FRR-13.1.5.1                                                               i.      8 major planets
FRR-13.1.5.2                                                             ii.      Pluto
FRR-13.1.5.3iii. User defined celestial body as defined in FRR-16
FRR-13.1.6.06)      Solid Earth Tides
FRR-13.1.6.1                                          i.     Solid and Pole Tides
FRR-13.1.77)      Relativistic Correction
FRR-13.2.0The system shall optionally propagate the following quantities:
FRR-13.2.11)      Orbit Cartesian state
FRR-13.2.22)      Orbit state transition matrix
FRR-13.3The system shall propagate the equations of motion with respect to the Earth’s mean equator axes at the J2000 epoch as defined by the FK5 reduction.
FRR-13.4The system shall propagate the equations of motion with respect to any celestial body defined in FRR-16.
14Numerical IntegratorsFRR-14.1.0The system shall support the following embedded Runge-Kutta integrators:
FRR-14.1.11)      Runge Kutta Verner (89)
FRR-14.1.22)      Runge-Kutta Nystrom (68)
FRR-14.1.33)      Runge-Kutta (56)
FRR-14.1.44)      Prince-Dormand (45)
FRR-14.1.55)      Prince-Dormand (78)
FRR-14.2The system shall support the Bulirsch-Stoer integrator.
FRR-14.3The system shall support the Adams-Bashforth-Moulton integrator.
FRR-14.4.0The system shall allow the user to set the following properties for all integrators:
FRR-14.4.11)      Initial step size
FRR-14.4.22)      Accuracy
FRR-14.4.33)      Min step size
FRR-14.4.44)      Max step size
FRR-14.4.55)      Max step attempts
FRR-14.5.0The system shall allow the user to set the following additional settings for the Adams-Bashforth-Moulton method:
FRR-14.5.11)      Minimum/Lower integration error
FRR-14.5.22)      Target integration error
FRR-14.6.0The system shall support the following modes for step size error control:
FRR-14.6.11)      Root Sum Square of the error compared to integration step
FRR-14.6.22)      Root Sum Square of the error compared to the state vector
FRR-14.6.33)      Error in the largest step
FRR-14.6.44)      Error in the largest state
FRR-14.6.55)      None (fixed step)
FRR-14.6.6The system shall provide a flag to optionally stop integration if accuracy cannnot be satisifed.
FRR-14.7.0The system shall allow the user to set the following additional settings for the Bulirsch Stoer method:
FRR-14.7.11) Minimum Reduction Safety Coefficient
FRR-14.7.22) Maximum Reduction Safety Coefficient
FRR-14.7.33) Minimum error tolerance
15Ground Station ModelFRR-15.1The system shall allow the user to create and configure a ground station object.
FRR-15.2.0The system shall allow the user to specify the central body of a ground station from the following options:
FRR-15.2.11)      Earth
FRR-15.3.0The system shall allow the user to specify the reference shape type for the central body from the following options:
FRR-15.3.11)      Spherical
FRR-15.3.22)      Ellipsoid
FRR-15.4.0The system shall allow the user to specify the ground station location using the following state representations:
FRR-15.4.11)      Cartesian body fixed
FRR-15.4.22)      Lat-Lon-Height w/r/t the reference shape.
16Solar System ModelFRR-16.1.0The system shall contain default models of the following celestial bodies
FRR-16.1.11)      Sun
FRR-16.1.22)      Mercury
FRR-16.1.33)      Venus
FRR-16.1.44)      Earth
FRR-16.1.55)      Moon
FRR-16.1.66)      Mars
FRR-16.1.77)      Jupiter
FRR-16.1.88)      Saturn
FRR-16.1.99)      Uranus
FRR-16.1.1010)   Neptune
FRR-16.1.1111)   Pluto
FRR-16.2.0The user shall be able to specify the following properties for all celestial bodies:
FRR-16.2.11)      Gravitational parameter
FRR-16.2.22)      Equatorial radius
FRR-16.2.33)      Flattening
FRR-16.2.44)      Texture map file
FRR-16.2.55)     Ephemeris Update Interval
FRR-16.2.66)     Flag to use TT in ephemeris computation. See FRR-2.2.4
FRR-16.2.76)     Earth Nutation Update Interval
FRR-16.3.0The system shall support the following ephemeris models for all default celestial bodies in FRR-16.1:
FRR-16.3.11)      DE405
FRR-16.3.22)      SPK
FRR-16.3.31)      DE421
FRR-16.3.41)      DE424
FRR-16.4.0The system shall use the IAU 2002 orientation models for all default celestial bodies with the following exceptions:
FRR-16.4.11)      Earth uses FK5 orientation model
FRR-16.4.2.02)      Moon supports:
FRR-16.4.2.1 a)      DE405
DEFERRED b)      IAU2002
FRR-16.5.0The system shall allow the user to create and configure the following celestial body types:
FRR-16.5.11)      Moon
FRR-16.5.22)      Asteroid
FRR-16.5.33)      Comet
FRR-16.5.44)      Planet
FRR-16.6.0The system shall support the following ephemeris models for all user-defined celestial bodies:
FRR-16.6.11)      SPK
DEFERRED2)      Keplerian two body
FRR-16.7.0The system shall allow the user to specify the following orientation properties for user-defined bodies:
FRR-16.7.11)      Spin axis right ascension at reference epoch
FRR-16.7.22)      Spin axis right ascension drift rate
FRR-16.7.33)      Spin axis declination at reference epoch
FRR-16.7.44)      Spin axis declination drift rate
FRR-16.7.55)      Rotation rate at reference epoch
FRR-16.7.66)      Rotation drift rate
FRR-16.8.0The system shall allow the user to specify the following orbit properties for user-defined bodies:
DEFERRED1)      Orbit Reference Epoch
DEFERRED2)      Semimajor axis
DEFERRED3)      Eccentricity
DEFERRED4) Inclination
DEFERRED5)      Right ascension of ascending node
DEFERRED6)    Argument of periapsis
DEFERRED7)    True anomaly
FRR-16.8.8.08)    Propagation mode
FRR-16.8.8.1          i.      SPICE file
DEFERRED          ii.      Two Body Propagation
FRR-16.8.99)    List of SPK kernels for SPICE propagation
FRR-16.8.1010)    Central body
FRR-16.9.0The system shall allow the user to specify the following solar system settings for default bodies:
FRR-16.9.11)      DE file name and location
FRR-16.9.22) SPK file name and location
FRR-16.9.33)      SPICE leapsecond kernel name and location
17Libration PointsFRR-17.1.0The system shall allow the user to create models of the following libration points:
FRR-17.1.11)      L1
FRR-17.1.22)      L2
FRR-17.1.33)      L3
FRR-17.1.44)      L4
FRR-17.1.55)      L5
FRR-17.2.0The system shall allow the user to select among the following objects for the primary body:
FRR-17.2.11)      Celestial body
FRR-17.2.22)      Barycenter
FRR-17.3.0The system shall allow the user to select among the following objects for the secondary body:
FRR-17.3.11)      Celestial body
FRR-17.3.22)      Barycenter
18Barycenter ModelFRR-18.1The system shall allow the user to create and configure a barycenter defined by any combination of default or user-defined celestial bodies.
FRR-18.2.0The system shall contain a "built-in" in point defined as the solar system barycenter defined by the following ephemeris sources
FRR-18.2.1 1) DE405
FRR-18.2.2 2) SPK
19Differential CorrectorFRR-19.1.0The system shall allow the user to create and configure a differential corrector with the following properties:
FRR-19.1.11)      Maximum iterations
FRR-19.1.2.02)      Derivative Method
FRR-19.1.2.1                                                               i.      Forward difference
FRR-19.1.2.2                                                             ii.      Central difference
FRR-19.1.2.3                                                            iii.      Backward difference
FRR-19.2.0The system shall optionally show progress of the differential corrector in the message window that includes:
FRR-19.2.11)      Current value of control variables
FRR-19.2.22)      Achieved and desired target variables
FRR-19.2.33)      Iteration number
FRR-19.3The system shall optionally create a report file containing information on each iteration of the differential corrector containing all data listed in FRR-19.2.
20fmincon OptimizerFRR-20.1.0The system shall allow the user to create and configure an fmincon optimizer with the following properties:
FRR-20.1.11)      Maximum iterations
FRR-20.1.22)      Maximum function evaluations
FRR-20.1.33)      Tolerance on the constraint functions
FRR-20.1.44)      Tolerance on the cost function
FRR-20.1.55)      Tolerance on the optimization state vector
FRR-20.1.66)      Maximum perturbation for finite differencing of derivatives
FRR-20.1.77)      Minimum perturbation for finite differencing of derivatives
FRR-20.2.0The system shall optionally show progress of an fmincon optimizer in the message window that includes all of the following parameters:
FRR-20.2.11)      Current value of control variables
FRR-20.2.22)      Achieved and desired values of the constraints
FRR-20.2.33)      Cost function value
FRR-20.2.44)      Iteration number
FRR-20.3The system shall optionally create a report file containing information on each iteration of the fmincon optimizer containing all data listed in FRR-20.2.
21vf13ad OptimizerFRR-21.1.0The system shall allow the user to create and configure a vf13ad optimizer with the following properties:
FRR-21.1.11)      Maximum iterations
FRR-21.1.22)      Convergence tolerance
FRR-21.1.3.03)      Derivative Method
FRR-21.1.3.1                                                               i.      Forward difference
FRR-21.1.3.2                                                             ii.      Central difference
DEFERRED                                                            iii.      Backward difference
FRR-21.1.3.42)      Constraint tolerance
FRR-21.2.0The system shall optionally show progress of a vf13ad optimizer in the message window that includes all of the following parameters:
FRR-21.2.11)      Current value of control variables
FRR-21.2.22)      Achieved and desired values of the constraints
FRR-21.2.33)      Cost function value
FRR-21.2.44)      Iteration number
FRR-21.3The system shall optionally create a report file containing information on each iteration of the vf13ad optimizer containing all data listed in FRR-21.2.
27Ephemeris PropagatorFRR-27.1.0The system shall contain an ephemeris propagator that supports the following ephemeris types:
FRR-27.1.11)      SPK
FRR-27.2The ephemeris propagator shall interpolate the ephemeris file that is specified on the spacecraft object.
FRR-27.3.0The system shall allow the user to specify the following settings for an ephemeris propagator:
FRR-27.3.11)      Step size
FRR-27.3.22)     Origin
FRR-27.3.3.03)      Ephemeris start epoch with the following options:
FRR-27.3.3.11. Epoch in any format and system defined in FRR-2
FRR-27.3.3.22. Inherit the epoch from the spacecraft
28Orbit ViewFRR-28.1.0The system shall allow the user to choose among the following objects to display in 3-D graphics:
FRR-28.1.11)      Spacecraft trajectories
FRR-28.1.22)      Celestial bodies
FRR-28.1.33)      Celestial body trajectories
FRR-28.2.0The system shall allow the user to define the following 3-D view properties:
FRR-28.2.11)      Coordinate system
FRR-28.2.22)      Camera reference location
FRR-28.2.33)      Camera location defined by fixed offset from camera reference location
FRR-28.2.44)      View Scale factor which scales the camera’s fixed offset w/r/t the camera reference location.
FRR-28.2.55)      Camera view direction
FRR-28.2.66)      Camera view up direction
FRR-28.3The system shall allow the user to specify the color of all trajectories plotted in 3-D graphics.
FRR-28.4.0The system shall allow the user to optionally display the following items:
FRR-28.4.11)      Coordinate system axes
FRR-28.4.22)      XY-Plane
FRR-28.4.33)      Wireframe central body
FRR-28.4.44)      Central body latitude and longitude grid lines
FRR-28.4.55)      Stars
FRR-28.4.66)      Constellations
FRR-28.5The system shall display the plot epoch in UTC Gregorian format.
FRR-28.6.0The system shall allow the user to define the following settings for dynamic plot updating:
FRR-28.6.11)      The data collection sample rate defined as the number of integration steps to skip between plot points
FRR-28.6.22)      The number of plot points to collect before updating the plot
FRR-28.6.33)      The number of plot points to retain and redraw during plot update.
FRR-28.7.0The system shall allow the user to specify how data is drawn to 3-D graphics during iterative processes such as differential correction, optimization, and estimation. The following options shall be available:
FRR-28.7.11)      Show all iterations/perturbations
FRR-28.7.22)      Show current iteration/perturbation only
FRR-28.7.33)      Show solution only
FRR-28.8The system shall allow the user to optionally display or not display a 3-D view.
FRR-28.9The system shall allow the user to zoom in to a plot using the mouse.
FRR-28.10The system shall allow the user to rotate a 3-D view using the mouse.
FRR-28.11The system shall allow optionally reset the view on rerun (after mouse manipulation), or use the new view settings.
29XY-PlotsFRR-29.1The system shall support 2-D data plots with Cartesian axes.
FRR-29.2.0The system shall allow the user to set the independent and dependent variables using any of the following:
FRR-29.2.11)    Scalar parameter ( see FRR-32 )
FRR-29.2.22)      User defined variable
FRR-29.2.33)      User defined array element (that has dimension (1x1))
FRR-29.3The system shall allow the user to specify multiple dependent variables on a single plot.
FRR-29.4The system shall allow the user to optionally display a plot grid.
FRR-29.5.0The system shall allow the user to specify how data is drawn to XY Plots during iterative processes such as differential correction, optimization, and estimation. The following options shall be available:
FRR-29.5.11)      Show all iterations/perturbations
FRR-29.5.22)      Show current iteration/perturbation only
FRR-29.5.33)      Show solution only
FRR-29.6The system shall allow the user to optionally display or not display an XY-Plot.
FRR-29.7The system shall allow the user to zoom in to a selected region of an XY-Plot.
30Report FilesFRR-30.1The system shall support ASCII report files.
FRR-30.2.0The system shall allow the user to define reported variables using any of the following:
FRR-30.2.11)      Calculation parameter as defined in FRR-32
FRR-30.2.22)      User defined variable
FRR-30.2.33)      User defined array or array element
FRR-30.2.44)      User defined string
FRR-30.3.0The system shall allow the user to set the following properties:
FRR-30.3.11)      Data column width
FRR-30.3.22)      Data precision
FRR-30.3.33)      Zero Fill
FRR-30.4.0The system shall allow the user to specify the following column formats:
FRR-30.4.11)      Right-justified
FRR-30.4.22)      Left-Justified
FRR-30.5The system shall allow the user to optionally display header information describing the data in each column.
FRR-30.6.0The system shall allow the user to specify how data is written to reports during iterative processes such as differential correction, optimization, and estimation. The following options shall be available:
FRR-30.6.11)      Show all iterations/perturbations
FRR-30.6.22)      Show solution only
FRR-30.6.33)    Show current iteration/perturbation
FRR-30.7The system shall allow the user to optionally write or not write data to an existing report file.
31Ephemeris FileFRR-31.1.0The system shall allow the user to create and configure an ephemeris file object.
FRR-31.2.0The system shall output orbit ephemeris using the following file formats:
FRR-31.2.11)      CCSDS Orbital Ephemeris Message as defined in CCSDS publication 502.0-B-1
FRR-31.2.33)      SPK
FRR-31.4.0The CCSDS Orbital Ephemeris Message format shall support the following user options:
FRR-31.4.11)      State types:
FRR-31.4.1.11. Cartesian state
FRR-31.4.22)      All time systems defined in FRR 2.2.
FRR-31.4.33)      Coordinate systems: FILL THIS OUT FROM CCSDS publication 502.0-B-1
FRR-31.4.44)      Interpolation methods
FRR-31.4.4.11. Lagrange with user specified order.
FRR-31.4.55)      Step size options:
FRR-31.4.5.11. Integration step size (use raw integrator steps)
FRR-31.4.5.22. Fixed step size provided by user
FRR-31.5.0The SPK orbital ephemeris file output shall support the following user options:
FRR-31.5.11)      State types:
FRR-31.5.1.11. Cartesian state
FRR-31.5.22)      Time in TDB.
FRR-31.5.33)      Coordinate systems:
FRR-31.5.3.11. EarthMJ2000Eq
FRR-31.5.44)      Interpolation methods
FRR-31.5.4.11. Hermite with user specified order as an odd integer
FRR-31.5.55)      Step size options:
FRR-31.5.5.11. Integration step size (use raw integrator steps)
FRR-31.7.0The user shall be able to specify the time span of an ephemeris file using the following methods:
FRR-31.7.11)      User provided start and stop time
FRR-31.7.22)      All integration steps performed on the object
FRR-31.8.0The system shall separately interpolate ephemeris segments bounded by the following discrete events:
FRR-31.8.11)      Impulsive maneuver
FRR-31.8.22)      Dynamics model change ( change in propagator or finite burn)
FRR-31.8.33)      Assignment command
FRR-31.9The system shall throw an error message and stop interpolation if there is not enough data available to support the requested interpolation type and order.
FRR-31.10The system shall allow the user to optionally calculate/write or not calculate/write an ephemeris that has been created and configured.
FRR-31.11The system shall only write the ephemeris for the solution of iterative processes such as differential correction, optimization, and estimation.
FRR-31.12The system shall throw an error message and stop interpolation if the data points provided to the interpolator are not monotonic .
FRR-31.13The system shall allow the user to apply the Toggle command described in FRC-16 to the Ephemeris File object.
FRR-31.14The system shall write the last data point to an ephemeris segment using the exact ephemeris values when interpolating at a requested time step and the ephemeris interval is not an integer multiple of the requested interpolation step.
32User Defined VariablesFRR-32.1The system shall allow the user to create variables with a user-provided name.
FRR-32.2.0The system shall allow the user to assign values to variables using the following data types:
FRR-32.2.11)      Real number
FRR-32.2.22)      User variable
FRR-32.2.33)      Array element
FRR-32.2.44) Assignment command (as defined in FRC-19,) resulting in a scalar real number
FRR-32.2.55)      Object property of numeric type
33User Defined ArraysFRR-33.1The system shall allow the user to create and dimension arrays with a user provided name.
FRR-3.3.2.0The system shall allow the user to define array elements individually using the following data types:
FRR-33.2.11)      Real number
FRR-33.2.22)      User variable
FRR-33.2.33)      Array element
FRR-33.2.44)      Assignment command, as defined in FRC-19, resulting in a scalar real number
FRR-33.2.55)      Object property of numeric type
FRR-33.3The system shall allow the user to set one array equal to another array, if the arrays have equal dimensions.
34User Defined StringsFRR-34.1The system shall allow the user to create and define string parameters.
FRR-34.2The system shall allow the user to define string parameters using a list of characters surrounded by single quotes.
35Coordinate SystemsFRR-35.1.0The system shall allow the user to create and configure coordinate systems with the following objects as the origin:
FRR-35.1.11)      Spacecraft
FRR-35.1.22)      Celestial body
FRR-35.1.33)      Barycenter
FRR-35.1.44)      Libration point
FRR-35.1.55)      Ground station
FRR-35.2.0The system shall allow the user to create and configure coordinate systems with the following axes types:
FRR-35.2.11)      Mean J2000 Earth Equator
FRR-35.2.22)      Mean J2000 Ecliptic
FRR-35.2.33)      True of Epoch Earth Equator
FRR-35.2.44)      True of Epoch Ecliptic
FRR-35.2.55)      Mean of Epoch Earth Equator
FRR-35.2.66)      Mean of Epoch Ecliptic
FRR-35.2.77)      Mean of Date Earth Equator
FRR-35.2.88)      Mean of Date Ecliptic
FRR-35.2.99)      Celestial Body Fixed ( if origin is a celestial body )
FRR-35.2.1010)   Celestial Body Inertial (if origin is a celestial body )
FRR-35.2.1111)   Geocentric Solar Magnetic
FRR-35.2.1212)   Geocentric Solar Ecliptic
FRR-35.2.1313)   Object Referenced (sometimes called Body-Body Rotating)
FRR-35.2.1414)   Topocentric (if origin is a ground station )
FRR-35.2.1515)     True of Date Earth Equator
FRR-35.2.1616)     True of Date Ecliptic
37GMAT FunctionsFRR-37.1.0GMAT functions shall support the following I/O requirements
FRR-37.1.11)      The system shall support the following data types as function inputs:
FRR-37.1.1.11. Entire objects
FRR-37.1.1.22. Object properties of numeric or string type
FRR-37.1.1.33. Real number variables
FRR-37.1.1.44. Arrays
FRR-37.1.1.55. String variables
FRR-37.1.1.66. Numeric literals
FRR-37.1.1.77. String literals
FRR-37.1.22)      The system shall support the following as function outputs:
FRR-37.1.2.11. Entire objects
FRR-37.1.2.22. Object properties of numeric or string type
FRR-37.1.2.33. Real number variables and arrays
FRR-37.1.2.44. String variables
FRR-37.1.33)      The system shall support calling a function with no inputs.
FRR-37.1.44)      The system shall support calling a function with no outputs.
FRR-37.1.55)      The system shall, upon return from a function, not change non-global function inputs unless they also appear in the output argument list.
FRR-37.1.66)      The system shall not require a user to use a Create command inside of a function for the inputs passed through the function interface.
FRR-37.1.77)      The system shall require the user to use a Create command inside of functions for the output parameters that are not also input parameters.
FRR-37.1.88)      The system shall not require the user to a Create command if an output parameter is global and created outside of the current function.
FRR-37.1.99)      The system shall require a user to use square braces for the output parameters of a function call, even if there is only one output. WHAT ABOUT ZERO OUTPUTS.
FRR-37.1.1010)   The system must allow the use of subscribers inside functions. Refer to the Subscriber Functionality in Functions Requirements for additional details.
FRR-37.2.0GMAT functions shall support the following core requirements:
FRR-37.2.11)      The system shall allow GMAT functions to be called from the main script or mission sequence.
FRR-37.2.22)      The system shall allow GMAT functions to be called inside of GMAT functions.
FRR-37.2.33)      The system shall allow function iteration: the ability for a current function to call another function and for that function to call the current function.
FRR-37.2.44)      The system shall allow recursive GMAT function calls.
FRR-37.2.55)      The system shall allow the user to employ any command supported by GMAT, inside of GMAT functions.
FRR-37.2.66)      The system shall allow MATLAB to be called from inside of functions.
FRR-37.2.77)      They system shall not allow a MATLAB function to call a GMAT function.
FRR-37.2.88)      The system shall only support functions with contents residing inside of a .gmf ascii file.
FRR-37.2.99)      The system shall perform validation on all declared functions when GMAT performs the following actions: Run, Build, Build&Run.
FRR-37.2.1010)   The system shall reset the function control sequence to the current contents of the function file at runtime.
FRR-37.2.1111)   The system shall only allow one function to be defined inside of a function file.
FRR-37.2.1212)   A warning shall be thrown and only the first function in the file shall be used If more than one function is present in a file.
FRR-37.2.1313)   The system shall process user actions to pause or stop via the GUI while executing a function.
FRR-37.2.1414)   The system shall require that a function is declared before use. Function declaration consists of GMAT parsing through CallFunction lines and collecting a listing of all functions that are not predefined, Matlab, or other non-GMAT user-defined functions. The collected listing contains the declared user-defined functions. The use of a Create line is not needed for user-defined function.
FRR-37.2.1515)   The system shall allow the user to specify the GMAT function file location on a function by function basis.
FRR-37.2.1616)   The system shall allow the user to define a list of function paths for user-created GMAT functions.
FRR-37.2.1717)   If a function path is not provided for a specific GMAT function, GMAT will search the list of function paths in the order they are provided.
FRR-37.2.1818)   If there are multiple GMAT functions of the same name in the list of GMAT function paths, the system shall use the first function found in the by searching the path from top to bottom.
FRR-37.3.0GMAT functions shall support the following scoping requirements:
FRR-37.3.11)      The system shall allow users to create local variables and Resources inside of GMAT functions.
FRR-37.3.22)      Any Resource that can be created and used in the main mission sequence shall be creatable and useable inside of a GMAT function.
FRR-37.3.33)      The system shall treat the GMAT solar system model as a global parameter without using the Global command.
FRR-37.3.44)      The system must treat Coordinate Systems as global. Coordinate System objects do not need to use the Global syntax to be set as global.
FRR-37.3.55)      The system must treat Propagators as global. Propagator objects do not need to use the Global syntax to be set as global.
FRR-37.3.66)      The system must allow users to declare any previously created object global, excluding the objects that are always global, in all instances it is used.
FRR-37.3.77)      Objects that are declared global are available in the main script, and internally in functions without being explicitly stated in the input sequence.
FRR-37.3.88)      The system shall declare global objects in the scope of each function or script that use the object, but only create the object in one of these elements.
FRR-37.3.99)      Global objects are declared using the “Global” keyword, which functions the same way MATLAB’s “global” keyword functions.
38Parameters and CalculationsFRR-38.1.0The system shall allow the user to calculate or set the following object properties with respect to any celestial body in FRR-16:
FRR-38.1.1.01)      Spacecraft and orbit parameters
FRR-38.1.1.11. Altitude (read only)
FRR-38.1.1.22. Beta angle (read only)
FRR-38.1.1.33. C3 energy (read only)
FRR-38.1.1.44. Eccentric anomaly (read/write)
FRR-38.1.1.55. Eccentricity (read/write)
FRR-38.1.1.66. Orbit energy (read only)
FRR-38.1.1.77. Magnitude of angular momentum (read only)
FRR-38.1.1.88. Latitude (read only)
FRR-38.1.1.89. Longitude (read only)
FRR-38.1.1.1010.                     Local sidereal time (read only)
FRR-38.1.1.1111.                     Mean anomaly (read/write)
FRR-38.1.1.1212.                     Mean hour angle (read only)
FRR-38.1.1.1313.                     Mean motion (read only)
FRR-38.1.1.1414.                     Orbit period (read only)
FRR-38.1.1.1515.                     Radius of apogee (read/write)
FRR-38.1.1.1616.                     Radius of perigee (read/write)
FRR-38.1.1.1717.                     Magnitude of position vector (read only)
FRR-38.1.1.1818.                     Orbit semi-latus rectum (read only)
FRR-38.1.1.1919.                     Orbit semi major axis (read/write)
FRR-38.1.1.2020.                     True anomaly (read/write)
FRR-38.1.1.2121.                     Velocity at apoapsis (read only)
FRR-38.1.1.2222.                     Velocity at periapsis (read only)
FRR-38.2.0The system shall allow the user to calculate the following object properties with respect to any coordinate system in FR-xxx:
FRR-38.2.1.01)      Spacecraft and orbit parameters
FRR-38.2.1.11. Argument of periapsis (read/write)
FRR-38.2.1.22. Azimuth (read/write)
FRR-38.2.1.33. B dot T (read only)
FRR-38.2.1.44. B dot R (read only)
FRR-38.2.1.55. B vector angle (read only)
FRR-38.2.1.66. B vector magnitude (read only)
FRR-38.2.1.77. Declination (read/write)
FRR-38.2.1.88. Declination of velocity (read/write)
FRR-38.2.1.99. Flight path angle (read/write)
FRR-38.2.1.1010.                     Hyperbolic anomaly (read/write)
FRR-38.2.1.1111.                     Orbit angular momentum components (read only)
FRR-38.2.1.1212.                     Orbit inclination (read/write)
FRR-38.2.1.1313.                     Orbits transition matrix (read only)
FRR-38.2.1.1414.                     3x3 partitions of Orbit STM (read only)
FRR-38.2.1.1515.                     Right ascension (read/write)
FRR-38.2.1.1616.                     Right ascension of the ascending node (read/write)
FRR-38.2.1.1717.                     Right ascension of velocity (read/write)
FRR-38.2.1.1818.                     Magnitude of velocity (read/write)
FRR-38.2.1.1919.                     Components of velocity (read/write)
FRR-38.2.1.2020.                     Components of position (read/write)
FRR-38.2.1.2121.                     Right Asencsion of Outgoing Aysptote (read/write)
FRR-38.2.1.2222.                     Declination of Outgoing Aysptote (read/write)
FRR-38.3.0The system shall allow the user to calculate the following object properties:
FRR-38.3.1.01)      Spacecraft and orbit parameters
FRR-38.3.1.33. Spacecraft Angular velocity components (read/write)
FRR-38.3.1.44. Drag coefficient (read/write)
FRR-38.3.1.55. SRP coefficient (read/write)
FRR-38.3.1.66. Direction cosine matrix components ( read/write)
FRR-38.3.1.77. Drag area (read/write)
FRR-38.3.1.88. Dry mass (read/write)
FRR-38.3.1.99. Elapsed days (read only)
FRR-38.3.1.1010.                     Elapsed seconds (read only)
FRR-38.3.1.1111.                     Euler angles for any sequence (read/write)
FRR-38.3.1.1212.                     Euler angle rates for any sequence (read/write)
FRR-38.3.1.1313.                     Quaternion components (read/write)
FRR-38.3.1.1414.                     SRP area (read/write)
FRR-38.3.1.1515.                     Epoch in TAI modified Julian (read/write)
FRR-38.3.1.1616.                     Epoch in TAI Gregorian (read/write)
FRR-38.3.1.1919.                     Epoch in TDB modified Julian (read/write)
FRR-38.3.1.2020.                     Epoch in TDB Gregorian (read/write)
FRR-38.3.1.2121.                     Epoch in TT modified Julian (read/write)
FRR-38.3.1.2222.                     Epoch in TT Gregorian (read/write)
FRR-38.3.1.2323.                     Epoch in UTC modified Julian (read/write)
FRR-38.3.1.2424.                     Epoch in UTC Gregorian (read/write)
FRR-38.3.1.2525.                     Spacecraft total mass (read only)
FRR-38.3.1.2626.                     Modified Rodriguez parameters (read/write)
FRR-38.3.1.2727.                     Euler Angles (read/write)
FRR-38.3.1.2828.                     Euler Angle Rates (read/write)
FRR-38.3.2.02)      Impulsive burn parameters
FRR-38.3.2.11. Element1 (read/write)
FRR-38.3.2.22. Element2 (read/write)
FRR-38.3.2.33. Element3 (read/write)
FRR-38.3.2.44. Velocity component (read/write)
FRR-38.3.2.55. Normal component (read/write)
FRR-38.3.2.66. Binormal component (read/write)
FRR-38.3.3.03)      Tank Properties
FRR-38.3.3.11. Pressure (read/write)
FRR-38.3.3.22. Volume (read/write)
FRR-38.3.3.33. Fuel Density (read/write)
FRR-38.3.3.44. Fuel Mass (read/write)
FRR-38.3.3.55. Temperature (read/write)
FRR-38.3.3.66. RefTemperature (read/write)
41Event LocatorFRR-41.1.0The event locator shall locate eclipse events with the following options:
FRR-41.1.11)      Find eclipses for a user-defined list of spacecraft
FRR-41.1.22)      Find eclipses for a user –defined list of occulting celestial bodies
FRR-41.1.33)      Find eclipses for a user-defined list of eclipse types with the following options:
FRR-41.1.3.11. Penumbra entry/exit
FRR-41.1.3.22. Umbra entry/exit
FRR-41.1.3.33. Penumbra/Umbra entry/exit
FRR-41.1.3.44. All eclipse types entry/exit
FRR-41.2.0The event locator shall locate rise/set events with the following options:
FRR-41.2.11)      Find rise/set times for a user-defined list of spacecraft
FRR-41.2.22)      Find rise/set times for a user-defined list of ground stations
FRR-41.2.33)      Find rise/set times for a user-defined list of event types
FRR-41.2.3.1                                                               i.      Station rise time
FRR-41.2.3.2                                                             ii.      Station set time
FRR-41.2.3.3                                                            iii.      Station rise/set time
FRR-41.2.3.44)      Find rise/set times for a user-defined list of occulting bodies
FRR-41.3.0The event location utility shall support the following root finding methods for event location:
FRR-41.3.11)      Brent’s method with user-defined tolerance
FRR-41.4.1The event location utility shall optionally create an event report.
FRR-41.5.0The event location report shall contain the following information for each interval event:
FRR-41.5.11)      Event type
FRR-41.5.22) Event Duration
FRR-41.5.33)      Event UTC start epoch
FRR-41.5.44)      Event UTC end epoch
FRR-41.5.55)      List of Participants
FRR-41.6.0The event location report shall contain the following summary information:
FRR-41.6.11)      Maxumium duration for each event type
FRR-41.6.22) Particpants for max. duration events by type
FRR-41.6.33)      Number of events by type
FRR-41.7.0The system shall support the following abberation models for event location
FRR-41.7.11)      No aberration correction (use true position/velocity)
FRR-41.7.21)      Light time correction (use apparent position/velocity)
42Groundtrack Plot*FRR-42.1.0The system shall allow the user to choose among the following objects as the central body of a ground track plot:
FRR-42.1.11)      Default Celestial Body
FRR-42.1.22) User-defined Body
FRR-42.2.0The Ground Track Plot shall draw the longitude and latitude time-history for the following object types:
FRR-42.2.11)      Spacecraft
FRR-42.2.32) Groundstation
FRR-42.3.0The system shall display icons on the ground track to indicate the locations of the following object types:
FRR-42.3.11) Spacecraft
FRR-42.3.22) Groundstation
FRR-42.4.0The system shall display object labels next to the icons for the following object types:
FRR-42.4.11) Spacecraft
FRR-42.4.22) Groundstation
FRR-42.5.0The system shall allow the user to define the data plotting options for a ground track plot:
FRR-42.5.11) The number of integration steps to skip between plot points
FRR-42.5.22) The number of plot points to collect before updating a ground track plot
FRR-42.5.33) The number of plot points to retain and redraw during propagation and animation.
FRR-42.6.0The system shall allow the user to specify how data is drawn to Ground Track Plots during iterative processes such as differential correction, optimization, and estimation. The following options shall be available:
FRR-42.6.11) Show all iterations/perturbations
FRR-42.6.22) Show current iteration/perturbation only
FRR-42.6.33) Show solution only
FRR-42.7.0The system shall allow the user to specify a texture map using the following options
FRR-42.7.11) Use default texture map for central body
FRR-42.7.22) Use user-defined texture map.
FRR-42.8The system shall optionally display or not display a configured ground track plot
FRR-42.9The Ground Track Plot shall display the epoch in UTC Gregorian format
FRR-42.10The system shall allow the user to animate the Ground Track Plot after a run is complete
FRR-42.11The system shall display the latitude and longitude values when the cursor is placed over a GroundTrackPlot.