All of the software listed here 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.
Following are OPeNDAP-enabled analysis applications.
- netCDF Explorer
- netCDF Explorer is a multi-platfrom graphical browser for netCDF files. It uses the Qt application framework for its UI and is available as source from GitHUB. Binaries are available from the space research web site. Written by Pedro Vicente.
- SNCTOOLS is a Matlab client for local netCDF files and remote OPeNDAP data servers. It has an excellent tutorial: Using SNCTOOLS and OPeNDAP
- 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!
- DChart is an interactive web client for the dapper OPeNDAP in situ data server. Based on AJAX (Asynchronous Java and XML) technologies, DChart has features and controls similar to Google Maps that allow the user to smoothly and quickly select one or more Observing System stations, zooming in or out, or dragging different parts of the map into the viewing area, and then plot the data. Data can be downloaded into spreadsheet, GIS and Google Earth compatible formats.
Try the new Observing System Web Portal based on DChart, which includes near-realtime data from major and global oceanic and atmospheric observing systems, such as Argo, TAO, NDBC Meteorology data, Global Summary of the Day weather data, and the newly released World Ocean Data Base. For more information or to obtain DChart, see the DChart home page. Developed by the EPIC group at PMEL.
- Dapper is a newly emerging, community-standard OPeNDAP server for in situ data. DapperM is a Matlab interface to data served by the Dapper OPeNDAP server. Matlab functions include an interactive lat/lon/depth/time data selection tool and functions for obtaining and using selected profile and time series datasets. The functions are described below, and an example is given. Documentation is built into Matlab for convenience of the user. Developed by the PMEL EPIC group, and freely available for download.
Regularly-updated Observing System datasets available through the PMEL dapper server include global Argo profiling floats, World Ocean Database 2005 profile data, TAO El Nino buoy data, Global Summary of the Day meteorological data, coastal buoy data from the National Data Buoy Center (NDBC), the Global Temperature-Salinity Profile Program (GTSPP) data, and PMEL time series and profile data. See the Dapper website for other Dapper server installations.
- octave client
- Octcdf is a NetCDF toolbox for Octave which uses the same operator syntax as the matlab netCDF toolbox. NetCDF dimensions, attributes and variables are Octave objects and can be accessed, sliced and changed just as regular variables. The octcdf toolbox can also be used to download data from an OPeNDAP server. Only the data that is actually referenced in octave is downloaded from the OPeNDAP server. The octcdf source code is available at http:// ocgmod1.marine.usf.edu/octcdf. It was also included in the Octave Repository octave- forge.
- Microsoft Access Tool
- The OPeNDAP/Access Tool allows users to import virtually any DAP-enabled dataset into a Microsoft Access database. There are, however, some restrictions. This version does not support datasets containing Non-linear sequences and/or Structures (i.e., Sequences that contain Sequences or Structures that are highly nested). Most data sources should work just fine.
This client-side interface component was developed by Viral Jain <firstname.lastname@example.org> and is hosted here with his permission. If you want to add link of this page to your web-site, please contact Viral first. We will support this to the extent our resources allow, but Viral is real authority for the tool. We greatly appreciate his making this available.
- pyDAP client
- The pyDAP package includes a command line client. This looks like a very easy way to get data from a server!
- MEXCDF is a mexfile interface to NetCDF files for MATLAB, and has roughly a one-to-one equivalence with the C API for NetCDF. In fact, there's no better introduction to MEXCDF than to read the NetCDF documentation provided by Unidata. It is currently compatible with NetCDF library versions 2.4 and up (keep 2.4 in mind when reading the documentation)
Also available from the SourceForge web site are The NetCDF Toolbox and SNCTOOLS. Both provide higher level interfaces to netCDF using MexCDF.
- 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 is an interactive computer visualization and analysis environment designed to meet the needs of oceanographers and meteorologists analyzing large and complex gridded data sets. It runs on most Unix systems, and on Windows NT/9x using X windows for display. It can be installed to run from a Web browser ("WebFerret") for use while away from your desk or from a system lacking X windows software. It can transparently access extensive remote Internet data bases using OPeNDAP (formerly known as DODS); see http://www.unidata.ucar.edu/packages/dods/. Developed at NOAA/PMEL.
- The Integrated Data Viewer (IDV) from Unidata is a Java(TM)-based software framework for analyzing and visualizing geoscience data. Developed by Unidata.
- CDAT 4.0
- Climate Data Analysis Tools (CDAT) is a software infrastructure that uses an object-oriented scripting language to link together separate software subsystems and packages thus forming an integrated environment for solving model diagnosis problems. The power of the system comes from Python and its ability to seamlessly interconnect software. Python provides a general purpose and full-featured scripting language with a variety of user interfaces including command-line interaction, stand-alone scripts (applications) and graphical user interfaces (GUI). The CDAT subsystems, implemented as modules, provide access to and management of gridded data (Climate Data Management System or CDMS); large-array numerical operations (Numerical Python); and visualization (Visualization and Control System or VCS).
I believe you need to have the OPeNDAP software installed on you computer before you build CDAT to enable reading from OPeNDAP servers. Check the most recent documentation. Developed at University of California, Lawrence Livermore National Laboratory.
- ncBrowse is a Java application that provides flexible, interactive graphical displays of data and attributes from a wide range of netCDF data file conventions. ncBrowse was developed at the NOAA/PMEL/EPIC.
- 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 <zender at uci dot edu>.
Use these libraries to enable existing applications or simplify writing new ones.
- pyDAP is a Python library which gives transparent access to an OPeNDAP server. It's written in Python only and can be easily used to build your own Python clients.
- GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style Open Source license. As a library, it presents a single abstract data model to the calling application for all supported formats. The related OGR library (which lives within the GDAL source tree) provides a similar capability for simple features vector data. Developed by Open Source Geospatial Foundation.
- The NetCDF-Java Library (version 2) 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 (aka DODS) 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. The implementation uses some of the code from the earlier NetCDF Java (version 1), but the API is distinct and logically separate. Developed by Unidata.
- 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 University of Wisconsin-Madison.
These servers, in addition to our data server (Hyrax), make it easy to serve data.
- 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. The server can read Comma Separated Value (CSV) text files, Matlab and netCDF file and can read from a SQL database.
- Dapper is an OPeNDAP server that provides networked access to in-situ and gridded data. The dapper implementation is the basis of new OPeNDAP standards specification for in-situ data. Clients for Dapper include DChart, ncBrowse, Java OceanAtlas, OceanShare, OceanGIS, LAS and Matlab. For more information or to obtain dapper, please see the dapper website. Dapper was developed by the EPIC group at PMEL.
Regularly-updated Observing System datasets available through the PMEL dapper server include:
- Global Argo profiling floats,
- World Ocean Database 2005 profile data,
- TAO El Nino buoy data,
- Global Summary of the Day meteorological data,
- coastal buoy data from the National Data Buoy Center (NDBC),
- Global Temperature-Salinity Profile Program (GTSPP) data,
- PMEL time series and profile data.
- The GrADS-DODS Server (GDS, recently renamed the GrADS-Data Server to reflect the name change from DODS to OPeNDAP) 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.
- 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 data base 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
- 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)
Development kits provide a framework within which to build you own software. These help build completely custom code that works with OPeNDAP clients, client-libraries and servers.
- pyDAP (Python library)
- pyDAP is a Python library which gives transparent access to an OPeNDAP server. It uses the Numerical Python framework. Developed by email@example.com. The pyDAP package also contains a client and a server. The server can read Comma Separated Value (CSV) text files, Matlab and netCDF file and can read from a SQL database.
See also the pyDAP entries under client libraries, clients and servers. This is a very flexible package!