We want to hear from you! Take our short OPeNDAP User Survey!
Interoperability
All of the software listed here is compatible with the OPeNDAP protocol and was developed by other groups. We would like to publicly thank these groups for contributing to the OPeNDAP effort!
If you have written a client, server, client-library or toolkit, let us know! We would love to add your software to this list.
Photo by NASA
QUICK LINKS
Programs that can read from OPeNDAP servers
MATLAB, ArcGIS Pro, R and Jupyter Notebook
MATLAB, ArcGIS Pro, R and Jupyter Notebook can access OPeNDAP servers using the netCDF C library interface built into these tools. Instructions for each can be found at:
MATLAB: See Import NetCDF Files and OPeNDAP Data and this interesting example: Downloading HYCOM data using Matlab and OPeNDAP.
ArcGIS Pro: See Make OPeNDAP Raster Layer (Multidimension). For and overview of how OPeNDAP fits into ArcGIS, see: An overview of the Multidimension toolbox.
R: There are several ways to read data into R from OPeNDAP servers, modisfast (formerly opendapr) provides one interface and RNetCDF: Interface to ‘NetCDF’ Datasets provides a second interface using the netCDF C clibrary.
Jupyter Notebook: Both the Python/netCDF4 package and PyDAP can be used with the jupyter notebook system to read from OPeNDAP servers
Panoply Data Viewer
Panoply plots geo-referenced and other arrays from OPeNDAP servers as well as local netCDF, HDF, GRIB, and other datasets.
Panoply is a cross-platform application that runs on macOS, Windows, Linux and other desktop computers. Panoply requires that your computer has a compatible Java 11 (or later version) JRE or JDK installed.
SNCTOOLS
SNCTOOLS is a Matlab client for local netCDF files and remote OPeNDAP data servers. It has an excellent tutorial: Using SNCTOOLS and OPeNDAP
nctoolbox
nctoolbox is a Matlab toolbox for accessing (read-only) common data model datasets. Under the hood nctoolbox uses NetCDF-Java as the data access layer. This allows nctoolbox to access NetCDF, OPeNDAP and HDF5 datasets using the same API. Thanks to Brian Schlining <brian at mbari.org> at MBARI for providing this!
PyDAP
The pyDAP package includes a command line client. This looks like a very easy way to get data from a server!
octave client
Maybe the Octave NetCDF module can access OPeNDAP servers. See the Octave Repository.
GrADS
The Grid Analysis and Display System (GrADS) is an interactive desktop tool that is used for easy access, manipulation, and visualization of earth science data. The format of the data may be either binary, GRIB, NetCDF, or HDF-SDS (Scientific Data Sets). GrADS has been implemented worldwide on a variety of commonly used operating systems and is freely distributed over the Internet. Developed at COLA.
Ferret
Ferret is an interactive computer visualization and analysis environment designed to meet the needs of oceanographers and meteorologists analyzing large and complex gridded data sets. Developed at NOAA/PMEL in Seattle. In addition, PyFerret is available, which is Ferret encapsulated in Python.
IDV
The Integrated Data Viewer (IDV) from Unidata is a Java(TM)-based software framework for analyzing and visualizing geoscience data. Developed by Unidata.
NCO
The netCDF Operators, or NCO, are a suite of programs known as operators. Each operator is a standalone, command line program which is executed at the UNIX shell-level like, e.g., ls or mkdir. The operators take netCDF or HDF4 files as input, then perform a set of operations (e.g., deriving new data, averaging, hyperslabbing, or metadata manipulation) and produce a netCDF file as output. The operators are primarily designed to aid manipulation and analysis of gridded scientific data. The single command style of NCO allows users to manipulate and analyze files interactively and with simple scripts, avoiding the overhead (and some of the power) of a higher level programming environment. The NCO User’s Guide illustrates their use with examples from the field of climate modeling and analysis. NCO versions 2.8.5 and greater support automatic building and linking for OPeNDAP versions 3.4+ and GCC versions 3.3+. NCO was developed by Charlie Zender.
Client-libraries
PyDAP
PyDAP is a Python library which gives transparent access to various OPeNDAP servers. It’s written in pure Python and it remains under active development.
Xarray
Xarray is an open source project and Python package within the PANGEO ecosystem that introduces labels in the form of dimensions, coordinates, and attributes on top of raw NumPy-like arrays. Xarray allows for an intuitive, concise, and less error-prone user experience. See this example tutorial that uses xarray to access a remote dataset on a remote OPeNDAP server via a DAP2 protocol.
C/NetCDF
NetCDF (Network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. It is also a community standard for sharing scientific data. The Unidata Program Center supports and maintains netCDF programming interfaces for C, C++, Java, and Fortran. Programming interfaces are also available for Python, IDL, MATLAB, R, Ruby, and Perl.
Java/NetCDF
The NetCDF-Java Library is a Java interface to NetCDF files. It is built on the MultiArray (version 2) package, which is a stand-alone Java package for multidimensional arrays of primitive types. The library optionally includes a netCDF interface to OPeNDAP datasets. Another optional part uses the NetCDF Markup Language (NcML) to allow the definition of virtual netCDF datasets, and to extend the netCDF data model to include general coordinate systems. Developed by NSF Unidata.
VisAD
VisAD is a Java component library for interactive and collaborative visualization and analysis of numerical data. The name VisAD is an acronym for “Visualization for Algorithm Development”. Ugo Taddei’s VisAD Tutorial is a great way to start learning about VisAD. VisAD was developed at the Space Science and Engineering Center at University of Wisconsin-Madison.
Servers
These servers, in addition to our data server (Hyrax), are used to serve data to the OPeNDAP client so the data can be accessed by a user.
THREDDS Data Server (TDS)
From the TDS Web page: The THREDDS (Thematic Realtime Environmental Distributed Data Services) project is developing middleware to bridge the gap between data providers and data users. The goal is to simplify the discovery and use of scientific data and to allow scientific publications and educational materials to reference scientific data.
PyDAP data server
The PyDAP package contains a server that can read Comma Separated Value (CSV) text files, Matlab and netCDF file, as well as from a SQL database.
ERDDAP
ERDDAP is a data server that gives you a simple, consistent way to download subsets of scientific datasets in common file formats and make graphs and maps. ERDDAP is largely used by the oceanographic community for accessing in situ data.
GDS
The GrADS-Data Server is a stable, secure data server that provides subsetting and analysis services across the internet. These services can be provided for any GrADS-readable dataset. The subsetting capability allows users to retrieve a specified temporal and/or spatial subdomain from a large dataset, eliminating the need to download everything simply to access a small relevant portion of a dataset. The analysis capability allows users to retrieve the results of an operation applied to one or more datasets on the server. Examples of analysis operations include basic math functions, averages, smoothing, differencing, correlation, and regression. The GDS supports operations that can be expressed in a single GrADS expression. Developed at COLA.
LAS
The Live Access Server (LAS) is a highly configurable Web server designed to provide flexible access to geo-referenced scientific data. It can present distributed data sets as a unified virtual database through the use of OPeNDAP networking. Ferret is the default visualization application used by LAS, though other applications (Matlab, IDL, GrADS) can also be used.
LAS enables the Web user to:
- visualize data with on-the-fly graphics
- request custom subsets of variables in a choice of file formats
- access background reference material about the data (metadata)
- compare (difference) variables from distributed locations
LAS enables the data provider to:
- unify access to multiple types of data in a single interface
- create thematic data servers from distributed data sources
- offer derived products on the fly
- remedy metadata inadequacies (poorly self-describing data)
- offer unique products (e.g. visualization styles specialized for the data)
LAS was developed at NOAA/PMEL.