bes
Updated for version 3.20.10
|
A DAP Structure with file out netcdf information included. More...
#include <FONcStructure.h>
Public Member Functions | |
virtual void | clear_embedded () |
Clears the list of embedded variable names. More... | |
virtual void | convert (std::vector< std::string > embed, bool is_dap4=false, bool is_dap4_group=false) |
virtual void | convert (vector< string > embed, bool _dap4=false, bool is_dap4_group=false) |
Creates the FONc objects for each variable of the DAP structure. More... | |
virtual void | define (int ncid) |
Define the members of the structure in the netcdf file. More... | |
virtual void | dump (ostream &strm) const |
dumps information about this object for debugging purposes More... | |
virtual void | dump (std::ostream &strm) const =0 |
dump the contents of this object to the specified ostream More... | |
FONcStructure (libdap::BaseType *b) | |
Constructor for FONcStructure that takes a DAP Structure. More... | |
libdap::DDS * | get_dds () const |
libdap::ConstraintEvaluator * | get_eval () const |
virtual libdap::AttrType | getAttrType (nc_type t) |
virtual D4AttributeType | getD4AttrType (nc_type t) |
virtual bool | isNetCDF4 () |
Returns true if NetCDF4 features will be required. More... | |
virtual bool | isNetCDF4_ENHANCED () |
virtual string | name () |
Returns the name of the structure. More... | |
void | set_dds (libdap::DDS *dds) |
void | set_eval (libdap::ConstraintEvaluator *eval) |
virtual void | set_is_dap4 (bool set_dap4) |
virtual void | setNC4DataModel (const string &nc4_datamodel) |
Identifies the netCDF4 data model (CLASSIC or ENHANCED) More... | |
virtual void | setVersion (const std::string &version) |
Identifies variable with use of NetCDF4 features. More... | |
virtual nc_type | type () |
Returns the type of data of this variable. More... | |
virtual void | updateAttrType (libdap::AttrTable &attrs, nc_type t) |
virtual void | updateD4AttrType (libdap::D4Attributes *d4_attrs, nc_type t) |
virtual int | varid () const |
virtual void | write (int ncid) |
write the member variables of the structure to the netcdf file More... | |
virtual | ~FONcStructure () |
Destructor that cleans up the structure. More... | |
Protected Attributes | |
bool | _defined |
std::vector< std::string > | _embed |
std::string | _nc4_datamodel |
std::string | _ncVersion |
std::string | _orig_varname |
int | _varid |
std::string | _varname |
libdap::DDS * | d_dds |
libdap::ConstraintEvaluator * | d_eval |
bool | is_dap4 |
bool | is_dap4_group |
A DAP Structure with file out netcdf information included.
This class represents a DAP Structure with additional information needed to write it out to a netcdf file. Includes a reference to the actual DAP Structure being converted. Keeps the list of converted BaseTypes as FONcBaseType instances.
Definition at line 51 of file FONcStructure.h.
FONcStructure::FONcStructure | ( | libdap::BaseType * | b | ) |
Constructor for FONcStructure that takes a DAP Structure.
This constructor takes a DAP BaseType and makes sure that it is a DAP Structure instance. If not, it throws an exception
b | A DAP BaseType that should be a Structure |
BESInternalError | if the BaseType is not a Structure |
Definition at line 47 of file FONcStructure.cc.
|
virtual |
Destructor that cleans up the structure.
Delete each of the FONcBaseType instances that is a part of this structure.
Definition at line 62 of file FONcStructure.cc.
|
virtualinherited |
Clears the list of embedded variable names.
Definition at line 93 of file FONcBaseType.cc.
|
virtual |
Creates the FONc objects for each variable of the DAP structure.
For each of the variables of the DAP Structure we convert to a similar FONc object. Because NetCDF does not support structures, we must flatten out the structures. To do this, we embed the name of the structure as part of the name of the children variables. For example, if the structure, called s1, contains an array called a1 and an int called i1, then two variables are created in the netcdf file called s1.a1 and s1.i1.
embed | The parent names of this structure. |
BESInternalError | if there is a problem converting this structure |
Definition at line 98 of file FONcStructure.cc.
|
virtual |
Define the members of the structure in the netcdf file.
Since netcdf does not support structures, we define the members of the structure to include the name of the structure in their name.
ncid | The id of the netcdf file |
BESInternalError | if there is a problem defining the structure |
Reimplemented from FONcBaseType.
Definition at line 136 of file FONcStructure.cc.
|
virtual |
dumps information about this object for debugging purposes
Displays the pointer value of this instance plus instance data, including the members of the structure by calling dump on those FONc objects.
strm | C++ i/o stream to dump the information to |
Definition at line 195 of file FONcStructure.cc.
|
pure virtualinherited |
dump the contents of this object to the specified ostream
This method is implemented by all derived classes to dump their contents, in other words, any state they might have, private variables, etc...
The inline function below can be used to dump the contents of an OPeNDAOObj object. For example, the object Animal is derived from BESObj. A user could do the following:
Animal *a = new dog( "Sparky" ) ; cout << a << endl ;
And the dump method for dog could display the name passed into the constructor, the (this) pointer of the object, etc...
strm | C++ i/o stream to dump the object to |
Implements BESObj.
Implemented in FONcArray.
|
virtualinherited |
Returns true if NetCDF4 features will be required.
Definition at line 118 of file FONcBaseType.cc.
|
virtual |
Returns the name of the structure.
Implements FONcBaseType.
Definition at line 182 of file FONcStructure.cc.
|
virtualinherited |
Identifies the netCDF4 data model (CLASSIC or ENHANCED)
Definition at line 109 of file FONcBaseType.cc.
|
virtualinherited |
Identifies variable with use of NetCDF4 features.
Definition at line 100 of file FONcBaseType.cc.
|
virtualinherited |
Returns the type of data of this variable.
This implementation of the method returns the default type of data. Subclasses of FONcBaseType will return the specific type of data for simple types
Reimplemented in FONcDouble, FONcByte, FONcUShort, FONcUInt64, FONcUInt, FONcUByte, FONcStr, FONcShort, FONcInt8, FONcInt64, FONcInt, and FONcFloat.
Definition at line 86 of file FONcBaseType.cc.
|
virtual |
write the member variables of the structure to the netcdf file
ncid | The id of the netcdf file |
BESInternalError | if there is a problem writing out the members of the structure. |
Implements FONcBaseType.
Definition at line 161 of file FONcStructure.cc.