National Unified Operational Prediction Capability(NUOPC), Common Model Architecture: Interoperability in operational weather prediction
Dave McCarren, Navy Deputy for National Unified Operational Prediction Capability (NUOPC), at Commander, Naval Meteorology and Oceanography Command Cecelia Deluca, NOAA/CIRES Environmental Software Infrastructure and Interoperability Gerhard Theurich, SAIC
NUOPC is a joint effort between NOAA and DoD to improve collaboration and accelerate the development of computational tools for operational numerical weather prediction. This partnership is focused on leveraging multi-agency resources to create a National Unified Ensemble. NUOPC has two main tracks. The first focuses on the implementation of the National Unified Ensemble using existing model codes, and the second focuses on the creation of a Common Model Architecture (CMA) to increase opportunities for model co-development and controlled experimentation. The two tracks are related: as the CMA and the codes that use it evolve, the National Unified Ensemble will gain capabilities and options. It will be possible to exchange large scale components and individual parameterizations more easily to create new configurations and experiments. CMA specifies rules and conventions that guide modelers to create interoperable software, building on existing community standards. Modelers who follow the NUOPC conventions when developing software will find it easier to integrate their contributions into conformant modeling systems. This helps to create a clearer path for transferring codes and knowledge between research and operations.
An interagency working group developed the original strategy for the CMA over a series of meetings from 2007 to 2009. Their final report was approved and published in 2009 and established a well-developed plan to implement this strategy across the partners. This effort identified a target level of interoperability and what would be needed in order to achieve it. The plan included component interface standards, a variety of metadata standards, time and data ownership conventions, and a compliance checker. The CMA group recommended use of the Earth System Modeling Framework (ESMF) as foundational infrastructure. ESMF is an established high performance, multi-agency framework that supports building and coupling model components. The CMA group agreed to develop a NUOPC Layer that called ESMF methods underneath, but introduced additional code in order to achieve the target interoperability level. Beta versions of this NUOPC Layer have been bundled with recent releases of ESMF, and a production release is expected by early 2013.
The NUOPC Layer currently consists of templates for creating components, a set of utility routines, and a field metadata dictionary. All three parts are implemented on top of the standard ESMF types. No new derived types are introduced, allowing easy introduction of the NUOPC layer into standard ESMF applications. Further a compliance checker mode was added to ESMF to help during the development of coupled model codes under NUOPC. Finally, a set of documented example codes demonstrating the correct and efficient use of the NUOPC layer was created and placed in an accessible repository.
The NUOPC Layer contains generic versions of the kinds of code used in coupled systems. There are templates for model drivers, models, simple connectors, and mediators, which can include more complex merging and brokering. A NUOPC generic component can be further specialized by a modeler to fully implement the required functionality. Providing this level of templatization greatly lowers the burden carried by the application developer when writing standard compliant code. Having a tangible implementation of the conventions also helps the NUOPC CMA committee to further refine and develop the interoperability standards.
Typical components in CMA applications are atmosphere, ocean, sea ice, land, and wave models. Operational Prediction Centers and research and development agencies are using these tools for implementing models and streamlining the process from research to operations. Developers have reported that this layer and code checker greatly facilitate their development efforts.
More than 85 components have adopted ESMF interfaces. A growing subset of these codes is adopting the NUOPC Layer. Below is a list of some modeling groups which are working with and helping to evolve these interoperability standards:
Global Forecast System (GFS) Global Ensemble Forecast System (GEFS) North American Mesoscale Model (NMM) Finite Element Icosahedral Model (FIM) NOAA Environmental Modeling System (NEMS) Naval Operational Global Atmospheric Prediction System (NOGAPS) Coupled Ocean Atmosphere Mesoscale Prediction System (COAMPS) Navy Coastal Ocean Model (NCOM) Hybrid Coordinate Ocean Model (HYCOM) Wave Watch 3 (WW3) Community Ice Code (CICE) Ensemble Forecast System (EFS) Simulating Waves Near Shore (SWAN)
A CMA Committee has guided development of the NUOPC Layer and has identified new areas that require standards. As the partnership matures, it has grown to include international participants and representatives from related domains such as hydrology. A subgroup of CMA, the Physics Interoperability Group, has been formed to investigate developing common standards into the physics module inside a model. This would allow for testing of different techniques easily across modeling systems. A technical working group from NUOPC, the Content Standards Committee, has been made part of the ESMF management structure to socialize the NUOPC standards across the modeling community. The collaboration is being expanded across the partners of the Earth Systems Prediction Capability (ESPC) and will broaden their efforts to evolve and develop a common structure for future models.