gmat-run¶
Run GMAT mission scripts from Python and get results as pandas DataFrames.
What this is¶
gmat-run drives NASA's General Mission Analysis Tool (GMAT) from Python. You bring a
working .script; gmat-run discovers your GMAT install, loads the mission, lets you
override fields from Python with type coercion, runs it headlessly, and parses GMAT's
ReportFile, ephemeris, ContactLocator, and solver-log output into typed pandas
DataFrames.
from gmat_run import Mission
mission = Mission.load("flyby.script")
mission["Sat.SMA"] = 7000
result = mission.run()
result.reports["ReportFile1"].plot(x="UTCGregorian", y="Sat.Earth.Altitude")
What this is not¶
- Not a way to build GMAT missions from scratch in Python — see gmatpyplus for that.
- Not a
.scripttext generator — see pygmat. - Not a parallel sweep runner — see gmat-sweep, an astro-tools project built on top of gmat-run.
Where to next¶
- Getting started — install gmat-run and run your first mission.
- Install GMAT — get the GMAT engine on your machine.
- Run gmat-run in your CI — wire
astro-tools/setup-gmatinto a GitHub Actions workflow. - Example notebooks — end-to-end Jupyter notebooks that exercise the API on stock GMAT missions.
- API reference — the public Python API.
- Known limitations — gmatpy single-init constraint and other gotchas.