BES Aggregation

From OPeNDAP Documentation
Revision as of 20:10, 2 March 2009 by PatrickWest (talk | contribs)

By default there are no aggregation engines installed with the BES. But there is a mechanism to register your own aggregation engine. This page will discuss how to go about doing that.

How does aggregation work in the BES?

A request comes into the BES to reference some containers, create a definition using those containers adding constraints and specifying an aggregation engine to use, and then a get command to grab the containers, constrain them, and then aggregate. The command would look something like this:

<?xml version="1.0" encoding="UTF-8"?>
<request reqID="some_unique_value" >
    <setContainer name="c1" space="catalog">/data/nc/fnoc1.nc</setContainer>
    <setContainer name="c2" space="catalog">/data/nc/fnoc2.nc</setContainer>
    <setContainer name="c3" space="catalog">/data/nc/fnoc3.nc</setContainer>
    <setContainer name="c4" space="catalog">/data/nc/fnoc4.nc</setContainer>
    <define name="d">
	<container name="c1">
            <constraint>u</constraint>
        </container>
	<container name="c2">
            <constraint>u</constraint>
        </container>
	<container name="c3">
            <constraint>u</constraint>
        </container>
	<container name="c4">
            <constraint>u</constraint>
        </container>
        <aggregate handler="someHandler" cmd="someCommand" />
    </define>
    <get type="dods" definition="d" />
</request>