We want to hear from you! Take our short OPeNDAP User Survey!
Make Your Data Accessible with Hyrax
Hyrax, an extensible data server developed by OPeNDAP, allows you to share your data easily. Here’s how to get started:
- Is your data already in a format supported by Hyrax? Download the Hyrax data server and follow the configuration guide to set it up.
- Data format not supported? No problem! Explore OPeNDAP servers from our partners, or collaborate with us to extend Hyrax’s capabilities to handle your specific data format.
Photo by NASA
Benefits
Hyrax utilizes a modular design that employs a lightweight front end to provide a public-accessible client interface, and a separate back-end that provides access and subsetting services for the data.
It is an example of the common three-tier data server architecture.
- The server can read data from a number of different file formats and can read from other kinds of data stores.
- The server supports subsetting data stored on web object stores like Amazon’s S3. Currently limited to HDF5 with support for HDF4 under development.
- The three-tier architecture is easy to secure.
- A single installation can handle multiple data representations (hdf4, hdf5, netCDF, etc.)
- THREDDS catalog functionality.
- Available in a Docker container, as binary (RPM packages) and source code (GitHub).
Hyrax Software for Download
The Hyrax Data Server software is available in a number forms:
Docker Containers
Hyrax is available on Docker Hub We make all of our formal releases and Continuous Integration Continuous Delivery (CI/CD) builds available as Docker images. If you want the latest version of the server, get the snapshot container (docker pull opendap/hyrax:snapshot). If you want the latest official release, get the container tagged latest (docker pull opendap/hyrax:latest). Containers tagged with specific version numbers match that version of the server. For example, 1.17.0-6 holds version 1.17.0 build #6. You can get that container using docker pull opendap/hyrax:1.17.0-6. Check on DockerHub for the latest build. Note that while these are technically development builds, each goes through a multi-stage testing process. See our
We have instructions on DockerHub about how these containers can be used. We use these for our own servers.
Also available in DockerHub are containers with the special version of the server we build for the NASA General Application Platform (NGAP) and versions of just the top tier (OLFS) and bottom two tiers (BES) of the Hyrax server.
Official Releases
See the current release page for access to source (tar.gz files for which you will need a C++ compiler and associated tools) and binary packages (RedHat RPM packages) along with a summary of changes introduced in the most recent release. The current release page also provides access to older releases if you should want to travel back in time.
For Developers
All our software is Open Source and is available on GitHub. The source code for the Hyrax server is held in four repositories:
- The BES is C++ framework used to read data and build responses
- The libdap library is the implementation of DAP we use
- The OLFS implements the Web API of the server
- The hyrax-docker project is used to build the docker container
- Also available is the hyrax repository that serves as a meta-repo for the server
Data Handlers
We provide different data handlers for Hyrax, and we classify them according to the various degrees of support:
- Full Support: We ensure these work with the latest version of Hyrax, and we provide binary builds for these data handlers.
- Intermediate Support: We provide source releases of these handlers, and often test them against the current Hyrax release. We do not provide binary builds for these data handlers, but these data handlers are open-source and can be found on our GitHub repository. Upon request, we can provide write-access.
PyDAP also supports tabular csv and other data handlers, and can be. For more on PyDAP’s data handlers, visit PyDAP’s documentation.
Hyrax also supports Response Handlers and Server function handlers. For more on this, see official documentation.
Fully Supported Data Handlers
- HDF4: Handler that reads data stored in HDF 4 and HDF-EOS2 files. To run this you will also need the HDF 4 libraries on your system.
- HDF5: Handler that reads data stored in the hierarchical HDF5 format.
- NETCDF3: Handler that reads data stored in the netCDF3 version.
- NETCDF4: Handler that reads data stored in the netCDF4 version.
- DMR++: Handler that reads data stored in HDF5/netCDF4 directly from S3 or Google Cloud Store (GCS).
- FreeForm: Designed to work with ASCII and binary data in tabular format.
- FITS: This data handler allows reading FITS (Flexible Image and Table Format) astronomical data.
- GDAL: This handler reads from any of the file formats the library GDAL supports. The formats include GeoTIFF, JPEG2000, and many other formats common in the GIS world.
- NcML: This handler reads from XML representations of netCDF metadata. This handler is a subset of the NcML, and therefore allows the creation of virtual datasets by modifying and aggregating other datasets.
- Gateway: This remote access handler, while not technically a data format, allows to pull data from a remote location to Hyrax so that it can be served.
- HTTPD Catalog: This remote access handler uses THREDDS catalogs to build local inventories of data that may be local or remote. In the latter case, data is transferred to Hyrax and then served.
Data Handlers with Source-only Support
- SQL: This handler allows access to SQL databases using ODBC drivers. This code is fairly general and will work with any data source that can be accessed using ODBC. It can be accessed in OPeNDAP’s Github Repository (sql).
- CDF: The data handler was originally for a demo at the SISIC meeting. The handler can be accessed in OPeNDAP’s Github Repository (cdf).
- CEDAR: The data handler allows reading of upper atmosphere data from the CEDAR project. The handler can be accessed in OPeNDAP’s Github Repository (cedar).