We want to hear from you! Take our short OPeNDAP User Survey!
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.
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.
What platforms does OPeNDAP run on?
OPeNDAP’s server Hyrax can run on both windows and macOS platforms, and for those we recommend using a Docker Hub installation. Hyrax can also be run on Linux and you can check the installation instructions on the Hyrax documentation. There are many OPeNDAP clients that can run on windows, macOS and linux, such as Ferret, pyFerret, Pydap (which requires python > 3.8) and Matlab supports it natively.
What clients are available?
There are many clients that can access OPeNDAP servers. Some of the most widely used are Matlab, Ferret, Pydap, pyFerret, python 3.x via netCDF4. If you are considering developing an OPeNDAP client, talk to us! Don’t forget to check “Get Involved” on how to best contribute.
Is there an easy way to check if the OPeNDAP server supports DAP4?
Not all OPeNDAP servers support DAP4 implementation, but all DAP4 servers support the DAP2 implementation. Many OPeNDAP URLs available on the web can be inspected interactively by appending an ‘.html’ at the end, which results in a Data Request Form. With that in mind, you can take a base OPeNDAP URL, and append a ‘.dmr’ at the end or replace an ‘.html’ with a ‘.dmr’ if the `html` is already present. If the browser generates a ”DAP4 Data Request Form”, that means the server supports DMRs and, therefore, the DAP4 implementation. Otherwise, it does not. For example, the Hyrax server supports the DAP4 implementation since the URL http://test.opendap.org/dap/data/nc/coads_climatology.nc.dmr produces the DAP4 Data Request Form on a browser. Similarly, the DAP2 Data Access Form can be accessed by appending an html as follows: http://test.opendap.org/dap/data/nc/coads_climatology.nc.html.
How do I get data as ASCII or NetCDF format?
You can easily visualize data associated with a field or data variable on the browser in ASCII tabular format by appending an ‘ascii’ suffix to the original URL, followed by a constraint expression that selects the data variable of interest. For example, consider the URL http://test.opendap.org/dap/data/nc/coads_climatology.nc details a full dataset. To inspect values from the Sea Surface Temperature field, defined as SST in that dataset, on the browser you use the following new URL http://test.opendap.org/dap/data/nc/coads_climatology.nc.ascii?SST.
To access data in NetCDF format, you can use any of the available clients that read netCDF data. For example, you can use Pydap as a client. All you need to do is to provide the base URL to Pydap. You can pass a constraint expression like http://test.opendap.org/dap/data/nc/coads_climatology.nc?SST to access only the SST variable. To learn more about using Pydap as a client, check the official Pydap documentation.
How can I inspect the information on a datafile without downloading it?
You can visually inspect all the relevant Metadata that describes the datafile, such as variable names, variable types, variable sizes, from the DAP Data Request Form on the browser. To produce a DAP Data Request Form for any file hosted on an OPeNDAP server, you can take the base OPeNDAP URL and append an ‘.html’ (in DAP2) or a ‘.dmr’ (in DAP4) at the end of it, and paste the new URL onto a browser. For example, if the base OPeNDAP URL is http://test.opendap.org/dap/data/nc/coads_climatology.nc, the following URL when pasted onto a browser will produce the DAP2 Data Access Form http://test.opendap.org/dap/data/nc/coads_climatology.nc.html. On the other hand, http://test.opendap.org/dap/data/nc/coads_climatology.nc.dmr will produce the DAP4 Data Request Form.