Projects/Ideas
Overview of Projects and Ideas for Contributions
The information below is intended to give new contributors some direction in how they can contribute from simple enhancements to existing functionality to major feature development. We use JIRA for tracking requests for improvements to GMAT.
Large Projects
The topics below are areas where GMAT could use further development but the GMAT team does not have the resources to do the job right. We routinely get requests for these types of items, but they haven't risen to the required priority level to obtain funding and time to work on them. That doesn't mean they're not important. These are things we would like to see in GMAT!
World Class Graphics
UPDATE: The OpenFramesInterface (OFI) plugin now provides advanced realtime visualizations for GMAT. Feature requests, suggestions, and feedback for the OFI can be sent directly to the GMAT team or via the OFI Issue Board.
GMAT has good graphics, but users need (and expect) great graphics. GMAT needs contributions and efforts that improve/extend GMAT's existing 3-D and 2-D graphics.  GMAT does not currently support the following standard functionality used routinely by analysts for design and analysis of trajectories:
- Standard 3D model formats
- Vectors
- Planes
- Sensor cones
- Articulating components
- Ground regions\Overlays
- Access lines
- Footprints/limblines
- Covariance ellipsoids
- Lot's, lot's more.
There are lot's of ways to provide this functionality that should be considered. (NOTE: Licensing issues and/or high license fees may preclude some of these upon further investigation)
- Extend existing graphics components
- Interface to STK
- Interface to Celestia
- Interface to Edge by METECS, LLC.
- Interface to VESTA
- Interface to Cesium (licensed using Apache which is consistent with GMAT license!)
Multi-Platform Interfaces
There is no true multi-platform space analysis tool with the functionality to design, optimize, control, and navigate missions to just about anywhere in the Solar System. GMAT is relatively close though. Due to limited resources, our team has stopped supporting Mac and Linux to the extent that we do not test on those platforms, and only fix the most egregious issues on those platforms. In short, GMAT is alpha software on Mac and Linux. One possible solution to this problem is for someone in the develop community to develop a rich, script-driven interface that is truly cross platform. This interface need not be flight-qualified, but could be used for analysis and design on all platforms.  Here is a list of functionality and activities we feel are essential for a cross-platform effort.
- Rich script editor
- Syntax highlighting
- Code completion
- Code folding
- Standard text editing (copy, paste, etc.)
- Graphical output
- Feature rich 3-D graphics
- Feature rich Ground Tracks
- Data plotting (2-D, 3-D, Contour)
- Reporting displays
- Cross Platform Infrastructure/QA
- Build test automation
- Testing/QA on multiple platforms
- Fixing platform specific defects
Note: GMAT currently uses WxWidgets. Our experience is that the quality of WxWidgets is very low on Mac, and lower than we would like on Linux. (This may change with WxWidgets 3.0). However, it is worth investigating all options for improved cross-platform support, even the use of non open-source, cross-platform libraries that require  licensing fees.Â
Event Location
GMAT has preliminary functionality for locating events such as eclipses but it is currently in alpha form. This functionality is critical for mission design and planning and is a serious shortcoming in GMAT.  There are lot's of options to address this issue.  Here are some ideas to consider:
- Evaluating and completing the existing functionality in GMAT. GMAT currently computes eclipses as propagation occurs. There are potential issues with stiffness (Integrating orbit dynamics (slow) and event dynamics (could be fast) ) , and it may not work with light time computations over large distances. Maybe most importantly, the "locate-as-you propagate" approach is very complex when integrated with the programming aspects of GMAT ( Flexible targeters, for loops, assignment commands). Should we move forward this this and fix it, or consider another option?
- Integrate with STK 10 Free version. In STK 10, AGI provided eclipse and access location in the free version. Thanks! This is great. One option is to consider integrating GMAT transparently with the free version of STK 10 using CCSDS and/or SPICE ephemeris exports from GMAT to STK.
- Develop a stand alone utility for event location based on our MATLAB prototype based on this paper (Code available upon request)
Navigation Functionality
Enhancements Requests and Ideas by Feature Area
There are many feature requests and ideas ranging from bite-size projects that take a few hours, to long-term projects that could take multiple years to complete. GMAT features are organized into logical groups to help develop, test, and grow the feature area. Below are links to ideas and requests for new development by feature area.