Unless otherwise stated, Application Programming Interface (API) refers to a Web REST API that follows the OpenAPI specification.
In the context of Climate Data Management Systems (CDMS), the term “climate” is considered to capture a very broad range of environmental variables, e.g. the GCOS Essential Climate Variables (ECVs)
Climate Data Management System (CDMS)¶
A CDMS is defined in the WMO Climate Data Management System Specifications as "an integrated computer-based system that facilitates the effective archival, management, analysis, delivery and utilization of a wide range of integrated climate data".
Design patterns provide reusable solutions to common software design problems. Design patterns are like reusable templates that can be applied to solve real-world problems.
Use of the term grammar within the project is usually in reference to The Grammar of Graphics by Leland Wilkinson.
A Library API describes the interface to a software library. This prescribes the behaviour that is expected when using the public classes and methods of the software.
In the context of OpenCDMS, the term “open” primarily refers to the creation and adoption of open standards for the management and exchange of data. The OpenCDMS software solution is intend to be a Reference Implementation for relevant standards. Software developed by the project will be made available as open-source software.
Software released under an open-source license as defined by the Open Source Initiative in the Open Source Definition.
Within the OpenCDMS project, the term process is used to refer to an isolated, reusable and testable module of code. Each process can be treated as a black box, where the implementation does not need to be known, as long as the process behaves as defined in it’s documentation (docstring) and passes the related automated tests. In OpenCDMS, processes allow the reuse of capabilities from external systems without requiring these to be rewritten.
The product owner manages the product backlog (the software development work to be undertaken) and prioritises these in order to achieve the goals and deliver the maximum possible value.
A program that implements all requirements from a corresponding specification. The reference implementation often accompanies a technical standard, and demonstrates what should be considered the "correct" behavior of any other implementation of it.