BES - Modules - FileOut Netcdf

From OPeNDAP Documentation


The File Out NetCDF module provides the ability to return OPeNDAP DataDDS objects as netcdf files. The module takes an OPeNDAP DataDDS and translates the attributes, data structure, and data into a netcdf file and streams the resulting file back to the caller. Currently, simple types, arrays, structures and grids are supported. Sequences are not yet supported.

Go to this page for more information on the specifics of how OPeNDAP data objects are written to NetCDF.


Stable release 1.0.1 with Hyrax 1.6.2, BES version 3.8.3

Services Handled

This module does not handle any services but adds to an existing service

Services Provided

The module provides an additional format to the dap service's dods command. The format is used to specify a "returnAs" format. Typically you will see responses of the dap2 format. This module provides the additional format of returning the OPenDAP data object as a netcdf file.


The latest release of this module is fileout_netcdf 0.9.0 and can be downloaded off of the File Out NetCDF opendap web page

How to use the module

Once installed, the fonc.conf file is installed in the BES etc/bes/modules directory and is automatically loaded by the BES at startup. There is a configuration option that you can change for this module. The FONc.Tempdir parameter in the fonc.conf configuration file tells the module where to store the netcdf files generated by the module until the file is streamed back to the caller. The default value for this parameter is the /tmp directory. You should change this to a location where there is plenty of disk space/quota that is owned by the user set to run the BES.


The next time the BES is started it will load this module. And, once installed, the OLFS will know that it can use this module to transform your data. Next to a dataset you will see the list of data products provided for that dataset. This will include a link for File Out Netcdf.

If not using the OLFS to serve your data, for example if using the bescmdln, you would run a command file that would look something like this:

<?xml version="1.0" encoding="UTF-8"?>
<request reqID="some_unique_value" >
    <setContext name="dap_format">dap2</setContext>
    <setContainer name="c" space="catalog">data/nc/</setContainer>
    <define name="d">
	<container name="c" />
    <get type="dods" definition="d" returnAs="netcdf"/>