bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
agg_util::GridJoinExistingAggregation Class Reference
Inheritance diagram for agg_util::GridJoinExistingAggregation:
Inheritance graph
Collaboration diagram for agg_util::GridJoinExistingAggregation:
Collaboration graph

Public Member Functions

virtual const AMDList & getDatasetList () const
 
 GridJoinExistingAggregation (const GridJoinExistingAggregation &proto)
 
 GridJoinExistingAggregation (const libdap::Grid &proto, const AMDList &memberDatasets, const DDSLoader &loaderProto, const Dimension &joinDim)
 
unique_ptr< ArrayJoinExistingAggregationmakeAggregatedOuterMapVector () const
 
GridJoinExistingAggregationoperator= (const GridJoinExistingAggregation &rhs)
 
virtual GridJoinExistingAggregationptr_duplicate ()
 
bool read () override
 
bool serialize (libdap::ConstraintEvaluator &eval, libdap::DDS &dds, libdap::Marshaller &m, bool ce_eval) override
 
void setShapeFrom (const libdap::Grid &protoSubGrid, bool addMaps)
 
void transform_to_dap4 (libdap::D4Group *root, libdap::Constructor *container) override
 

Protected Member Functions

void copyProtoMapsIntoThisGrid (const Dimension &aggDim)
 
virtual const DimensiongetAggregationDimension () const
 
GridgetSubGridTemplate ()
 
void printConstraints (const libdap::Array &fromArray)
 
virtual void readAndAggregateConstrainedMapsHook ()
 
void readProtoSubGrid ()
 
virtual void transferConstraintsToSubGridHook (Grid *pSubGrid)
 

Detailed Description

Definition at line 39 of file GridJoinExistingAggregation.h.

Constructor & Destructor Documentation

◆ GridJoinExistingAggregation() [1/2]

agg_util::GridJoinExistingAggregation::GridJoinExistingAggregation ( const libdap::Grid & proto,
const AMDList & memberDatasets,
const DDSLoader & loaderProto,
const Dimension & joinDim )

Definition at line 44 of file GridJoinExistingAggregation.cc.

◆ GridJoinExistingAggregation() [2/2]

agg_util::GridJoinExistingAggregation::GridJoinExistingAggregation ( const GridJoinExistingAggregation & proto)

Definition at line 53 of file GridJoinExistingAggregation.cc.

◆ ~GridJoinExistingAggregation()

agg_util::GridJoinExistingAggregation::~GridJoinExistingAggregation ( )
virtual

Definition at line 60 of file GridJoinExistingAggregation.cc.

Member Function Documentation

◆ copyProtoMapsIntoThisGrid()

void agg_util::GridAggregationBase::copyProtoMapsIntoThisGrid ( const Dimension & aggDim)
protectedinherited

Copy the template's read in subgrid maps into this. Skip any map found in the subgrid named aggDim.name since we handle the aggregation dimension map specially.

Parameters
aggDima map with aggDim.name is NOT copied.

Definition at line 387 of file GridAggregationBase.cc.

◆ getAggregationDimension()

const Dimension & agg_util::GridJoinExistingAggregation::getAggregationDimension ( ) const
protectedvirtual

Get the contained aggregation dimension info

Implements agg_util::GridAggregationBase.

Definition at line 116 of file GridJoinExistingAggregation.cc.

◆ getDatasetList()

const AMDList & agg_util::GridAggregationBase::getDatasetList ( ) const
virtualinherited

Accessor for the dataset description list that describes this aggregation.

Returns
a reference to the AggMemberDataset list.

Definition at line 163 of file GridAggregationBase.cc.

◆ getSubGridTemplate()

Grid * agg_util::GridAggregationBase::getSubGridTemplate ( )
protectedinherited

Reveals the raw ptr, but only to subclasses. Don't delete it, but can be changed etc.

Definition at line 321 of file GridAggregationBase.cc.

◆ makeAggregatedOuterMapVector()

unique_ptr< ArrayJoinExistingAggregation > agg_util::GridJoinExistingAggregation::makeAggregatedOuterMapVector ( ) const

Create a new map aggregated map vector for this aggregation, using its data templates, granule list, and outer dimension. The returned variable will be have name joinDim.name and will be of shape with the joinDim. Does NOT add it to the maps! The caller will likely prepend it themselves as needed.

Returns
the new object wrapped as a source return.

Definition at line 83 of file GridJoinExistingAggregation.cc.

◆ operator=()

GridJoinExistingAggregation & agg_util::GridJoinExistingAggregation::operator= ( const GridJoinExistingAggregation & rhs)

Definition at line 73 of file GridJoinExistingAggregation.cc.

◆ printConstraints()

void agg_util::GridAggregationBase::printConstraints ( const libdap::Array & fromArray)
protectedinherited

Definition at line 361 of file GridAggregationBase.cc.

◆ ptr_duplicate()

GridJoinExistingAggregation * agg_util::GridJoinExistingAggregation::ptr_duplicate ( )
virtual

Definition at line 67 of file GridJoinExistingAggregation.cc.

◆ read()

bool agg_util::GridAggregationBase::read ( )
overrideinherited

Read in only those datasets that are in the constrained output making sure to apply the internal dimension constraints to the member datasets properly before reading them! Stream the data into the output buffer correctly.

NOTE: Subclasses should implement the protected hooks if possible rather than overriding this function!

Returns
success.

Definition at line 169 of file GridAggregationBase.cc.

◆ readAndAggregateConstrainedMapsHook()

void agg_util::GridAggregationBase::readAndAggregateConstrainedMapsHook ( )
protectedvirtualinherited

Called from read()! Invokes the user hooks eventually. Can be overridden, but default calls should suffice for now.

Definition at line 344 of file GridAggregationBase.cc.

◆ readProtoSubGrid()

void agg_util::GridAggregationBase::readProtoSubGrid ( )
protectedinherited

Transfer constraints properly from this object's maps and read in the proto subgrid entirely (respecting constraints)

Definition at line 368 of file GridAggregationBase.cc.

◆ serialize()

bool agg_util::GridAggregationBase::serialize ( libdap::ConstraintEvaluator & eval,
libdap::DDS & dds,
libdap::Marshaller & m,
bool ce_eval )
overrideinherited

Pipelining data reads and network writes. This version of serialize(), like the versions in ArrayAggregation... also here in the NCML module, handles interleaved data reads and network write operations.

Note
The read() method for this class reads the entire Aggregated Grid variable into memory, so code that depends on that behavior will continue to work. When this serialize() code is called and the variable is 'loaded' with data, the libdap::Grid::serialize() code is called, so that will work as well. When this method is called and the data still need to be read, the new behavior will take over and latency, from the client program's perspective, will be small compared to reading then entire variable and then transmitting its values.
Parameters
eval
dds
m
ce_eval
Returns

Definition at line 219 of file GridAggregationBase.cc.

◆ setShapeFrom()

void agg_util::GridAggregationBase::setShapeFrom ( const libdap::Grid & protoSubGrid,
bool addMaps )
inherited

Use the data array and maps from protoSubGrid as the initial point for the shape of the Grid. It may still not be complete until the callers adds maps, etc.

Parameters
protoSubGriddescribes the data array and map templates to use for the granules (modulo any agg subclass changes).
addMapsif true, add's all the maps in protoSubGrid into this. if false, does not.

Definition at line 135 of file GridAggregationBase.cc.

◆ transferConstraintsToSubGridHook()

void agg_util::GridJoinExistingAggregation::transferConstraintsToSubGridHook ( Grid * pSubGrid)
protectedvirtual

Required specialization for the read() call stack

Reimplemented from agg_util::GridAggregationBase.

Definition at line 107 of file GridJoinExistingAggregation.cc.

◆ transform_to_dap4()

void agg_util::GridAggregationBase::transform_to_dap4 ( libdap::D4Group * root,
libdap::Constructor * container )
overrideinherited

Definition at line 94 of file GridAggregationBase.cc.


The documentation for this class was generated from the following files: