GMAT (General Mission Analysis Tool): Precision Orbit Determination and Maneuver Planning for Defense Space Operations
Overview
The General Mission Analysis Tool (GMAT) is an open-source, high-fidelity space mission analysis platform developed by NASA's Goddard Space Flight Center and maintained as a community project under the Apache 2.0 license. While widely used in civil space programs, GMAT has become an increasingly critical tool in defense space operations—supporting satellite constellation management, orbital maneuver planning, conjunction analysis, and space situational awareness (SSA) workflows. This article examines GMAT's core numerical propagation capabilities, its scripting architecture, and practical workflows for defense-relevant mission scenarios.
Why GMAT for Defense Space Operations
Defense space operators face a distinct set of requirements compared to civil mission planners: rapid maneuver authorization timelines, conjunction screening against classified and unclassified catalogs, and the need to model adversarial orbital behaviors. GMAT addresses these needs through:
- High-fidelity force modeling: GMAT supports EGM96/EGM2008 gravity models (up to degree/order 360), atmospheric drag via NRLMSISE-00 and JB2008, solar radiation pressure with cylindrical and dual-cone shadow models, and third-body perturbations from the Sun, Moon, and planets.
- Multiple numerical integrators: The Runge-Kutta 8(9) and Prince-Dormand 7(8) integrators with adaptive step-size control provide sub-meter propagation accuracy over multi-day arcs—essential for close-approach analysis.
- Scriptable automation: GMAT's native scripting language and MATLAB/Python interfaces allow analysts to automate repetitive maneuver planning tasks and integrate GMAT into larger mission operations pipelines.
Orbit Propagation Architecture

GMAT's propagation subsystem is built around the concept of a Propagator object paired with a ForceModel object. A typical defense SSA workflow configures the force model as follows:
Create ForceModel FM_HighFidelity;
FM_HighFidelity.CentralBody = Earth;
FM_HighFidelity.PrimaryBodies = {Earth};
FM_HighFidelity.GravityField.Earth.Degree = 70;
FM_HighFidelity.GravityField.Earth.Order = 70;
FM_HighFidelity.GravityField.Earth.Model = 'EGM96';
FM_HighFidelity.Drag.AtmosphereModel = 'JB2008';
FM_HighFidelity.SRP = On;
FM_HighFidelity.PointMasses = {Sun, Luna, Jupiter};
The degree/order 70 gravity field is a practical balance between accuracy and computational cost for LEO conjunction screening. For GEO station-keeping analysis, analysts typically reduce to degree/order 8 while retaining lunisolar perturbations.
Coordinate system flexibility is a key GMAT strength. Defense analysts routinely work in Earth-Centered Inertial (ECI J2000), Earth-Centered Earth-Fixed (ECEF), and True-of-Date (TOD) frames. GMAT natively supports all of these, plus body-fixed frames for any solar system body—useful for lunar relay satellite analysis supporting Artemis-era defense payloads.
Maneuver Planning: Impulsive and Finite Burns
GMAT supports both impulsive maneuvers (instantaneous delta-V) and finite burns (thrust integrated over time), making it suitable for both quick-look analysis and high-fidelity execution modeling.
Hohmann Transfer Example
A typical LEO-to-MEO transfer for a navigation augmentation satellite can be scripted as:
Create ImpulsiveBurn Burn1;
Burn1.CoordinateSystem = VNB;
Burn1.Element1 = 0.0; % Radial
Burn1.Element2 = 0.612; % In-track (km/s)
Burn1.Element3 = 0.0; % Normal
Maneuver Burn1(Sat);
Propagate FM_HighFidelity(Sat) {Sat.Apoapsis};
The VNB (Velocity-Normal-Binormal) frame is the standard for operational maneuver planning because it directly maps to the physical burn geometry. GMAT's Achieve and Vary commands enable targeting—automatically solving for the delta-V magnitude needed to achieve a specified final orbit parameter, which is essential for fuel-optimal maneuver planning.
Conjunction Analysis Workflow

GMAT's ContactLocator and custom scripting capabilities support conjunction analysis, though defense operators typically integrate GMAT with external conjunction data messages (CDMs) from Space-Track.org or classified sources. A practical workflow:
- Ingest TLE/SP vectors: GMAT reads Two-Line Element sets or state vectors in multiple formats. For high-value assets, analysts use SP (Special Perturbations) vectors from the 18th Space Defense Squadron.
- Propagate primary and secondary objects: Both objects are propagated with matched force models to minimize systematic errors in the relative state.
- Compute miss distance and probability of collision (Pc): GMAT outputs relative position and velocity at time of closest approach (TCA). These feed into Pc calculators (e.g., Alfano or Foster methods) implemented in companion Python scripts.
- Maneuver trade space analysis: GMAT's
Forloop andVary/Achievetargeting allow analysts to sweep maneuver epoch and delta-V magnitude to find the minimum-fuel avoidance maneuver that achieves a target miss distance.
Python Interface for Automation

GMAT's Python API (gmatpy) enables integration into automated mission operations pipelines. A minimal conjunction screening loop looks like:
import gmatpy as gmat
gmat.LoadScript("conjunction_setup.script")
gmat.RunScript()
sat = gmat.GetObject("PrimarySat")
tca_epoch = sat.GetField("TCA_Epoch")
miss_distance = sat.GetField("MissDistance_km")
if float(miss_distance) < 1.0:
print(f"WARNING: Miss distance {miss_distance} km at {tca_epoch}")
# Trigger maneuver planning workflow
This pattern is used in automated screening pipelines that process hundreds of conjunction events per day for large constellations.
Limitations and Complementary Tools
GMAT is not a complete solution for all defense space analysis needs:
- No built-in sensor modeling: Radar cross-section, optical visibility, and sensor tasking require integration with STK or custom models.
- No classified catalog access: GMAT itself has no interface to classified space surveillance networks; analysts must pre-process state vectors externally.
- Maneuver detection: Identifying adversarial maneuvers requires additional tools (e.g., Bayesian change-point detection on tracking residuals).
For end-to-end defense space operations, GMAT is typically used alongside AGI STK (for sensor and coverage analysis), ODTK (for orbit determination from tracking data), and Python-based Pc calculators.
Getting Started
- Download: GMAT SourceForge — latest stable release is R2022a
- Documentation: GMAT User Guide
- Community: GMAT Forum on SourceForge
- Python API: Available in GMAT R2020a and later; see
api/directory in the GMAT installation
GMAT's combination of high-fidelity physics, open-source accessibility, and scriptable automation makes it a foundational tool for defense space analysts working on orbit determination, maneuver planning, and space situational awareness—capabilities that are only growing in importance as the orbital environment becomes more congested and contested.