OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
ugrid Namespace Reference

Classes

class  MeshDataVariable
 
class  TwoDMeshTopology
 Identifies the location/rank/dimension that various grid components are associated with. More...
 
class  UGR5
 The UGR4 class encapsulates the function 'ugr4::ugr4' along with additional meta-data regarding its use and applicability. More...
 

Functions

bool checkAttributeValue (libdap::BaseType *bt, string aName, string aValue)
 
bool checkAttributeValue (BaseType *bt, string aName, string aValue)
 
template<typename DODS , typename T >
T * extract_array_helper (libdap::Array *a)
 DAP Array data extraction helper method. More...
 
template<typename T >
T * extractArray (libdap::Array *a)
 Given a pointer to an Array that holds a numeric type, extract the values and return in an array of T. More...
 
GF::Array * extractGridFieldArray (libdap::Array *a, vector< int * > *sharedIntArrays, vector< float * > *sharedFloatArrays)
 Extract data from a DAP array and return those values in a gridfields array. More...
 
string getAttributeValue (libdap::BaseType *bt, string aName)
 
string getAttributeValue (BaseType *bt, string aName)
 
GF::e_Type getGridfieldsInternalTypeMap (Type type)
 
libdap::Type getGridfieldsReturnType (libdap::Type type)
 
Type getGridfieldsReturnType (Type type)
 
Type getGridfieldsReturnType (libdap::Array *a)
 
int getNfrom3byNArray (libdap::Array *array)
 Retrieves the size of the second dimension from a 3xN array. More...
 
bool matchesCfRoleOrStandardName (libdap::BaseType *bt, string aValue)
 
bool matchesCfRoleOrStandardName (BaseType *bt, string aValue)
 Checks the passed BaseType attributes as follows: If the BaseType has a "cf_role" attribute and it's value is the same as aValue return true. More...
 
GF::Array * newGFIndexArray (string name, long size, vector< int * > *sharedIntArrays)
 
vector< string > & split (const string &s, char delim, vector< string > &elems)
 Splits the string on the passed char. More...
 
vector< string > split (const string &s, char delim)
 Splits the string on the passed char. More...
 
void ugr5 (int argc, libdap::BaseType *argv[], libdap::DDS &dds, libdap::BaseType **btpp)
 
void ugr5 (int argc, BaseType *argv[], DDS &dds, BaseType **btpp)
 Subset an irregular mesh (aka unstructured grid). More...
 

Function Documentation

bool ugrid::checkAttributeValue ( libdap::BaseType *  bt,
string  aName,
string  aValue 
)
bool ugrid::checkAttributeValue ( BaseType *  bt,
string  aName,
string  aValue 
)

Definition at line 494 of file ugrid_utils.cc.

Referenced by matchesCfRoleOrStandardName().

template<typename DODS , typename T >
T* ugrid::extract_array_helper ( libdap::Array *  a)

DAP Array data extraction helper method.

Definition at line 77 of file ugrid_utils.h.

template<typename T >
T* ugrid::extractArray ( libdap::Array *  a)

Given a pointer to an Array that holds a numeric type, extract the values and return in an array of T.

This function allocates the array using 'new T[n]' so delete[] can be used when you are done the data.

Definition at line 98 of file ugrid_utils.h.

GF::Array * ugrid::extractGridFieldArray ( libdap::Array *  a,
vector< int * > *  sharedIntArrays,
vector< float * > *  sharedFloatArrays 
)

Extract data from a DAP array and return those values in a gridfields array.

This function sets the send_p property of the DAP Array and uses its read() member function to get values. Thus, it should work for values stored in any type of data source (e.g., file) for which the Array class has been specialized.

Parameters
aThe DAP Array. Extract values from this array
Returns
A GF::Array

Definition at line 287 of file ugrid_utils.cc.

References FLOAT, and INT.

Referenced by ugrid::TwoDMeshTopology::buildBasicGfTopology().

string ugrid::getAttributeValue ( libdap::BaseType *  bt,
string  aName 
)
string ugrid::getAttributeValue ( BaseType *  bt,
string  aName 
)

Definition at line 456 of file ugrid_utils.cc.

Referenced by ugrid::MeshDataVariable::init(), and ugrid::TwoDMeshTopology::init().

GF::e_Type ugrid::getGridfieldsInternalTypeMap ( Type  type)

Definition at line 208 of file ugrid_utils.cc.

References FLOAT, and INT.

Referenced by getGridfieldsReturnType().

libdap::Type ugrid::getGridfieldsReturnType ( libdap::Type  type)
Type ugrid::getGridfieldsReturnType ( Type  type)

Definition at line 233 of file ugrid_utils.cc.

References FLOAT, getGridfieldsInternalTypeMap(), and INT.

Here is the call graph for this function:

Type ugrid::getGridfieldsReturnType ( libdap::Array *  a)

Definition at line 260 of file ugrid_utils.cc.

int ugrid::getNfrom3byNArray ( libdap::Array *  array)

Retrieves the size of the second dimension from a 3xN array.

Throws an Error if the array is not the correct shape.

Definition at line 522 of file ugrid_utils.cc.

bool ugrid::matchesCfRoleOrStandardName ( libdap::BaseType *  bt,
string  aValue 
)
bool ugrid::matchesCfRoleOrStandardName ( BaseType *  bt,
string  aValue 
)

Checks the passed BaseType attributes as follows: If the BaseType has a "cf_role" attribute and it's value is the same as aValue return true.

If it doesn't have a "cf_role" attribute, then if there is a "standard_name" attribute and it's value is the same as aValue then return true. All other outcomes return false.

Definition at line 480 of file ugrid_utils.cc.

References CF_ROLE, CF_STANDARD_NAME, and checkAttributeValue().

Here is the call graph for this function:

GF::Array * ugrid::newGFIndexArray ( string  name,
long  size,
vector< int * > *  sharedIntArrays 
)

Definition at line 265 of file ugrid_utils.cc.

References INT.

Referenced by ugrid::TwoDMeshTopology::addIndexVariable().

vector< string > & ugrid::split ( const string &  s,
char  delim,
vector< string > &  elems 
)

Splits the string on the passed char.

Returns vector of substrings. TODO make this work on situations where multiple spaces doesn't hose the split()

Definition at line 436 of file ugrid_utils.cc.

vector< string > ugrid::split ( const string &  s,
char  delim 
)

Splits the string on the passed char.

Returns vector of substrings.

Definition at line 449 of file ugrid_utils.cc.

void ugrid::ugr5 ( int  argc,
libdap::BaseType *  argv[],
libdap::DDS &  dds,
libdap::BaseType **  btpp 
)
void ugrid::ugr5 ( int  argc,
BaseType *  argv[],
DDS &  dds,
BaseType **  btpp 
)

Subset an irregular mesh (aka unstructured grid).

Parameters
argcCount of the function's arguments
argvArray of pointers to the functions arguments
ddsReference to the DDS object for the complete dataset. This holds pointers to all of the variables and attributes in the dataset.
btppReturn the function result in an instance of BaseType referenced by this pointer to a pointer. We could have used a BaseType reference, instead of pointer to a pointer, but we didn't. This is a value-result parameter.
Returns
void
Exceptions
ErrorThrown If the Array is not a one dimensional array.

Here is where we will do the range variable sub-setting including decomposing the requested variable into 1-dimensional hyper-slabs that can be fed into the gridfields library

Definition at line 439 of file ugr5.cc.

References ugrid::TwoDMeshTopology::addIndexVariable(), ugrid::TwoDMeshTopology::applyRestrictOperator(), BESDEBUG, ugrid::TwoDMeshTopology::buildBasicGfTopology(), ugrid::TwoDMeshTopology::convertResultGridFieldStructureToDapObjects(), face, ugrid::MeshDataVariable::getGridLocation(), ugrid::TwoDMeshTopology::getMeshVariable(), ugrid::MeshDataVariable::getName(), ugrid::TwoDMeshTopology::getResultGridSize(), ugrid::TwoDMeshTopology::getResultIndex(), ugrid::TwoDMeshTopology::init(), node, and ugrid::TwoDMeshTopology::setLocationCoordinateDimension().

Referenced by UgridFunctions::initialize(), and ugrid::UGR5::UGR5().

Here is the call graph for this function: