70 likes | 186 Views
NEMS/NMMB Code Management Discussion. Current Approach (for community contributions) Goals of a Code Management Plan Working with existing processes Learning from other software groups Definitions/Use Cases General Q&A. Background.
E N D
NEMS/NMMB Code ManagementDiscussion • Current Approach (for community contributions) • Goals of a Code Management Plan • Working with existing processes • Learning from other software groups • Definitions/Use Cases • General Q&A
Background • DTC has taken a leading role in providing a mechanism for “community” developers to interact with the software packages used and developed by EMC • WRF (including HWRF) • HWRF (additional components beyond WRF) • GSI • UPP • The approach is slightly different for each, depending on the process that is already in place • NEMS/NMMB is at the beginning stages of this process
Current Approach • “Community” developments for NEMS/NMMB have been small and well-contained so far • Makefile/configure updates for NCAR computer (Yellowstone) • Greg Thompson’s microphysics package • DTC has coordinated testing of these capabilities, using a tagged version of the code, and then passed the updates to EMC (Dusan) for addition to the EMC repository
Porting to jet, NMMB distributions • Friendly user “release” of NEMS/NMMB has focused on: • Packaging the required libraries (nceplibs and external) • Creating top-level Makefile/scripts to facilitate the building of the code • A new EMC repository has been created (Thanks Dusan!) which contains externals-links to the various components needed • NPS • NEMS • nceplibs • A compile-script to aid in compilation on other platforms (jet, yellowstone in particular)
Goals of a Code Management Plan • To establish a link between the operational and research communities by maintaining a community repository and providing regular public releases and user support for this software package. • In order to benefit the entire NWP community, the community repository must be maintained in a way that allows future updates and enhancements to be contributed by, and shared between, both the operational and research communities. • Supporting and managing a version of the package applicable to community and operational users requires a plan for coordinating the sharing of code between developers with diverse needs. • Community users may contribute modifications and enhancements to the package; these modifications will be tested and made available to the operational community.
Working with existing processes @ EMC • Learning from other groups (WRF, GSI, UPP, HWRF) • Use Cases • New physics package • Changes to framework (efficiency, portability, etc) • Additional user-friendly diagnostics/etc • Others?