We want to hear from you! Take our short OPeNDAP User Survey!

  •  Icon
  •  Icon
  •  Icon
  •  Icon
  •  Icon

Frequently Asked Questions

If you do not find your question below… Join the OPeNDAP Discourse Forum! Find your answer, post your question there, or answer other people’s questions! We hope you find OPeNDAP’s Discourse Forum a place to interact, collaborate, and spread the collective knowledge regarding OPeNDAP, and to continue working towards the democratization of data.

What are the main differences between DAP2 and DAP4?

The DAP2 data model is much older and lacks Int8, Int64, and Groups representation, the latter a feature of the HDF5/NetCDF4 data model. DAP4 implements shared dimensions which are extremely compact for defining constraint expressions. Moreover, with Hyrax and DAP4, DMR++ files allow for cloud-optimized access to data. Lastly, DAP2 is fully represented within DAP4. See “How DAP4 differs from DAP2” on the DAP4 specification.

What is the advantage of using DAP4 vs DAP2 data model?

DAP2.0 refers to the original DAP protocol developed in the late 90s, and therefore lacks some of the modern data and container types often found in netCDF4 and HDF5 datasets. DAP4.0 is a much newer data model that DOES incorporate most of the data types and container types and original design to offer better performant access to HDF5/NetCDF4 files. Finally, our DAP4 Hyrax server offers support access over the commercial cloud (S3). Lastly, since DAP2 is fully represented within DAP4, we strongly suggest to use Hyrax with full DAP4 support. See “How DAP4 differs from DAP2” to learn more about the DAP4 specification, and DMR++ guide to learn more about Cloud access.

I am running the DAP4 Hyrax server. Can users with applications that can only read DAP2 (DDS) access our data?

Yes. Because the DAP2 data model is fully represented within the DAP4 data model, all variables within DAP2 can be expressed in DAP4. From the same data url produced from a DAP4 Hyrax server you can get both the DMR response and the DDS response.

Why when I attempt to download a dataset with 3D variables consistently fails, but when I download a dataset with 2D variables works fine?

Many organizations running OPeNDAP servers can specify a maximum download size per URL. For example, NASA has a 2GB max size limit per URL. When attempting to download data using the Data Request Form on the browser, we strongly suggest to subset the dataset either by domain range (e.g. slicing indexes) or by variable (select fewer variables), and only download what you need. Many clients APIs (python, matlab) already do this and only download data on the fly, as needed.

Is there an easy way to check if the OPeNDAP server supports DAP4?

In Hyrax, adding a `.dmr` at the end of an OPeNDAP url and pasting the URL onto a browser should produce a ”DAP4 Data Request Form” (for example http://test.opendap.org/dap/data/nc/coads_climatology.nc.dmr). If the browser generates a ”DAP4 Data Request Form”, that means the server is a DAP4 server implementation. Otherwise, it does not.

Why do I get "HTTP 401 Unauthorized" or "HTTP Basic: Access denied " Errors when accessing EarthData from NASA in the Cloud?

A 401 Error means you are missing the credentials to access data on a OPeNDAP server. In this particular case you need an Earth Data Login account. Logging in should allow to visualize and download available data on OPeNDAP (NASA/Hyrax) servers through your browser. However, depending on your data access pattern (client API) there are many ways to setup authentication. Check out the Client Authentication resources on the Official OPeNDAP Documentation, and this one on how to authenticate when using PyDAP (Python api). NOTE: It is strongly recommended to use Tokens for optimize data access.

Why do I get "HTTP Status 400 – Bad Request" when downloading data using Constraint Expressions?

A 400 Error means there are characters in the URL that are Invalid. When using Constraint Expressions (CEs), the most common cause of this error are square brackets “[” and “]” in the Data URL. Square brackets need to be escaped. If you generated the Data URL using OPeNDAP’s Data Request form, you can select the “Copy Encoded Data URL” button before pasting it onto a browser for downloading. The URL on the clipboard will have all invalid characters in the CE escaped. Check this resource for an example.

What platforms does OPeNDAP run on?

Our server Hyrax is continuously tested for Linux (Rocky-8) and MacOS. On every release page (see latest release), we provide instructions on how to install and run Hyrax using DockerHub (Linux and MacOS), and to build Hyrax from binaries (Linux only) or from source (Linux only).

What clients can be used to access data on OPeNDAP servers?

Data available via OPeNDAP servers can be accessed through various client APIs (applications) across many languages. Some of the most popular are xarray/pydap/netcdf (Python) and Matlab, but there are many more. You can check the list of all clients here. If you know of another client API that can access OPeNDAP let us know, and we’ll add it to the list!