BES - Modules - FileOut Netcdf

From OPeNDAP Documentation

1 Description

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.

2 Status

Stable release 1.3.2 with Hyrax 1.12

3 Services Handled

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

4 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.

5 Download

The latest version of this handler is included in the BES RPM distribution as of Hyrax 1.12, which you can download from the Hyrax download page. You can get the source code for this module from the BES or fileout_netcdf projects from guthub. The BES project can be used to all of the source we use when building the bES for inclusion in the Hyrax releases; the fileout_netcdf project can be used to get just the source code for the module.

6 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.

FONc.Tempdir=/tmp

Other BES keys that can be used to control the handler's behavior:

FONc.UseCompression=true

Use compression when making netCDF4 files; true by default

FONc.ChunkSize=4096

The default chunk size when making netCDF4 files, in KBytes (4k by default)

FONc.ClassicModel=true

When making a netCDF4 file, use only the 'classic' netCDF data model; true by default.

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/fnoc1.nc</setContainer>
    <define name="d">
	<container name="c" />
    </define>
    <get type="dods" definition="d" returnAs="netcdf"/>
</request>