OPeNDAP
{{External links|date=October 2024}}
OPeNDAP (Open-source Project for a Network Data Access Protocol) is an endeavor focused on enhancing the retrieval of remote, structured data through a Web-based architecture and a discipline-neutral Data Access Protocol (DAP).
Project
Widely used, especially in Earth science, the protocol is layered on HTTP, and its current specification is DAP4,{{Cite web|url=http://docs.opendap.org/index.php/DAP4_Specification|title=DAP4 Specification - OPeNDAP Documentation|website=docs.opendap.org}} though the previous DAP2 version remains broadly used. Developed and advanced (openly and collaboratively) by the non-profit OPeNDAP, Inc.,{{Cite web|url=https://www.opendap.org/|title=Home — OPeNDAP|date=January 7, 2024}} DAP is intended to enable remote, selective data-retrieval as an easily invoked Web service. OPeNDAP, Inc. also develops and maintains zero-cost (reference) implementations of the DAP protocol in both server-side and client-side software.
"OPeNDAP" often is used in place of "DAP" to denote the protocol but also may refer to an entire DAP-based data-retrieval architecture. Other DAP-centered architectures, such as THREDDS{{Cite web|url=https://www.unidata.ucar.edu/software/tds/|title=Unidata | THREDDS Data Server (TDS)|website=www.unidata.ucar.edu}} and ERDDAP, the NOAA GEO-IDE UAF ERDDAP{{Cite web|url=https://upwell.pfeg.noaa.gov/erddap/index.html|title=ERDDAP - Home Page|website=upwell.pfeg.noaa.gov}} exhibit significant interoperability with one another as well as with systems employing OPeNDAP's own (open-source) servers and software.
A DAP client can be an ordinary browser or even a spreadsheet, though with limited functionality (see OPeNDAP's Web page on [https://www.opendap.org/support/OPeNDAP-clients Available Client Software]). More typically, DAP clients are:
- Data-analysis or data-visualization tools (such as MATLAB, IDL, Panoply, GrADS, Integrated Data Viewer, Ferret and ncBrowse{{Cite web|url=https://www.pmel.noaa.gov/epic/java/ncBrowse/|title=A Graphical netCDF File Browser}}) which their authors have adapted to enable DAP-based data input;
- Similarly adapted Web applications (such as Dapper Data Viewer, aka DChart){{Cite web|url=https://www.pmel.noaa.gov/epic/software/dchart/|title=OPeNDAP software}}
- Similarly adapted end-user programs (in common languages)
Regardless of their types, and whether developed commercially or by an end-user, clients almost universally link to DAP servers through libraries that implement the DAP2 or DAP4 protocol in one language or another. OPeNDAP offers open-source libraries in C++ and Java, but many clients rely on community developed libraries such as [https://github.com/pydap/pydap PyDAP] or, especially, the NetCDF suite. Developed and maintained by the Unidata Program at the UCAR in multiple programming languages, all NetCDF libraries include embedded capabilities for retrieving (array-style) data from DAP servers.
A data-using client references a data set by its URL and requests metadata or content by issuing (usually through an embedded DAP library) an HTTP request to a DAP server. Content requests usually are preceded by requests for metadata describing the structure and other details about the referenced data set. With this information, the client may construct DAP constraint expressions{{Cite web|url=http://docs.opendap.org/index.php/DAP4:_Specification_Volume_1#Constraints|title=DAP4: Specification Volume 1 - OPeNDAP Documentation|website=docs.opendap.org}} to retrieve specific content (i.e., subsets) from the source. OPeNDAP servers offer various types of responses, depending on the specific form of the client's request, including XML, JSON, HTML and ASCII. In response to requests for content, OPeNDAP servers can respond with multi-part mime documents that include a binary portion with NetCDF or DAP-native encoding. (These binary forms offer compact means to deliver large volumes of content, and the DAP-native form may even be streamed if desired.)
OPeNDAP's software for building DAP servers (on top of Apache) is dubbed Hyrax and includes adapters that facilitate serving a wide variety of source data. DAP servers most frequently enable (remote) access to (large) HDF or NetCDF files, but the source data can exist in databases or other formats, including user-defined ones. When source data are organized as files, DAP retrievals enable, via subsetting, finer-grained access than does the FTP. Furthermore, OPeNDAP servers can aggregate subsets from multiple files for delivery in a single retrieval. Taken together, subsetting, aggregation and streaming can yield substantial data-access efficiencies, even in the presence of slow networks.
OPeNDAP and other DAP servers are used operationally in government agencies, including NASA and NOAA, for providing access to Earth science data, including satellite imagery and other high-volume information sources. The DAP data model embraces a comprehensive set of data structures, including multidimensional arrays and nested sequences (i.e., records), complemented by a correspondingly rich set of constraint expressions. Hence the OPeNDAP data-retrieval architecture has demonstrated utility across a broad range of scientific data types, including data generated via simulations and data generated via observations (whether remotely sensed or measured in situ).
References
{{Reflist}}
External links
- [https://www.opendap.org/ OPeNDAP.org]
- [https://podaac.jpl.nasa.gov/forum/viewtopic.php?f=6&t=373 Tutorial on using OPeNDAP for data access at PO.DAAC (NASA's Distributed Active Archive Center for Physical Oceanography)]
- [http://www.unidata.ucar.edu/software/thredds/current/tds/TDS.html THREDDS -- Thematic Realtime Environmental Distributed Data Services]
- [https://web.archive.org/web/20141230230936/http://www.epic.noaa.gov/epic/software/dapper/ dapper - OPeNDAP server for in-situ data]
- [https://web.archive.org/web/20060211015453/http://dapper.pmel.noaa.gov/dchart/ DChart - Web viewer for NOAA Observing System data (in-situ data)]
- [https://web.archive.org/web/20050105094733/http://grads.iges.org/grads/grads.html GrADS]
- [https://web.archive.org/web/20131203012747/http://www.epic.noaa.gov/java/ncBrowse/ ncBrowse - Java viewer for OPeNDAP netCDF files (supports wide range of netCDF conventions)]
- [http://www.space-research.org/ netCDF Explorer] - netCDF Explorer is multi-platform graphical browser for netCDF files. netCDF Explorer can browse files locally or remotely, by means of OPeNDAP
- [http://www.ncl.ucar.edu/ NCAR Command Language - analysis and visualization software]
- [https://web.archive.org/web/20041207035649/http://ferret.wrc.noaa.gov/Ferret/ Ferret]
- [https://web.archive.org/web/20061205035724/http://pydap.org/ Pydap - client/server implementation written in Python]
- [http://coastwatch.pfeg.noaa.gov/erddap/index.html ERDDAP - OPeNDAP server for gridded and tabular data; supports a wide range of output file formats]
- [https://web.archive.org/web/20011116220110/http://gcmd.gsfc.nasa.gov/Data/portals/dods/ NASA GCMD OPeNDAP portal] Global Change Master Directory (GCMD)
- [http://apdrc.soest.hawaii.edu/ Asia-Pacific Data Research Center -- a textbook example OPenDAP implementation]
Category:Technical communication