10A.1 The Public Release of Build-Script-Unified NCEP Libraries and Utilities on GitHub

Wednesday, 15 January 2020: 1:30 PM
157C (Boston Convention and Exhibition Center)
Mark Iredell, EMC, College Park, MD; and H. Lei, D. Zhang, B. Vuong, G. Vandenberghe, and G. Gayno

Handout (1.5 MB)

In order to support research development and operational production of National Weather Service numerical predictions, the NCEP libraries and utilities (collectively called NCEPLIBS) developed and maintained in National Centers for Environmental Prediction (NCEP) Environmental Modeling Center (EMC) is released on GitHub. NCEPLIBS is a collection of software libraries and utilities used by NOAA operational and research Earth prediction models. The NCEPLIBS library and utility components service the entire NCEP modeling suite, including the more than 70 applications that compose the future UFS operational modeling system. Now, community researchers can access the NCEPLIBS from the official NOAA-EMC account on GitHub.

For this release, the building scripts for all NCEPLIBS library and utility components have been unified according to the NOAA EE2 standard. Each component provides a compiler-independent makefile that only interfaces to the code and can be used on all platforms. Existing building scripts support Intel and GNU compilers on major NOAA machines. A universal community building script is also provided to use on other platforms with necessary specific modifications.

In order to improve the collaboration with community developers, the public release repository adopts the GitFlow model. Community development work will first be kept in the feature branch created from the develop branch of each repository. Once the development work is complete, the feature branch is merged back to the develop branch through the code-review procedure. The mature develop commit will be used to create a release branch for further tests and fixes toward operational upgrade or new features. After further confirmed for formal release, the release branch is merged into master branch with a tag version number created on this merge. Users can check out release tags for their applications. In addition, the repository includes the ticketing system, wiki page, and code-review. The wiki page will be used to announce the recent development and introduce the basic operation procedures of NCEPLIBS. Users can submit tickets for technique questions, development requests, and other demands. A stable and operational support copy of NCEPLIBS will remain backed up in the NOAA VLAB git repositories.

- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner