New and modified applications (algorithms) targeted to the Weather Surveillance Radar - 1988 Doppler (WSR-88D) Radar Product Generation (RPG) subsystem are developed by various research organizations using contemporary computing platforms. Programming services used in support of application development can differ substantially from the services available on the operational RPG's proprietary computing platform. Services that differ include, for example, system support services, display management services, and distributed processing services. As a consequence, significant resources and time are often required to reengineer new application code prior to integration into the RPG.
To minimize the effort and delay associated with integrating new applications into the RPG, and to facilitate algorithm development, the NWS Office of Systems Development is sponsoring the development of the Common Operations and Development Environment (CODE). CODE will leverage the evolution of the RPG into the Open Systems RPG (ORPG) to promote greater consistency in the software architecture between new applications and the ORPG. Consistency, and the resultant ease of integration, will be achieved by promoting for new application development the use of programming services that are derived from the ORPG implementation. These programming services together with guidance for software development, testing, and documentation, will provide a starting point, or infrastructure, to facilitate application development.
CODE services will be accessible at the source code programming level through an application programming interface (API). We present our design objectives for CODE services and the API, and then describe the preliminary API architecture and design. We report also on our progress in prototyping CODE services for access to selected ORPG data and functions. We conclude the paper with a description of our vision for supporting access to CODE programming services through a means other than just the API. Namely, a visual programming tool to simplify application development and experimentation, and to leverage the advanced data analysis and visualization capabilities available in commercial visual programming environments.