OPeNDAP, an acronym for "Open-source Project for a Network Data Access Protocol", is a data transport architecture and protocol widely used by earth scientists. The protocol is based on HTTP and the current specification is OPeNDAP 2.0 draft. OPeNDAP includes standards for encapsulating structured data, annotating the data with attributes and adding semantics that describe the data. The protocol is maintained by OPeNDAP.org, a publicly funded non-profit organization that also provides free reference implementations of OPeNDAP servers and clients.
An OPeNDAP client could be an ordinary browser, although this gives limited functionality. Usually, an OPeNDAP client is a graphics program (like GrADS, Ferret or ncBrowse) or web application (like DChart) linked with an OPeNDAP library.
An OPeNDAP client sends requests to an OPeNDAP server, and receives various types of documents or binary data as a response. One such document is called a DDS (received when a DDS request is sent), that describes the structure of a data set. A data set, seen from the server side, may be a file, a collection of files or a database. Another document type that may be received is DAS, which gives attribute values on the fields described in the DDS. Binary data is received when the client sends a DODS request.
An OPeNDAP server can serve an arbitrarily large collection of data. Data on the server is often in HDF or NetCDF format, but can be in any format including a user-defined format. Compared to ordinary file transfer protocols (e.g. FTP), a major advantage using OPeNDAP is the ability to retrieve subsets of files, and also the ability to aggregate data from several files in one transfer operation.
- THREDDS -- Thematic Realtime Environmental Distributed Data Services
- dapper - OPeNDAP server for in-situ data
- DChart - Web viewer for NOAA Observing System data (in-situ data)
- ncBrowse - Java viewer for OPeNDAP netCDF files (supports wide range of netCDF conventions)
- NCAR Command Language - analysis and visualization software
- Pydap - client/server implementation written in Python
- ERDDAP - OPeNDAP server for gridded and tabular data; supports a wide range of output file formats
- NASA GCMD OPeNDAP portal Global Change Master Directory (GCMD)
- Asia-Pacific Data Research Center -- a textbook example OPenDAP implementation