The Unidata program has been providing the geoscience community with access to and technical support for the GEMPAK software package for nearly thirty years. This post describes the current circumstances surrounding Unidata’s support for GEMPAK, and suggests some possible future actions to ensure continued community access to this resource.
But First, Some History
GEMPAK, the GEneral Meteorology PAcKage, is a suite of software for the analysis, display, and diagnosis of geo-referenced data. GEMPAK was originally developed by the Severe Storms Laboratory at the Goddard Space Flight Center of NASA in the early 1980s, and the Unidata Program began officially supporting community use of GEMPAK on UNIX systems in 1992. In 1995 NOAA adopted GEMPAK as the basis for their N-AWIPS package. Since then, Unidata has collaborated with the National Centers for Environmental Prediction (NCEP) to provide the package to the university community. Primary development of GEMPAK took place at NCEP; Unidata made code modifications to support the education and research community, many of which were re-incorporated into NCEP’s code base. Throughout, Unidata has provided a channel by which community members could get both the package itself and technical support in its use.
Beginning in 2007, NCEP began planning for the transition of National Centers and NWS forecast offices to a new AWIPS architecture, referred to at the time as “AWIPS-II.” As part of this transition, plans were put in place to phase out development (and use) of GEMPAK (known within NOAA as NAWIPS) at NCEP; Unidata began adjusting its own plans to follow suit. The transition was envisioned as a leisurely move from use of GEMPAK to use of the new AWIPS package, with AWIPS meeting the needs of existing GEMPAK users.
For a variety of reasons, development of the new version of AWIPS by the NWS (and its contracted developer) took longer than anticipated. Throughout this transition, Unidata continued to make GEMPAK available to the university community alongside versions of the new AWIPS system, which incorporates GEMPAK functionality via its user interface but does not include a scripting interface. While NCEP developers have continued to provide bug fixes and small modifications to GEMPAK/NAWIPS, NCEP’s stated policy has been that community support for the package will continue only until all NWS organizations have fully transitioned to the new AWIPS system.
Following its strategic planning for the transition, Unidata over time decreased the resources dedicated to maintaining GEMPAK, while continuing to provide access to updates from NCEP where possible. By 2019, only one developer at the Unidata Program Center had specific GEMPAK expertise, and he devoted only a small fraction of his time to its maintenance.
Where We Are Today
As a result of a tragic accident, the Unidata program has had no in-house GEMPAK development expertise since mid-2019. Following the guidance of our two governing committees, Unidata has not sought to hire a new developer to work on GEMPAK, but has instead focused resources on supporting community use of the AWIPS package, which is now in use at all NWS Weather Forecast Offices and is being adopted more widely by the NWS National Centers and in the university community. We have continued to make the latest Unidata version of GEMPAK (released in February 2019) available.
On January 1, 2021, a lurking “Y2K21” bug in GEMPAK that caused dates in 2021 to be interpreted as being in 1921 disrupted use of the package within NWS and elsewhere. While fixes for the problem were found and implemented relatively quickly in the GEMPAK codebase, the incident highlighted the need for a new, community-based mechanism to support updates to and distribution of the software.
The Unidata Program has long been a champion and supplier of GEMPAK in the university community. While the program no longer has either dedicated coding expertise or resources to maintain the package, we hope to serve in a convening role to support a community-based effort in taking over long-term maintenance and any additional development.
Note that Unidata continues to develop and support alternative technologies that provide GEMPAK-like functionality, including our distribution of the AWIPS package tailored to university or individual use and the associated Python Data Access Framework (the “python-awips” package). Additionally, the MetPy suite of Python tools brings much of the domain-specific functionality of GEMPAK to the scientific Python ecosystem, and includes a “declarative” interface designed to help existing GEMPAK users transition to Python-based programming workflows.
What Community Maintenance of GEMPAK Might Look Like
GEMPAK is an open source software package, and can in theory be adopted by anyone who wishes to nurture the code base. Unidata is looking for community members who are willing and able to assume the duties of managing GEMPAK as an open source project. While the Unidata Program Center no longer has the resources necessary to participate directly in development and maintenance of GEMPAK, we understand that the package is still important in the community. In order to support a smooth transition to community-based maintenance, we propose taking the following steps:
- Convening a group of community members interested in the future of GEMPAK to determine project governance mechanisms and next steps for the project.
- Providing commit access to Unidata’s GEMPAK repository on Github to a new community-based maintenance team.
- Working with the community-based team to determine where GEMPAK documentation should be hosted. Documentation will remain available on Unidata’s web site until a suitable replacement is available.
- Working with the community-based team to determine the future role of the gembud mailing list. The mailing list will remain in operation under Unidata’s auspices until a suitable replacement is available.
We envision the community-based GEMPAK open source effort as a self-sustaining program, with Unidata acting as a community member rather than as the software’s official maintainer. Once the GEMPAK community has put its own governance structures in place, Unidata’s role will shift to that of a supporting player. Possibilities for future involvement by Unidata include:
- Continuing to host the project under Unidata’s organizational Github repository
- Continuing to host the gembud mailing list
- Hosting on-line documentation
- Assisting the community-based team in assuming the maintenance role by convening meetings or providing technical advice where possible
Unidata’s hope in setting this process in motion is that through community involvement, educators and researchers can retain access to the GEMPAK software for as long as it is useful to them. We will continue our efforts to provide alternative software packages and workflows that meet the needs of the GEMPAK community, allowing community members to transition to newer technologies.
After receiving the Unidata Users Committee's input into and approval of this transition plan, we are soliciting interested volunteers to begin the process of self-organization and hand-off of the code base. We hope to find individuals interested in taking on a range of project roles including:
- Community Organizer: someone who facilitates the Github repository, provides requested reporting, and serves as a primary point of contact with Unidata and NCEP.
- Developers: community members who wish to contribute to code development and/or provide code review of Github pull requests.
- Testers: community members who will contribute time to test changes to the GEMPAK code base before they are made widely available.
Daryl Herzmann of Iowa State University has agreed to serve as the initial point of contact for those interested in contributing to this project. If you would like to participate or have suggestions for making a smooth transition to community management, contact him at:
Iowa State University