|
OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
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... | |
| 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().
| T* ugrid::extract_array_helper | ( | libdap::Array * | a | ) |
DAP Array data extraction helper method.
Definition at line 77 of file ugrid_utils.h.
| 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.
| a | The DAP Array. Extract values from this array |
Definition at line 287 of file ugrid_utils.cc.
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.
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.

| 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().

| 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).
| argc | Count of the function's arguments |
| argv | Array of pointers to the functions arguments |
| dds | Reference to the DDS object for the complete dataset. This holds pointers to all of the variables and attributes in the dataset. |
| btpp | Return 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. |
| Error | Thrown 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().
