Open Source at NASA with the General Mission Analysis Tool(GMAT)

Shannon Crowley
5 min readMay 29, 2020

--

Open-source software is a great way to learn and explore technologies that are used day-to-day in some of the largest and most popular companies. For me, space exploration has always held my fascination, and while I may not be traveling to the Moon anytime soon, getting to work with the software that assists in NASA missions that will, is the next best thing.

What is open source?

Open-source software is available for anyone to download, study, and modify. Many companies choose open-source as a way to bring a unique perspective to a project. A 2008 report by the Standish Group stated that the adoption of open-source software models has resulted in savings of about $60 billion per year for consumers. The top four reasons (as provided by Open Source Business Conference survey) individuals or organizations choose open-source software are:

  1. lower cost
  2. security
  3. no vendor ‘lock-in’
  4. better quality

NASA has used open-source to address project and mission needs, to accelerate software development, and to increase public awareness and impact of their research. Let’s take a look at one piece of open-source software, in particular, The General Mission Analysis Tool. For a full list of NASA open source projects, please see: https://code.nasa.gov/#/

What is the General Mission Analysis Tool (GMAT)?

GMAT has been an open-source project with NASA since 2011. It is an independent trajectory optimization and design system designed to model and optimize spacecraft trajectories in flight regimes ranging from low Earth orbit to lunar applications, interplanetary trajectories, and other deep space missions. In other words, it helps to plan the path that various spacecraft will travel on during their mission. The goal of the GMAT project is to develop new space trajectory optimization and mission design technology by working inclusively with ordinary people, universities, businesses, and other government organizations, and to share that technology in an open and unhindered way. This tool is currently supporting active missions, including:

  • Solar and Heliospheric Observatory (SOHO): The Solar and Heliospheric Observatory was designed to study the internal structure of the sun, its extensive outer atmosphere, and the origin of the solar wind.
  • Advanced Composition Explorer (ACE): observes particles of solar, interplanetary, interstellar, and galactic origins, spanning the energy range from solar wind ions to galactic cosmic ray nuclei.
  • Transiting Exoplanet Survey Satellite (TESS): a space telescope for NASA’s Explorers program, designed to search for exoplanets using the transit method in an area 400 times larger than that covered by the Kepler mission
  • Lunar Reconnaissance Orbiter (LRO): a NASA robotic spacecraft currently orbiting the Moon in an eccentric polar mapping orbit. Data collected by LRO have been described as essential for planning NASA’s future human and robotic missions to the Moon
  • Solar Dynamics Observatory (SDO): The goal of the SDO is to understand the influence of the Sun on the Earth and near-Earth space by studying the solar atmosphere on small scales of space and time and in many wavelengths simultaneously

How can you get started

GMAT is a free and open-source software system: free for anyone to use in the development of new mission concepts or to improve current missions, freely available in source code form for enhancement or further technology development. To get started, download the software and take a look at what it can do. If you see an open issue or something that can be improved, you can make the changes to the code on your local computer, and then submit them to NASA. Let's take a deeper look.

Let's first download the tool and take a look at what it can do.

The most current version of the software can be downloaded here: https://sourceforge.net/projects/gmat/

The below instructions are for a Mac computer only. For more information on installation on Linus/Windows, please follow the instructions in the “README” file found in the downloaded GMAT folder.

Since the GMAT application is currently unsigned, Mac security will
not allow it to run in the bin folder. Without the below fix, you will receive an error that states it “cannot open the startup file” when first launching. This can be fixed manually by doing the following:

1. Open the downloaded ‘GMAT’ folder
2. Open the ‘bin’ folder and locate the GMAT application. The current download is named: GMAT-R2018a_Beta
3. Drag the application (not the entire bin folder) to your Desktop
4. Drag and drop the GMAT application back into the bin folder

This will clear the ‘UseAppTranslocation’ flag in the OS and will allow
GMAT to be run from the bin folder. Once these steps are finished, run the application by opening terminal, and type these commands one at a time.

  1. First, we will browse to the location of the GMAT folder. On a Mac, the default location is the Downloads folder. In terminal type:
  • cd Downloads/GMAT/R2018a/bin

and then press enter.

2. To then open the Application, In terminal type:

  • open GMAT-R2018a_Beta.app

and then press enter

The application should now be open and ready for you to use! If you have any problems with installation, please refer to the README.txt file found in the R2018a folder.

Make Changes to the GMAT code

Take a look at the guide for contributors on how to download and make changes to the software. This will also contain some best practices to think about when making a change that will be officially submitted to NASA.

http://gmatcentral.org/display/GW/For+Contributors

If you would like some guidance or inspiration on where to start, you can check out the active bug page. These bugs are submitted by users that use this software and should have the steps on how to reproduce the issue yourself. The link to the bug page can be found here:

http://li64-187.members.linode.com:8080/secure/Dashboard.jspa

When you're ready to submit your changes

After playing with the software, if you’ve made a change to the code to that fix a bug or optimizes an existing feature, you can submit your changes to be officially added to the next software distribution. This will make your code part of the official open-source project. Check out the guide that NASA has provided on how to publish your changes:

https://code.nasa.gov/#/guide

For further questions on the GMAT software, in particular, email Goddard Space Flight Center at:
gsfc-softwarerequest@mail.nasa.gov

Happy Exploring!

--

--

Shannon Crowley
Shannon Crowley

Responses (1)