Frequently Asked Questions - General

Available OPeNDAP servers are listed on our "Available OPeNDAP Servers" web page.
If your data is in a format for which an OPeNDAP server has already been written, simply download the appropriate server and install it on your machine. (See the User's Guide for details on how to install a server.)

If your data is not in a format with an existing server, you have two options. First, you can describe your data using the FreeForm data description language. Once you can describe your data with FreeForm, you can use the FreeForm server to make your data available. The second option would be to write a new server for your data format. The difficulty of this task would depend on the complexity of your data format. For developing a server in C++, see the Programmer's Guide and the Programmer's Reference and the tutorial Writing a Server for more information. For developing a server in Java, see the OPeNDAP Java JavaDocs. Please contact us at support@unidata.ucar.edu to discuss the options before you begin.

The data of OPeNDAP server's response is encoded using the XDR standard (eXternal Data Representation), and packed into the second part of the response document. For more information on XDR, see Internet RFC 1014. For further details, see OPeNDAP Programmer's Guide Section A.1.3.

Available OPeNDAP clients are listed on our "Available OPeNDAP Clients" web page. Many of the available clients come OPeNDAP enabled. Several of them need to be relinked with the OPeNDAP libraries.

Any application that can dereference a URL can be used as a simple OPeNDAP client. For instance, a standard web browser like Netscape or Internet Explorer can be used to look at various aspects of a OPeNDAP dataset. See our description of how to access OPeNDAP data with a browser.

Several spreadsheet applications (e.g., MS Excel and the StarOffice spreadsheet) can also be used as clients. They still do not have any specific knowledge of the special capabilities of the servers but are more data savvy than completely genereic Web clients. See our description of how to access data from an OPeNDAP server with a spreadsheet.

A few possibilities:
  1. Run ident on a particular program. This will give you the RCS $Id $ information for the pieces of software that make up that program.
  2. For checking the version of a server, see the question How do I find a server's version?.
  3. In Matlab or IDL run loaddods with the '-V' option.
The major change in the core software from version 2.22 to 3.0 is the addition of several new data types (Int16, UInt16, and Float32). While old servers will continue to work fine, old clients (those built with core 2.22 or before) will not be able to process the new data types. However, they will work fine if none of the new data types are returned.

This problem can be solved by upgrading to the latest version of the client you are using. You can check on the version of the server you are accessing in several ways.

Here's an example of the output old clients will display when handed data in one of the new data types (this example is from loaddods in Matlab):

      >> loaddods('http://dcz/etc/nph-ff/data/ff/test1.dat')

      Reading: http://dcz/etc/nph-ff/data/ff/test1.dat
        Constraint: 
      In the dataset descriptor object:
      Expected a varaible declaration
      (e.g., Int32 i;). Make sure that the
      variable name is not a reserved word
      (Byte, Int32, Float64, String, Url
      Structure, Sequence or Grid - all
      forms, byte, Byte and BYTE, are the same)

      Could not parse data DDS.
      ??? 

      Error in ==> /usr/local/DODS/src/writeval-2.23/loaddods.mexsol
    
The major change in the core software from version 2.22 to 3.0 is the addition of several new data types (Int16, UInt16, and Float32). While old servers will continue to work fine, old clients (those built with core 2.22 or before) will not be able to process the new data types. However, they will work fine if none of the new data types are returned.

This problem can be solved by upgrading to the latest version of the client you are using. You can check on the version of the server you are accessing in several ways.

Here's an example of the output old clients will display when handed data in one of the new data types (this example is from loaddods in Matlab):

      >> loaddods('http://dcz/etc/nph-ff/data/ff/test1.dat')

      Reading: http://dcz/etc/nph-ff/data/ff/test1.dat
        Constraint: 
      In the dataset descriptor object:
      Expected a varaible declaration
      (e.g., Int32 i;). Make sure that the
      variable name is not a reserved word
      (Byte, Int32, Float64, String, Url
      Structure, Sequence or Grid - all
      forms, byte, Byte and BYTE, are the same)

      Could not parse data DDS.
      ??? 

      Error in ==> /usr/local/DODS/src/writeval-2.23/loaddods.mexsol
    
There are several ways to publicize a dataset, depending on the dataset and the community for which it is relevant.
  • Register the dataset with the OPeNDAP project. Currently (June 2003),
    • go to the web site: http://unidata.ucar.edu/packages/dods
    • go to the "Datasets" pull-down menu at the top of the page
    • on that menu, go to "NVODS DODS Dataset" item. This will bring up the NVODS DODS Datasets list of known datasets.
    • at the top of that page, under the title, click on "Click here to submit a dataset" This will bring up a form asking for the basic information.
    • Fill out the form and submit it.
    • If there is other information you would like to provide to potential users, contact user support at support@unidata.ucar.edu
  • OPeNDAP datasets automatically provide web pages to access the data. The page is basic, and provides no special information about the dataset beyond the variables in it. The next step in providing intelligent access for users is to
    • Create a web page that describes the data and provides access to the data through OPeNDAP. Examples of such pages are given on the NVODS site: http://nvods.org Click on the "Data Access Routes" button and go down the page to "Individual Data Provider Sites". Examples of pages devised and served by various data providers are given there. Once you have created and served such a page,
    • let us know at: contact@nvods.org and we will add your page to the list if is appropriate to NVODS list. Make sure that the web page you created provides direct OPeNDAP access to the dataset.
  • We will work with you to write an appropriate news release to broadcast on the DODS, NVODS, and OPeNDAP web sites.
  • OPeNDAP is a partner in the DODS (Earth Science Information Partner) in the ESIP Federation. We will work with you to write an "ESIP Nugget" to send to the Federation for their publicity machine. See esipfed.org for more information about the Federation.

For a given URL (e.g., http://test.opendap.org/dap/data/nc/coads_climatology.nc) and a given variable in that data set (e.g., SST), you would ask for a those data to be returned as ASCII using the following:

http://test.opendap.org/dap/data/nc/coads_climatology.nc.ascii?SST.

Note that you can take the base URL (http://test.opendap.org/dap/data/nc/coads_climatology.nc) and append '.html' to it and get a web page that provides a way to see the names of the variables in a data file, a way to build up more complex constraints interactively and to get those data in several different formats, including ASCII and NetCDF, from any recent DAP server such as Hyrax.

Another way to get data as a NetCDF file is to use a client that can access OPeNDAP data and knows how to output netCDF files. A simple example is the NCO (NetCDF Operators) package like this:

ncks http://test.opendap.org/dap/data/nc/coads_climatology.nc?SST out.nc

The NCO package supplies various command line tools for manipulating netCDF files and can be made OPeNDAP aware. See our "Available OPeNDAP Clients" web page for more information on NCO.

Notes:
* NCO tools can also be used to dump data in ASCII (like the OPeNDAP '.asc' extension) or IEEE binary format.
* In this example, the client expects to be passed a DAP URL, so the response format component is not used (i.e., ''coads_climatology.nc'' is used with a DAP-aware client like NCO, while ''coads_climatology.nc.ascii'' is used with a browser that does not contain special code to process the DAP URL).