You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »


Known Bugs


JIRA ID Summary Recommendation 
GMT-585 Multiple redundant properties/fields for epoch 
GMT-1098 Tab key navigation fails 
GMT-1346 Add ability for user-defined parameters 
GMT-1439 Parameter design for multiple dependency 
GMT-1483 Ability to Calculate and Output Sun Vector to any point 
GMT-1899 Beta Angle is Off by about .003 degrees 
GMT-1933 Earth Fixed RA changed from 0-360 to -180-180 measurement 
GMT-2011 Larger angular momentum errors in 09/15 build 
GMT-2318 STM Parameters are wrong when using Coordinate System other than EarthMJ2000Eq 
GMT-2475 Provide a parameter to check convergence status of a VF13 optimizer 
GMT-2673 User Reported: Parameter Select Dialog Box Silently Changes User's Selected Object 
GMT-2755 ParameterCreateDialog does not close properly after adding string parameter on Mac 


Failing Tests

Failing tests listed as of 09/11/2012.


JIRA ID Test Summary Rec. 










Other Findings


JIRA ID Summary Rec. 
 Inconsistent naming: RadApo/RadPer and VelApoapsis/RadPeriapsis 
 ParameterSelectDialog is badly named 
 ParameterSelectDialog string consistency issues 
 ParameterSelectDialog doesn't remove item from available list once chosen 




ID Requirements 
FRR-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-      Spacecraft and orbit parameters
FRR-   Altitude (read only)
FRR-   Beta angle (read only)
FRR-   C3 energy (read only)
FRR-   Eccentric anomaly (read/write)
FRR-   Eccentricity (read/write)
FRR-   Orbit energy (read only)
FRR-    Magnitude of angular momentum (read only)
FRR-    Latitude (read only)
FRR-    Longitude (read only)
FRR-                     Local sidereal time (read only)
FRR-                     Mean anomaly (read/write)
FRR-                     Mean hour angle (read only)
FRR-                     Mean motion (read only)
FRR-                     Orbit period (read only)
FRR-                     Radius of apogee (read/write)
FRR-                     Radius of perigee (read/write)
FRR-                     Magnitude of position vector (read only)
FRR-                     Orbit semi-latus rectum (read only)
FRR-                     Orbit semi major axis (read/write)
FRR-                     True anomaly (read/write)
FRR-                     Velocity at apoapsis (read only)
FRR-                     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-      Spacecraft and orbit parameters
FRR-   Argument of periapsis (read/write)
FRR-   Azimuth (read/write)
FRR-   B dot T (read only)
FRR-   B dot R (read only)
FRR-   B vector angle (read only)
FRR-   B vector magnitude (read only)
FRR-   Declination (read/write)
FRR-   Declination of velocity (read/write)
FRR-   Flight path angle (read/write)
FRR-                     Hyperbolic anomaly (read/write)
FRR-                     Orbit angular momentum components (read only)
FRR-                     Orbit inclination (read/write)
FRR-                     Orbits transition matrix (read only)
FRR-                     3x3 partitions of Orbit STM (read only)
FRR-                     Right ascension (read/write)
FRR-                     Right ascension of the ascending node (read/write)
FRR-                     Right ascension of velocity (read/write)
FRR-                     Magnitude of velocity (read/write)
FRR-                     Components of velocity (read/write)
FRR-                     Components of position (read/write)
FRR-                     Right Asencsion of Outgoing Aysptote (read/write)
FRR-                     Declination of Outgoing Aysptote (read/write)
FRR-38.3.0The system shall allow the user to calculate the following object properties:
FRR-      Spacecraft and orbit parameters
FRR-   Spacecraft Angular velocity components (read/write)
FRR-   Drag coefficient (read/write)
FRR-   SRP coefficient (read/write)
FRR-   Direction cosine matrix components ( read/write)
FRR-   Drag area (read/write)
FRR-   Dry mass (read/write)
FRR-   Elapsed days (read only)
FRR-                     Elapsed seconds (read only)
FRR-                     Euler angles for any sequence (read/write)
FRR-                     Euler angle rates for any sequence (read/write)
FRR-                     Quaternion components (read/write)
FRR-                     SRP area (read/write)
FRR-                     Epoch in TAI modified Julian (read/write)
FRR-                     Epoch in TAI Gregorian (read/write)
FRR-                     Epoch in TDB modified Julian (read/write)
FRR-                     Epoch in TDB Gregorian (read/write)
FRR-                     Epoch in TT modified Julian (read/write)
FRR-                     Epoch in TT Gregorian (read/write)
FRR-                     Epoch in UTC modified Julian (read/write)
FRR-                     Epoch in UTC Gregorian (read/write)
FRR-                     Spacecraft total mass (read only)
FRR-                     Modified Rodriguez parameters (read/write)
FRR-                     Euler Angles (read/write)
FRR-                     Euler Angle Rates (read/write)
FRR-      Impulsive burn parameters
FRR-   Element1 (read/write)
FRR-   Element2 (read/write)
FRR-   Element3 (read/write)
FRR-  Velocity component (read/write)
FRR-   Normal component (read/write)
FRR-   Binormal component (read/write)
FRR-      Tank Properties
FRR-   Pressure (read/write)
FRR-  Volume (read/write)
FRR-   Fuel Density (read/write)
FRR-   Fuel Mass (read/write)
FRR-   Temperature (read/write)
FRR-   RefTemperature (read/write


Interface/Functional Spec


Data property available for use by commands


Parameters are named resource properties that can be used to obtain data for use by Mission Sequence commands. Unlike resource fields, which can be set in the initialization portion of a script (or in the GUI's Resources tree),  parameters are derived properties that can only be used to get data, not store it. There is some overlap between the two categories, however: the ECC property of Spacecraft is both a field (i.e. settable during initialization) and a parameter (i.e. usable by Mission Sequence commands).

Parameters are classified as one of three types: central-body-dependent parameters, coordinate-system-dependent parameters, and standalone parameters. Standalone parameters are the simplest type, in that they have no dependencies. The ElapsedSecs parameter of Spacecraft is an example of this; it is simple referenced as Spacecraft.ElapsedSecs.

Central-body-dependent parameters, as the name suggests, have a value that is dependent on the chosen celestial body. The Altitude parameter of Spacecraft is an example of this. To reference this parameter, you must specify a central body, such as Spacecraft.Mars.Altitude. Any built-in central body or user-defined Asteroid, Comet, Moon, or Planet is valid as a dependency.

Likewise, coordinate-system-dependent parameters have a value that is dependent on the chosen coordinate system. The DEC parameter of Spacecraft is an example of this. To reference this parameter, you must specify the name of a CoordinateSystem resource, such as Spacecraft.EarthFixed.DEC. Any default or user-defined CoordinateSystem resource is valid as a dependency.

The nuances of fields and parameters in GMAT are explored in more detail in the script language documentation, and the individual parameters are documented along with the resources their parent resources. The GUI, however, has a parameter selection interface that is common to all parameters. This interface is documented in GUI, below.
See Also: Script Language, ImpulsiveBurn, Spacecraft, Tank


Parameters can be used as input in several places throughout GMAT, such as the ReportFile and XYPlot resources and the If/Else, Propagate, and Report commands. In the GUI, all of these use a common interface called the ParameterSelectDialog that allows for interactive parameter selection. A basic ParameterSelectDialog window looks like the following:

The ParameterSelectDialog window is used to build a parameter, along with any dependencies, for use in a command or resource. Some resources and commands have different requirements for the types of parameters that can be used, so the ParameterSelectDialog can take slightly different forms, depending on where it's used. This section will describe the generic interface, then mention any resource- or command-specific exceptions.

General Usage

The first step in choosing a parameter is to select the object (or resource) type from the Object Type list in the upper right. Five types can appear in this list: Spacecraft, ImpulsiveBurn, Variable, Array, and String.

Once you've selected a type, The Object List box is populated with all existing resources of that type. Use this list to choose the specific resource you'd like to reference.

If the Spacecraft type is selected, the Attached Hardware List appears below the Object List. This list displays any hardware (such as FuelTank resources) attached to the selected Spacecraft. If the Array type is selected, Row and Col boxes appear. Use these to specify a row and column to select an individual array element, or check Select Entire Object to choose the entire array.

Once a resource is selected, the Object Properties list is populated with all available parameters provided by that resource. Some resources, such as instances of Variable or Array, are themselves parameters, so this list remains empty.

Parameters with different dependency types are commingled in the Object Properties list. When you select one, the appropriate dependency (if any) appears below the list. For example, after selecting the Spacecraft.AOP parameter, a Coordinate System list appears. After selecting the Spacecraft.Apoapsis parameter, a Central Body list appears. And after selecting the Spacecraft.Cd parameter, not dependency list appears.

To select a parameter, select the appropriate Object Type, the specific resource from the Object List or Attached Hardware List, the desired parameter from the Object Properties list, and the required dependency, and add it to the Selected Value(s) list on the right. There are six buttons available to control this list:

  • UP: Move the selected item in the Selected Value(s) list up one position (if allowed).
  • DN: Move the selected item in the Selected Value(s) list down one position (if allowed).
  • ->: Add the selected item in the Object Properties list to the Selected Value(s) list.
  • <-: Remove the selected item in the Selected Value(s) list.
  • =>: Add all items to the Selected Value(s) list.
  • <=: Remove all items from the Selected Value(s) list.

When finished, the Selected Value(s) list contains the final selected parameters. Click OK to accept the selection.

Special Considerations

Some resources and commands (such as the Propagate command Parameter argument) only accept a single parameter as input; in this context the ParameterSelectDialog only allows one parameter in the Selected Value(s) list and does not allow use of the UP, DN, and => buttons.

In some instances (such as in the Vary command), only parameters that are also fields (and so can be set in the Mission Sequence) can be used. In this case only the allowed parameters will be shown in the Object Properties list.

In the Propagate command Parameter argument, only parameters of Spacecraft can be used. In this case only Spacecraft will be shown in the Object Type list.


Describe gory details of the resource.

  • Complex field interactions
  • Items relevant to user but not described in the Fields section above.
  • Group relevant information into subsections and begin the heading with “Behavior When”

Here are examples from existing specs:

  Best Practices for Using Numerical Integrators 

We recommend that you study the performance and accuracy analysis documented later in this section to select a numerical integrator for your application.  You may need to perform further analysis and comparisons for your application.  The comparison data below suggest that the PrinceDormand78 integrator is the best all purpose integrator in GMAT.  When in doubt, use the PrinceDormance78 integrator, and set MinStep to zero so that the integrator’s adaptive step algorithm controls the minimum integration step size.  

Behavior When Changing the Coordinate System 

When you select a Coordinate System for a spacecraft, you specify the origin and axes set with respect to which the state is defined. When you change the coordinate system via the GUI, the GUI performs the conversion from the initial coordinate system to the new system. Similarly, when you specify a state component via the script, that state component is set in the coordinate system defined in the CoordinateSystem field. For example, the following lines would result in the X-component of the Cartesian state of MySat to be 1000, in the EarthFixed system.


Describe the example with a short sentence two and include minimal script for example below

Create Spacecraft aSat;
Create ForceModel aForceModel;
Create Propagator aProp;
aProp.FM              = aForceModel;
aProp.Type            = PrinceDormand78;
aProp.InitialStepSize   = 60;
aProp.Accuracy        = 1e-011;
aProp.MinStep         = 0;
aProp.MaxStep         = 86400;
aProp.MaxStepAttempts = 50;
aProp.StopIfAccuracyIsViolated = true;
Propagate aProp(aSat) {aSat.ElapsedDays = .2};

Test Procedures


If you are making assumptions about how tests will be performed or that other test areas will cover some of this functionality describe that here.

Existing Tests

Describe existing test types using a row for each class of test.




Recommended Additional Tests 

Nominal Tests


  [for Resources only] Cloning the resource in the Mission Sequence, using all non-default values in all field configurations




 Unique Validation



Unique Mode Tests



Unique GUI Tests 

These are tests that are unique to the GUI interface for this feature that are not covered by the standard GUI test template and procedures.






  • No labels