VAPoR  0.1
Public Member Functions | List of all members
VAPoR::MetadataVDC Class Reference

A class for managing data set metadata. More...

#include <MetadataVDC.h>

Inheritance diagram for VAPoR::MetadataVDC:
VAPoR::Metadata VetsUtil::MyBase VAPoR::ParsedXml VAPoR::MetadataSpherical VAPoR::VDFIOBase VAPoR::AMRIO VAPoR::WaveCodecIO VAPoR::WaveletBlockIOBase VAPoR::DataMgrAMR VAPoR::DataMgrWC VAPoR::WaveletBlock3DReader VAPoR::WaveletBlock3DRegionReader VAPoR::WaveletBlock3DRegionWriter VAPoR::WaveletBlock3DWriter VAPoR::WaveletBlock3DBufReader VAPoR::DataMgrWB VAPoR::WaveletBlock3DBufWriter

Public Member Functions

 MetadataVDC (const size_t dim[3], size_t numTransforms, const size_t bs[3], int nFilterCoef=1, int nLiftingCoef=1, int msbFirst=1, int vdfVersion=VDF_VERSION)
 
 MetadataVDC (const size_t dim[3], const size_t bs[3], const vector< size_t > &cratios, string wname, string wmode)
 
 MetadataVDC (const string &metafile)
 
 MetadataVDC (const MetadataVDC &node)
 
virtual ~MetadataVDC ()
 
int Merge (const MetadataVDC &metadata, size_t ts=0)
 
int Merge (const string &path, size_t ts=0)
 
int MakeCurrent () const
 
const string & GetParentDir () const
 
const string & GetMetafileName () const
 
const string & GetDataDirName () const
 
int ConstructFullVBase (size_t ts, const string &var, string *path) const
 
int ConstructFullAuxBase (size_t ts, string *path) const
 
int Write (const string &path, int relative_path=1)
 
virtual const size_t * GetBlockSize () const
 
virtual void GetBlockSize (size_t bs[3], int) const
 
virtual void GetGridDim (size_t dim[3]) const
 
const size_t * GetDimension () const
 
int GetFilterCoef () const
 
int GetLiftingCoef () const
 
virtual int GetNumTransforms () const
 
int GetMSBFirst () const
 
int GetVDFVersion () const
 
string GetWaveName () const
 
string GetBoundaryMode () const
 
virtual vector< size_t > GetCRatios () const
 
int GetVDCType () const
 
int SetGridType (const string &value)
 
string GetGridType () const
 
int IsValidGridType (const string &value) const
 
int SetCoordSystemType (const string &value)
 
string GetCoordSystemType () const
 
int IsValidCoordSystemType (const string &value) const
 
int SetExtents (const vector< double > &value)
 
vector< double > GetExtents (size_t ts=0) const
 
int IsValidExtents (const vector< double > &value) const
 
int SetNumTimeSteps (long value)
 
long GetNumTimeSteps () const
 
int IsValidTimeStep (long value) const
 
int SetVariableNames (const vector< string > &value)
 
int SetVariables3D (const vector< string > &value)
 
vector< string > GetVariables3D () const
 
vector< string > GetCoordinateVariables () const
 
int SetCoordinateVariables (const vector< string > &value)
 
int SetVariables2DXY (const vector< string > &value)
 
int SetVariables2DXZ (const vector< string > &value)
 
int SetVariables2DYZ (const vector< string > &value)
 
vector< string > GetVariables2DXY () const
 
vector< string > GetVariables2DXZ () const
 
vector< string > GetVariables2DYZ () const
 
int SetComment (const string &value)
 
string GetComment () const
 
int SetPeriodicBoundary (const vector< long > &value)
 
vector< long > GetPeriodicBoundary () const
 
int SetGridPermutation (const vector< long > &value)
 
int SetMissingValue (double value)
 
int SetMissingValue ()
 
vector< double > GetMissingValue () const
 
vector< long > GetGridPermutation () const
 
int SetMapProjection (const string &value)
 
virtual string GetMapProjection () const
 
int SetTSUserTime (size_t ts, const vector< double > &value)
 
double GetTSUserTime (size_t ts) const
 
int SetTSUserTimeStamp (size_t ts, const string &s)
 
void GetTSUserTimeStamp (size_t ts, string &s) const
 
string GetTSAuxBasePath (size_t ts) const
 
int HasTSUserTime (size_t ts) const
 
int IsValidUserTime (const vector< double > &value) const
 
int SetTSXCoords (size_t ts, const vector< double > &value)
 
vector< double > GetTSXCoords (size_t ts) const
 
int SetTSYCoords (size_t ts, const vector< double > &value)
 
vector< double > GetTSYCoords (size_t ts) const
 
int SetTSZCoords (size_t ts, const vector< double > &value)
 
vector< double > GetTSZCoords (size_t ts) const
 
int SetTSComment (size_t ts, const string &value)
 Set a comment for the time step indicated by ts. More...
 
string GetTSComment (size_t ts) const
 Return the comment for the indicated time step, ts, if it exists. More...
 
int SetTSExtents (size_t ts, const vector< double > &value)
 
vector< double > GetTSExtents (size_t ts) const
 
int SetTSMissingValue (size_t ts, double v)
 
vector< double > GetTSMissingValue (size_t ts) const
 Returns the time-varying missing value, if any. More...
 
int SetVComment (size_t ts, const string &var, const string &value)
 
string GetVComment (size_t ts, const string &var) const
 
string GetVBasePath (size_t ts, const string &var) const
 
int SetVBasePath (size_t ts, const string &var, const string &value)
 
int SetVDataRange (size_t ts, const string &var, const vector< double > &value)
 
vector< double > GetVDataRange (size_t ts, const string &var) const
 
int IsValidVDataRange (const vector< double > &value) const
 
int SetVMissingValue (size_t ts, const string &var, double v)
 
vector< double > GetVMissingValue (size_t ts, const string &var) const
 
vector< string > GetUserDataLongTags () const
 
int SetUserDataLong (const string &tag, const vector< long > &value)
 
vector< long > GetUserDataLong (const string &tag) const
 
vector< string > GetUserDataDoubleTags () const
 
int SetUserDataDouble (const string &tag, const vector< double > &value)
 
vector< double > GetUserDataDouble (const string &tag) const
 
vector< string > GetUserDataStringTags () const
 
int SetUserDataString (const string &tag, const string &value)
 
string GetUserDataString (const string &tag) const
 
int SetUserDataStringVec (const string &tag, const vector< string > &value)
 
vector< string > GetUserDataStringVec (const string &tag) const
 
vector< string > GetTSUserDataLongTags () const
 
int SetTSUserDataLong (size_t ts, const string &tag, const vector< long > &value)
 
vector< long > GetTSUserDataLong (size_t ts, const string &tag) const
 
int SetTSUserDataDouble (size_t ts, const string &tag, const vector< double > &value)
 
vector< double > GetTSUserDataDouble (size_t ts, const string &tag) const
 
vector< string > GetTSUserDataDoubleTags () const
 
int SetTSUserDataString (size_t ts, const string &tag, const string &value)
 
string GetTSUserDataString (size_t ts, const string &tag) const
 
vector< string > GetTSUserDataStringTags () const
 
vector< string > GetVUserDataLongTags () const
 
int SetVUserDataLong (size_t ts, const string &var, const string &tag, const vector< long > &value)
 
vector< long > GetVUserDataLong (size_t ts, const string &var, const string &tag) const
 
vector< string > GetVUserDataDoubleTags () const
 
int SetVUserDataDouble (size_t ts, const string &var, const string &tag, const vector< double > &value)
 
vector< double > GetVUserDataDouble (size_t ts, const string &var, const string &tag) const
 
int SetVUserDataString (size_t ts, const string &var, const string &tag, const string &value)
 
string GetVUserDataString (size_t ts, const string &var, const string &tag) const
 
vector< string > GetVUserDataStringTags () const
 
- Public Member Functions inherited from VetsUtil::MyBase
 MyBase ()
 
const string & getClassName () const
 
- Public Member Functions inherited from VAPoR::ParsedXml
virtual ~ParsedXml ()
 
virtual bool charHandler (ExpatParseMgr *, const XML_Char *, int)
 

Additional Inherited Members

- Public Types inherited from VetsUtil::MyBase
typedef void(* ErrMsgCB_T) (const char *msg, int err_code)
 
typedef void(* DiagMsgCB_T) (const char *msg)
 
- Static Public Member Functions inherited from VetsUtil::MyBase
static void SetErrMsg (const char *format,...)
 Record a formatted error message. More...
 
static void SetErrMsg (int errcode, const char *format,...)
 Record a formatted error message and an error code. More...
 
static const char * GetErrMsg ()
 
static void SetErrCode (int err_code)
 Record an error code. More...
 
static int GetErrCode ()
 Retrieve the current error code. More...
 
static void SetErrMsgCB (ErrMsgCB_T cb)
 
static ErrMsgCB_T GetErrMsgCB ()
 
static void SetErrMsgFilePtr (FILE *fp)
 
static const FILE * SetErrMsgFilePtr ()
 
static void SetDiagMsg (const char *format,...)
 Record a formatted diagnostic message. More...
 
static const char * GetDiagMsg ()
 
static void SetDiagMsgCB (DiagMsgCB_T cb)
 
static DiagMsgCB_T GetDiagMsgCB ()
 
static void SetDiagMsgFilePtr (FILE *fp)
 
static bool EnableErrMsg (bool enable)
 
- Public Attributes inherited from VAPoR::ParsedXml
ParsedXmlpreviousClass
 
- Static Public Attributes inherited from VetsUtil::MyBase
static char * ErrMsg
 
static int ErrCode
 
static int ErrMsgSize
 
static FILE * ErrMsgFilePtr
 
static ErrMsgCB_T ErrMsgCB
 
static char * DiagMsg
 
static int DiagMsgSize
 
static FILE * DiagMsgFilePtr
 
static DiagMsgCB_T DiagMsgCB
 
static bool Enabled
 
- Protected Member Functions inherited from VetsUtil::MyBase
void SetClassName (const string &name)
 
- Static Protected Attributes inherited from VAPoR::ParsedXml
static const string _stringType
 
static const string _longType
 
static const string _doubleType
 
static const string _typeAttr
 

Detailed Description

A class for managing data set metadata.

Author
John Clyne
Version
$Revision$
Date
$Date$

The MetadataVDC class is used to read and write VAPoR metadata files. A metadata file desribes a time-varying, multi-variate, multiresolution data set. Elements of the data set are 3D volumes of gridded field data. A data set's metadata describes attributes of the field data, such as its dimension, grid spacing, real world coordinates, etc., but does specify the values of the dependent field values themselves. In a VAPoR data set, metadata and dependent field data are store in separate files.

The MetadataVDC class is derived from the MyBase base class. Hence all of the methods make use of MyBase's error reporting capability - the success of any method (including constructors) can (and should) be tested with the GetErrCode() method. If non-zero, an error message can be retrieved with GetErrMsg().

Methods that retrieve required MetadataVDC elements will set an error code via MyBase::SetErrMsg() if the requested element is not present in the MetadataVDC object. Methods that retrieve optional elements will NOT set an error code if an optional element is not present.

Definition at line 92 of file MetadataVDC.h.

Constructor & Destructor Documentation

VAPoR::MetadataVDC::MetadataVDC ( const size_t  dim[3],
size_t  numTransforms,
const size_t  bs[3],
int  nFilterCoef = 1,
int  nLiftingCoef = 1,
int  msbFirst = 1,
int  vdfVersion = VDF_VERSION 
)

Create a VDC type 1 metadata object from scratch.

Parameters
[in]dimThe X, Y, and Z coordinate dimensions of all data volumes, specified in grid coordinates (voxels)
[in]numTransformsNumber of wavelet transforms to perform
[in]bsInternal blocking factor for transformed data. Must be a power of two.
[in]nFilterCoefNumber of filter coefficients used by wavelet transforms
[in]nLiftingCoefNumber of lifting coefficients used by wavelet transforms
[in]msbFirstBoolean, if true storage order for volume data will be most significant byte fist (i.e. big endian).
[in]vdfVersionVDF file version number. In general this should not be changed from the default
VAPoR::MetadataVDC::MetadataVDC ( const size_t  dim[3],
const size_t  bs[3],
const vector< size_t > &  cratios,
string  wname,
string  wmode 
)

Create a VDC type 2 metadata object from scratch.

Parameters
[in]dimThe X, Y, and Z coordinate dimensions of all data volumes, specified in grid coordinates (voxels)
[in]bsInternal blocking factor for transformed data. Must be a power of two.
[in]cratiosA vector of compression ratios
[in]wnameWavelet name
[in]wmodeWavelet boundary handling mode
VAPoR::MetadataVDC::MetadataVDC ( const string &  metafile)

Create a metadata object from a metadata file stored on disk. If the metafile is an earlier version the resulting metadata object will be converted to the current version.

Parameters
[in]pathPath to metadata file
VAPoR::MetadataVDC::MetadataVDC ( const MetadataVDC node)

Copy constructor for the MetadataVDC class.

Create's a new MetadataVDC node from an existing one.

Parameters
[in]nodeMetadataVDC instance from which to construct a copy
virtual VAPoR::MetadataVDC::~MetadataVDC ( )
virtual

Member Function Documentation

int VAPoR::MetadataVDC::ConstructFullAuxBase ( size_t  ts,
string *  path 
) const
int VAPoR::MetadataVDC::ConstructFullVBase ( size_t  ts,
const string &  var,
string *  path 
) const
virtual const size_t* VAPoR::MetadataVDC::GetBlockSize ( ) const
inlinevirtual

Return the internal blocking factor use for WaveletBlock files

Return values
sizeInternal block factor
Remarks
Required element

Definition at line 264 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrWB::_GetBlockSize(), and VAPoR::DataMgrWC::_GetBlockSize().

virtual void VAPoR::MetadataVDC::GetBlockSize ( size_t  bs[3],
int   
) const
inlinevirtual

Return the internal blocking factor at a particular refinement level

Parameters
[in]reflevelRefinement level of the variable
[out]dimTransformed dimension.
Return values
sizeInternal block factor

Implements VAPoR::Metadata.

Reimplemented in VAPoR::WaveCodecIO.

Definition at line 273 of file MetadataVDC.h.

string VAPoR::MetadataVDC::GetBoundaryMode ( ) const
inline

Returns wavelet boundary handling mode

Return values
wavenameWavelet boundary handling mode
Remarks
Required type 2 element

Definition at line 336 of file MetadataVDC.h.

string VAPoR::MetadataVDC::GetComment ( ) const
inline

Return the global comment, if it exists

Return values
valueThe global comment. An empty string is returned if the global comment is not defined.
Remarks
Optional element

Definition at line 578 of file MetadataVDC.h.

vector<string> VAPoR::MetadataVDC::GetCoordinateVariables ( ) const
inlinevirtual

Return the names of the coordinate variables.

This method returns a three-element vector naming the X, Y, and Z coordinate variables, respectively. The special name "NONE" indicates that a coordinate variable name does not exist for a particular dimension.

Note
The existence of a coordinate variable name does not imply the existence of the coordinate variable itself.
Return values
vectoris three-element vector of coordinate variable names.

Reimplemented from VAPoR::Metadata.

Definition at line 506 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrWB::_GetCoordinateVariables(), and VAPoR::DataMgrWC::_GetCoordinateVariables().

string VAPoR::MetadataVDC::GetCoordSystemType ( ) const
inlinevirtual

Return the coordinate system type.

Return values
typeThe grid type
Remarks
Required element

Reimplemented from VAPoR::Metadata.

Definition at line 406 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrWB::_GetCoordSystemType(), and VAPoR::DataMgrWC::_GetCoordSystemType().

virtual vector<size_t> VAPoR::MetadataVDC::GetCRatios ( ) const
inlinevirtual

Returns compression ratios

Return values
cratiosvector of compression ratios
Remarks
Required type 2 element

Reimplemented from VAPoR::Metadata.

Definition at line 343 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrWC::_GetCRatios().

const string& VAPoR::MetadataVDC::GetDataDirName ( ) const
inline

Return the base of file path name to the data subdirectory. If the class was constructed with a path name, this method returns the basename of the path name, with any file extensions removed, and "_data" appended. If the class was not constructed with a path name, an empty string is returned

Return values
dirname: parent directory or an empty string

Definition at line 245 of file MetadataVDC.h.

const size_t* VAPoR::MetadataVDC::GetDimension ( ) const
inline

Returns the X,Y,Z coordinate dimensions of the data in grid coordinates

Return values
dimA three element vector containing the voxel dimension of the data at its native resolution
Remarks
Required element

Definition at line 287 of file MetadataVDC.h.

vector<double> VAPoR::MetadataVDC::GetExtents ( size_t  ts = 0) const
virtual

Return the domain extents specified in user coordinates

Return the domain extents specified in user coordinates for the indicated time step. Variables in the data have spatial positions defined in a user coordinate system. These positions may vary with time. This method returns min and max bounds, in user coordinates, of all variables at a given time step.

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1. If ts is out of range, GetExtents() will return a reasonable default value.
Return values
extentsA six-element array containing the min and max bounds of the data domain in user-defined coordinates. The first three elements specify the minimum X, Y, and Z bounds, respectively, the second three elements specify the maximum bounds.

Implements VAPoR::Metadata.

Referenced by VAPoR::DataMgrAMR::_GetExtents(), VAPoR::DataMgrWB::_GetExtents(), and VAPoR::DataMgrWC::_GetExtents().

int VAPoR::MetadataVDC::GetFilterCoef ( ) const
inline

Returns the number of filter coefficients employed for wavelet transforms

Return values
_nFilterCoefNumber of filter coefficients
Remarks
Required element

Definition at line 294 of file MetadataVDC.h.

virtual void VAPoR::MetadataVDC::GetGridDim ( size_t  dim[3]) const
inlinevirtual

Get the native dimension of a volume

Returns the X,Y,Z coordinate dimensions of all data variables in grid (voxel) coordinates full resolution.

Parameters
[in]reflevelRefinement level of the variable
[out]dimA three element vector (ordered X, Y, Z) containing the voxel dimensions of the data at full resolution.

Implements VAPoR::Metadata.

Definition at line 277 of file MetadataVDC.h.

vector<long> VAPoR::MetadataVDC::GetGridPermutation ( ) const
inlinevirtual

Return a three-element integer array indicating the coordinate ordering permutation.

Return values
integer-vector
Remarks
Optional element

Implements VAPoR::Metadata.

Definition at line 662 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrAMR::_GetGridPermutation(), VAPoR::DataMgrWB::_GetGridPermutation(), and VAPoR::DataMgrWC::_GetGridPermutation().

string VAPoR::MetadataVDC::GetGridType ( ) const
inlinevirtual

Return the grid type.

Return values
typeThe grid type
Remarks
Required element

Reimplemented from VAPoR::Metadata.

Definition at line 377 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrWB::_GetGridType(), and VAPoR::DataMgrWC::_GetGridType().

int VAPoR::MetadataVDC::GetLiftingCoef ( ) const
inline

Returns the number of lifting coefficients employed for wavelet transforms

Return values
_nLiftingCoefNumber of lifting coefficients
Remarks
Required type 1 element

Definition at line 301 of file MetadataVDC.h.

virtual string VAPoR::MetadataVDC::GetMapProjection ( ) const
virtual

Return the map projection argument string, if it exists

Return values
valueThe map projection string. An empty string is returned if a map projection is not defined.
Remarks
Optional element
See also
SetMapProjection()

Reimplemented from VAPoR::Metadata.

Referenced by VAPoR::DataMgrWB::_GetMapProjection(), and VAPoR::DataMgrWC::_GetMapProjection().

const string& VAPoR::MetadataVDC::GetMetafileName ( ) const
inline

Return the base of file path name to the metafile. If the class was constructed with a path name, this method returns the basename of the path name. If the class was not constructed with a path name, an empty string is returned

Return values
dirname: parent directory or an empty string

Definition at line 236 of file MetadataVDC.h.

vector<double> VAPoR::MetadataVDC::GetMissingValue ( ) const
inline

Return the current global missing value, if any

This method returns a one-element vector containing the current missing value. If no missing value is defined an empty vector will be returned.

Definition at line 651 of file MetadataVDC.h.

int VAPoR::MetadataVDC::GetMSBFirst ( ) const
inline

Returns true if the storage order for data is most signicant byte first

Return values
_msbFirstBooean
Remarks
Required type 1 element

Definition at line 315 of file MetadataVDC.h.

long VAPoR::MetadataVDC::GetNumTimeSteps ( ) const
virtual

Return the number of time steps in the collection

Return values
valueThe number of time steps or a negative number on error
Remarks
Required element

Implements VAPoR::Metadata.

Referenced by VAPoR::DataMgrAMR::_GetNumTimeSteps(), VAPoR::DataMgrWB::_GetNumTimeSteps(), and VAPoR::DataMgrWC::_GetNumTimeSteps().

virtual int VAPoR::MetadataVDC::GetNumTransforms ( ) const
inlinevirtual

Returns the number of wavelet transforms

Parameters
_numTransformsNumber of transforms
Remarks
Required type 1 element

Reimplemented from VAPoR::Metadata.

Reimplemented in VAPoR::WaveCodecIO.

Definition at line 308 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrAMR::_GetNumTransforms(), and VAPoR::DataMgrWB::_GetNumTransforms().

const string& VAPoR::MetadataVDC::GetParentDir ( ) const
inline

Return the file path name to the metafile's parent directory. If the class was constructed with a path name, this method returns the parent directory of the path name. If the class was not constructed with a path name, an empty string is returned

Return values
dirname: parent directory or an empty string

Definition at line 228 of file MetadataVDC.h.

vector<long> VAPoR::MetadataVDC::GetPeriodicBoundary ( ) const
inlinevirtual

Return a three-element boolean array indicating if the X,Y,Z axes have periodic boundaries, respectively.

Return values
boolean-vector
Remarks
Required element (VDF version 1.3 or greater)

Implements VAPoR::Metadata.

Definition at line 601 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrAMR::_GetPeriodicBoundary(), VAPoR::DataMgrWB::_GetPeriodicBoundary(), and VAPoR::DataMgrWC::_GetPeriodicBoundary().

string VAPoR::MetadataVDC::GetTSAuxBasePath ( size_t  ts) const
inline

Return the base path for auxiliary data, indicated by the time step, ts, if it exists.

Paths to data files are constructed from the base path.

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
Return values
pathAuxiliary data base path name
Remarks
Required element

Definition at line 747 of file MetadataVDC.h.

References CHK_TS_REQ.

string VAPoR::MetadataVDC::GetTSComment ( size_t  ts) const
inline

Return the comment for the indicated time step, ts, if it exists.

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
Return values
commentA comment string. An empty string is returned if the comment for the specified time step is not defined.
Remarks
Optional element

Definition at line 842 of file MetadataVDC.h.

References CHK_TS_OPT.

vector<double> VAPoR::MetadataVDC::GetTSExtents ( size_t  ts) const
inline
Deprecated:
Use GetExtents()
Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
Return values
extentsA six-element array containing the min and max bounds of the data domain in user-defined coordinates. The global extents vector is returned if the extents for the specified time step is not defined.
Remarks
Optional element

Definition at line 871 of file MetadataVDC.h.

vector<double> VAPoR::MetadataVDC::GetTSMissingValue ( size_t  ts) const
inline

Returns the time-varying missing value, if any.

Definition at line 886 of file MetadataVDC.h.

References CHK_TS_OPT.

vector<double> VAPoR::MetadataVDC::GetTSUserDataDouble ( size_t  ts,
const string &  tag 
) const
inline

Definition at line 1173 of file MetadataVDC.h.

References CHK_TS_OPT.

vector<string> VAPoR::MetadataVDC::GetTSUserDataDoubleTags ( ) const
inline

Definition at line 1177 of file MetadataVDC.h.

vector<long> VAPoR::MetadataVDC::GetTSUserDataLong ( size_t  ts,
const string &  tag 
) const
inline

Get time step, user-defined metadata

Get the value(s) of a time step, user-defined metadata tag of type long, associated with time step ts.

Parameters
[in]tsThe time step this metadata field applies to
[in]tagName of metadata tag
Return values
vectorA vector of metadata values associated with tag. If tag is not defined by the metadata class, the vector returned is empty.
See also
GetTSUserDataLongTag(), SetTSUserDataLong()
Remarks
Optional element

Definition at line 1159 of file MetadataVDC.h.

References CHK_TS_OPT.

vector<string> VAPoR::MetadataVDC::GetTSUserDataLongTags ( ) const
inline

Return a vector of time step metadata tags for long data

The vector returned contains the tags (names) for any user-defined, time step metadata. The value(s) of the metadata associated with the returned tags may be queried with GetTSUserDataLong().

Return values
vectorA vector of tag names
See also
SetTSUserDataLong(), GetTSUserDataLong()

Definition at line 1124 of file MetadataVDC.h.

string VAPoR::MetadataVDC::GetTSUserDataString ( size_t  ts,
const string &  tag 
) const
inline

Definition at line 1191 of file MetadataVDC.h.

References CHK_TS_OPT.

vector<string> VAPoR::MetadataVDC::GetTSUserDataStringTags ( ) const
inline

Definition at line 1195 of file MetadataVDC.h.

double VAPoR::MetadataVDC::GetTSUserTime ( size_t  ts) const
inlinevirtual

Return the time for a time step, if it exists,

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
Return values
valueA single element vector specifying the time
Remarks
Required element

Implements VAPoR::Metadata.

Definition at line 720 of file MetadataVDC.h.

References CHK_TS_OPT.

Referenced by VAPoR::DataMgrAMR::_GetTSUserTime(), VAPoR::DataMgrWB::_GetTSUserTime(), and VAPoR::DataMgrWC::_GetTSUserTime().

void VAPoR::MetadataVDC::GetTSUserTimeStamp ( size_t  ts,
string &  s 
) const
inline
vector<double> VAPoR::MetadataVDC::GetTSXCoords ( size_t  ts) const
inlinevirtual

Return the X dimension coordinate array, if it exists

Return values
valueAn array of monotonically increasing values specifying the X // coordinates, in a user-defined coordinate system, of each YZ sample plane. An empty vector is returned if the coordinate dimension array is not defined for the specified time step.
See also
SetGridType(), GetGridType(), GetTSXCoords()
Remarks
Optional element

Reimplemented from VAPoR::Metadata.

Definition at line 805 of file MetadataVDC.h.

References CHK_TS_OPT.

Referenced by VAPoR::DataMgrWB::_GetTSXCoords(), and VAPoR::DataMgrWC::_GetTSXCoords().

vector<double> VAPoR::MetadataVDC::GetTSYCoords ( size_t  ts) const
inlinevirtual

Reimplemented from VAPoR::Metadata.

Definition at line 812 of file MetadataVDC.h.

References CHK_TS_OPT.

Referenced by VAPoR::DataMgrWB::_GetTSYCoords(), and VAPoR::DataMgrWC::_GetTSYCoords().

vector<double> VAPoR::MetadataVDC::GetTSZCoords ( size_t  ts) const
inlinevirtual

Reimplemented from VAPoR::Metadata.

Definition at line 819 of file MetadataVDC.h.

References CHK_TS_OPT.

Referenced by VAPoR::DataMgrWB::_GetTSZCoords(), and VAPoR::DataMgrWC::_GetTSZCoords().

vector<double> VAPoR::MetadataVDC::GetUserDataDouble ( const string &  tag) const
inline

Definition at line 1077 of file MetadataVDC.h.

vector<string> VAPoR::MetadataVDC::GetUserDataDoubleTags ( ) const
inline

Definition at line 1070 of file MetadataVDC.h.

vector<long> VAPoR::MetadataVDC::GetUserDataLong ( const string &  tag) const
inline

Get global, user-defined metadata

Get the value(s) of a top-level (global), user-defined metadata tag of type long.

Parameters
[in]tagName of metadata tag
Return values
vectorA vector of metadata values associated with tag. If tag is not defined by the metadata class, the vector returned is empty.
See also
GetUserDataLongTag(), SetUserDataLong()
Remarks
Optional element

Definition at line 1066 of file MetadataVDC.h.

vector<string> VAPoR::MetadataVDC::GetUserDataLongTags ( ) const
inline

Return a vector of global, user-defined metadata tags for long data

The vector returned contains the tags (names) for any user-defined, global metadata. The value(s) of the metadata associated with the returned tags may be queried with GetUserDataLong().

Return values
vectorA vector of tag names
See also
SetUserDataLong(), GetUserDataLong()

Definition at line 1035 of file MetadataVDC.h.

string VAPoR::MetadataVDC::GetUserDataString ( const string &  tag) const
inline

Definition at line 1088 of file MetadataVDC.h.

vector<string> VAPoR::MetadataVDC::GetUserDataStringTags ( ) const
inline

Definition at line 1081 of file MetadataVDC.h.

vector<string> VAPoR::MetadataVDC::GetUserDataStringVec ( const string &  tag) const
inline

Definition at line 1097 of file MetadataVDC.h.

vector<string> VAPoR::MetadataVDC::GetVariables2DXY ( ) const
inlinevirtual

Return the names of the 2D, XY variables in the collection

Return values
valueis a space-separated list of 2D XY variable names
Remarks
Required element (VDF version 1.3 or greater)

Implements VAPoR::Metadata.

Definition at line 543 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrAMR::_GetVariables2DXY(), VAPoR::DataMgrWB::_GetVariables2DXY(), and VAPoR::DataMgrWC::_GetVariables2DXY().

vector<string> VAPoR::MetadataVDC::GetVariables2DXZ ( ) const
inlinevirtual

Return the names of the 2D, XZ variables in the collection

Return values
valueis a vectort of 2D ZY variable names An emptry string is returned if no variables of this type are present

Implements VAPoR::Metadata.

Definition at line 548 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrAMR::_GetVariables2DXZ(), VAPoR::DataMgrWB::_GetVariables2DXZ(), and VAPoR::DataMgrWC::_GetVariables2DXZ().

vector<string> VAPoR::MetadataVDC::GetVariables2DYZ ( ) const
inlinevirtual

Return the names of the 2D, YZ variables in the collection

Return values
valueis a vector of 2D YZ variable names An emptry string is returned if no variables of this type are present

Implements VAPoR::Metadata.

Definition at line 553 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrAMR::_GetVariables2DYZ(), VAPoR::DataMgrWB::_GetVariables2DYZ(), and VAPoR::DataMgrWC::_GetVariables2DYZ().

vector<string> VAPoR::MetadataVDC::GetVariables3D ( ) const
inlinevirtual

Return the names of the 3D variables in the collection

Return values
valueis a space-separated list of 3D variable names
Remarks
Required element (VDF version 1.3 or greater)

Implements VAPoR::Metadata.

Definition at line 498 of file MetadataVDC.h.

Referenced by VAPoR::DataMgrAMR::_GetVariables3D(), VAPoR::DataMgrWB::_GetVariables3D(), and VAPoR::DataMgrWC::_GetVariables3D().

string VAPoR::MetadataVDC::GetVBasePath ( size_t  ts,
const string &  var 
) const

Return the base path for the variable, v, indicated by the time step, ts, if it exists.

Paths to data files are constructed from the base path.

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
[in]varA valid data set variable name
Return values
pathVariable base path name
Remarks
Required element
string VAPoR::MetadataVDC::GetVComment ( size_t  ts,
const string &  var 
) const
inline

Return the comment for the variable, v, indicated by the time step, ts, if it exists

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
[in]varA valid data set variable name
Return values
commentA comment string. An emptry string is returned if no comment is defined for the specified variable
Remarks
Optional element

Definition at line 912 of file MetadataVDC.h.

References CHK_VAR_OPT.

vector<double> VAPoR::MetadataVDC::GetVDataRange ( size_t  ts,
const string &  var 
) const
inline

Return the base path for the variable, v, indicated by the time step, ts, if it exists.

Paths to data files are constructed from the base path.

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
[in]varA valid data set variable name
Return values
pathVariable base path name

This method is deprecated and should no longer be used.

Definition at line 958 of file MetadataVDC.h.

References CHK_VAR_REQ.

int VAPoR::MetadataVDC::GetVDCType ( ) const
inline

Returns VDC type (1 or 2)

Return values
int1 or 2

Definition at line 350 of file MetadataVDC.h.

Referenced by VAPoR::DataStatus::setDataMissing2D(), and VAPoR::DataStatus::setDataMissing3D().

int VAPoR::MetadataVDC::GetVDFVersion ( ) const
inline

Returns vdf file version number

Return values
_vdfVersionVersion number
Remarks
Required element

Definition at line 322 of file MetadataVDC.h.

vector<double> VAPoR::MetadataVDC::GetVMissingValue ( size_t  ts,
const string &  var 
) const
inline

Definition at line 982 of file MetadataVDC.h.

References CHK_VAR_REQ.

vector<double> VAPoR::MetadataVDC::GetVUserDataDouble ( size_t  ts,
const string &  var,
const string &  tag 
) const
inline

Definition at line 1283 of file MetadataVDC.h.

References CHK_VAR_OPT.

vector<string> VAPoR::MetadataVDC::GetVUserDataDoubleTags ( ) const
inline

Definition at line 1271 of file MetadataVDC.h.

vector<long> VAPoR::MetadataVDC::GetVUserDataLong ( size_t  ts,
const string &  var,
const string &  tag 
) const
inline

Get variable, user-defined metadata

Get the value(s) of a variable, user-defined metadata tag of type long, associated with time step ts and variable var.

Parameters
[in]tsThe time step this metadata field applies to
[in]varThe field variable this metadata field applies to
[in]tagName of metadata tag
Return values
vectorA vector of metadata values associated with tag. If tag is not defined by the metadata class, the vector returned is empty.
See also
GetTSUserDataLongTag(), SetTSUserDataLong()
Remarks
Optional element

Definition at line 1264 of file MetadataVDC.h.

References CHK_VAR_OPT.

vector<string> VAPoR::MetadataVDC::GetVUserDataLongTags ( ) const
inline

Return a vector of variable metadata tags for long data

The vector returned contains the tags (names) for any user-defined, variable metadata. The value(s) of the metadata associated with the returned tags may be queried with GetVUserDataLong().

Return values
vectorA vector of tag names
See also
SetVUserDataLong(), GetVUserDataLong(), GetVariableNames()

Definition at line 1224 of file MetadataVDC.h.

string VAPoR::MetadataVDC::GetVUserDataString ( size_t  ts,
const string &  var,
const string &  tag 
) const
inline

Definition at line 1299 of file MetadataVDC.h.

References CHK_VAR_OPT.

vector<string> VAPoR::MetadataVDC::GetVUserDataStringTags ( ) const
inline

Definition at line 1306 of file MetadataVDC.h.

string VAPoR::MetadataVDC::GetWaveName ( ) const
inline

Returns wavelet family name

Return values
wavenameWavelet name
Remarks
Required type 2 element

Definition at line 329 of file MetadataVDC.h.

int VAPoR::MetadataVDC::HasTSUserTime ( size_t  ts) const
inline

Return true if a user time exists for the indicated time step

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
Return values
booleanTrue if value is a valid argument
Deprecated:
This method is deprecated and should always return true as UserTime is a required metadata element.

Definition at line 762 of file MetadataVDC.h.

int VAPoR::MetadataVDC::IsValidCoordSystemType ( const string &  value) const
inline

Return true if value is a valid coordinate system type.

Return values
booleanTrue if value is a valid type

Definition at line 414 of file MetadataVDC.h.

References VetsUtil::StrCmpNoCase().

int VAPoR::MetadataVDC::IsValidExtents ( const vector< double > &  value) const

Return true if value is a valid coordinate extent definition

Return values
booleanTrue if value is a valid argument
int VAPoR::MetadataVDC::IsValidGridType ( const string &  value) const
inline

Return true if value is a valid grid type.

Parameters
[in]valueGrid type
Return values
booleanTrue if value is a valid grid type

Definition at line 385 of file MetadataVDC.h.

References VetsUtil::StrCmpNoCase().

int VAPoR::MetadataVDC::IsValidTimeStep ( long  value) const
inline

Return true if value is a valid time step specification

Return values
booleanTrue if value is a valid argument

Definition at line 462 of file MetadataVDC.h.

int VAPoR::MetadataVDC::IsValidUserTime ( const vector< double > &  value) const
inline

Return true if value is a valid time specification.

Return values
booleanTrue if value is a valid argument

Definition at line 771 of file MetadataVDC.h.

int VAPoR::MetadataVDC::IsValidVDataRange ( const vector< double > &  value) const
inline

Definition at line 963 of file MetadataVDC.h.

int VAPoR::MetadataVDC::MakeCurrent ( ) const
inline

Make the metadata object current

This method updates the metadata object to the most current version. MetadataVDC objects older than version 1 cannot be updated.

Return values
statusA negative integer is returned on failure, otherwise the method has succeeded.
Deprecated:
This method is a no-op
See also
GetVDFVersion()

Definition at line 220 of file MetadataVDC.h.

int VAPoR::MetadataVDC::Merge ( const MetadataVDC metadata,
size_t  ts = 0 
)

Merge the contents of two metadata objects

This method merges the contents of the metadata object pointed to by metadata with the current class object. In instances where there are collisions (nodes with the same name), the values metadata take precedence over the current object. The timestep parameter, ts, may be used to specify a time step offset. I.e. The first timestep in metadata will be merged with the timestep of this class objected indicated by ts.

The following MetadataVDC attributes are required to match in both MetadataVDC objects for the merge to take place:

  • BlockSize
  • DimensionLength
  • FilterCoefficents
  • LiftingCoefficients
  • NumTransforms
  • VDFVersion

The following metadata parameters are simply ignored (i.e. the parameter values for this class instance take precedence over those in the object pointed to by metadata):

  • Extents
  • CoordinateSystem
  • GridType

Similary, global and time step comments found in metadata are not merged, nor is any user-defined data.

As a side effect both the MetadataVDC object pointed to by this class and the MetadataVDC object pointed to by metadata are made current with MakeCurrent().

Parameters
[in]metadataA pointer to a valid metadata object.
[in]tsTimestep offset
Return values
statusA negative integer is returned on failure, otherwise the method has succeeded.
int VAPoR::MetadataVDC::Merge ( const string &  path,
size_t  ts = 0 
)

Merge the contents of two metadata objects

This method is identical to the overloaded version of the same name. However, a path name to a .vdf file is provided instead of an MetadataVDC object

Parameters
[in]pathPath to metadata file
[in]tsTimestep offset
Return values
statusA negative integer is returned on failure, otherwise the method has succeeded.
int VAPoR::MetadataVDC::SetComment ( const string &  value)
inline

Set a global comment

The comment is intended to refer to the entire data set

Parameters
[in]valueA user defined comment
Return values
statusReturns a non-negative integer on success

Definition at line 566 of file MetadataVDC.h.

int VAPoR::MetadataVDC::SetCoordinateVariables ( const vector< string > &  value)

Indicate which variables in a VDC are coordinate variables

This method specifies the names of three coordinate variables corresponding to the X, Y, and Z axis.

Parameters
[in]valueA three-element vector containing the names of the grid coordinate variables for the X, Y, and Z axis, respectively.
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetCoordSystemType ( const string &  value)

Set the coordinate system type

Parameters
[in]valueCoordinate system type. One of cartesian or spherical
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetExtents ( const vector< double > &  value)

Set the domain extents of the data set

Set the domain extents of the data set in user-defined (world) coordinates.

Parameters
valueA six-element array, the first three elements specify the minimum coordinate extents, the last three elements specify the maximum coordinate extents.
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetGridPermutation ( const vector< long > &  value)
inline

Set the grid coordinate ordering

Parameters
valueA three-element array indicating the association between the X,Y,Z (long, lat, radius) coordinates and the ordering of the data. By default, the fastest varying coordinate is X (long.), followed by Y (lat), then Z (radius). This method permits a permutation of the data oredering to be specified via a three-element array containing a permutation of the ordered set (0,1,2).
Return values
statusReturns a non-negative integer on success

Definition at line 617 of file MetadataVDC.h.

int VAPoR::MetadataVDC::SetGridType ( const string &  value)

Set the grid type.

Parameters
[in]valueGrid type. One of regular or stretched or layered
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetMapProjection ( const string &  value)
inline

Set a map projection argument string

This method defines a 2D map projection from spherical to 2D space. The projection string defines a mapping from a portion of the earth's surface to a plane. The format of the string is white-space separated list of parameter names and values. I.e.

+param_name=param_value [+param_name=param_value...]

where param_name is the name of the parameter and param_value is the value associated with param_name. Further documentation on allowable parameters and values may be found in the references below.

Parameters
[in]valueprojection string argument list
Return values
statusReturns a non-negative integer on success
See also
http://trac.osgeo.org/geotiff/ http://www.vapor.ucar.edu

Definition at line 685 of file MetadataVDC.h.

int VAPoR::MetadataVDC::SetMissingValue ( double  value)
inline

Set a global missing value

This method establishes a global missing value for the VDC. Any grid location, for any variable at any time step, with a data value equal to value will be treated as having missing data

Definition at line 629 of file MetadataVDC.h.

int VAPoR::MetadataVDC::SetMissingValue ( )
inline

Unset a previous set missing value

This method will, despite its name, will unset any missing value previously set with SetMissingValue(value)

Definition at line 640 of file MetadataVDC.h.

int VAPoR::MetadataVDC::SetNumTimeSteps ( long  value)

Set the number of time steps in the data collection

Parameters
[in]valueThe number of time steps in the data set
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetPeriodicBoundary ( const vector< long > &  value)
inline

Set the grid boundary type

Parameters
valueA three-element array, indicating whether the boundary conditions for X, Y, and Z coordinate axis, respectively, are periodic. Any non-zero value is interpreted as true.
Return values
statusReturns a non-negative integer on success

Definition at line 589 of file MetadataVDC.h.

int VAPoR::MetadataVDC::SetTSComment ( size_t  ts,
const string &  value 
)

Set a comment for the time step indicated by ts.

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
valueA comment string
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetTSExtents ( size_t  ts,
const vector< double > &  value 
)

Set the spatial domain extents of the indicated time step

Set the spatial domain extents of the data set in user-defined (world) coordinates for the indicated time step.

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
valueA six-element array, the first three elements specify the minimum coordinate extents, the last three elements specify the maximum coordinate extents.
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetTSMissingValue ( size_t  ts,
double  v 
)

Set a time-varying missing value

This method establishes a time-varying missing value for the VDC. Any grid location, for any variable at time step = ts, with a data value equal to value will be treated as having missing data

A time-varying missing value takes prededence over a global missing value.

int VAPoR::MetadataVDC::SetTSUserDataDouble ( size_t  ts,
const string &  tag,
const vector< double > &  value 
)
inline

Definition at line 1164 of file MetadataVDC.h.

References CHK_TS_REQ.

int VAPoR::MetadataVDC::SetTSUserDataLong ( size_t  ts,
const string &  tag,
const vector< long > &  value 
)
inline

Set time step, user-defined metadata

Set the value(s) of a time step, user-defined metadata tag of type long, associated with time step ts. This method both defines the tag name and sets it's value

Parameters
[in]tsThe time step this metadata field applies to
[in]tagName of metadata tag
[in]valueA vector of one or more metadata values
See also
GetTSUserDataLongTag(), GetTSUserDataLong()

Definition at line 1138 of file MetadataVDC.h.

References CHK_TS_REQ.

int VAPoR::MetadataVDC::SetTSUserDataString ( size_t  ts,
const string &  tag,
const string &  value 
)
inline

Definition at line 1182 of file MetadataVDC.h.

References CHK_TS_REQ.

int VAPoR::MetadataVDC::SetTSUserTime ( size_t  ts,
const vector< double > &  value 
)

Set the time of a time step in user-defined coordinates.

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
[in]valueA single element vector specifying the time
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetTSUserTimeStamp ( size_t  ts,
const string &  s 
)
int VAPoR::MetadataVDC::SetTSXCoords ( size_t  ts,
const vector< double > &  value 
)

Specify the X dimension coordinates for a stretched grid

Specify the X dimension coordinates of data samples for a stretched grid. Similar arrays must be specified for Y and Z sample coordinates. These arrays are ignored if the grid type is regular, in which case the grid spacing is treated as uniform and derived from the metadata Extents attribute. Coordinate arrays are specified for the time step indicated by ts.

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
[in]valueAn array of monotonically increasing values specifying the X coordinates, in a user-defined coordinate system, of each YZ sample plane.
Return values
statusReturns a non-negative integer on success
See also
SetGridType(), GetGridType(), GetTSXCoords()
int VAPoR::MetadataVDC::SetTSYCoords ( size_t  ts,
const vector< double > &  value 
)
int VAPoR::MetadataVDC::SetTSZCoords ( size_t  ts,
const vector< double > &  value 
)
int VAPoR::MetadataVDC::SetUserDataDouble ( const string &  tag,
const vector< double > &  value 
)
inline

Definition at line 1072 of file MetadataVDC.h.

int VAPoR::MetadataVDC::SetUserDataLong ( const string &  tag,
const vector< long > &  value 
)
inline

Set global, user-defined metadata

Set the value(s) of a top-level (global) user-defined metadata tag of type long. This method both defines the tag name and sets it's value

Parameters
[in]tagName of metadata tag
[in]valueA vector of one or more metadata values
Return values
statusReturns a non-negative integer on success
See also
GetUserDataLongTag(), GetUserDataLong()

Definition at line 1047 of file MetadataVDC.h.

int VAPoR::MetadataVDC::SetUserDataString ( const string &  tag,
const string &  value 
)
inline

Definition at line 1083 of file MetadataVDC.h.

int VAPoR::MetadataVDC::SetUserDataStringVec ( const string &  tag,
const vector< string > &  value 
)
inline

Definition at line 1092 of file MetadataVDC.h.

int VAPoR::MetadataVDC::SetVariableNames ( const vector< string > &  value)
inline

Set the names of the field variables in the data collection

All variables specified are of type 3D.

Parameters
[in]valueA white-space delimited list of names
Return values
statusReturns a non-negative integer on success
Deprecated:
Use SetVariables3D() instead

Definition at line 474 of file MetadataVDC.h.

int VAPoR::MetadataVDC::SetVariables2DXY ( const vector< string > &  value)

Indicate which variables in a VDC are of type 2DXY

Specifies which variables in a VDC represent two-dimensional, XY-plane fields. The variable names must match names previoulsy provided by SetVariableNames().

Parameters
[in]valueA white-space delimited list of names
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetVariables2DXZ ( const vector< string > &  value)
int VAPoR::MetadataVDC::SetVariables2DYZ ( const vector< string > &  value)
int VAPoR::MetadataVDC::SetVariables3D ( const vector< string > &  value)

Indicate which variables in a VDC are of type 3D

Specifies which variables in a VDC represent three-dimensional fields. The variable names must match names previoulsy provided by SetVariableNames().

Note
As the default type of all variables is 3D, this method is largely superflous, but is included for completeness
Parameters
[in]valueA white-space delimited list of names
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetVBasePath ( size_t  ts,
const string &  var,
const string &  value 
)
int VAPoR::MetadataVDC::SetVComment ( size_t  ts,
const string &  var,
const string &  value 
)

Set a comment for the variable, v at the time step indicated by ts

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
[in]varA valid data set variable name
[in]valueA comment string
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetVDataRange ( size_t  ts,
const string &  var,
const vector< double > &  value 
)

Set the data range for the variable, v at the time step indicated by ts

Parameters
[in]tsA valid data set time step in the range from zero to GetNumTimeSteps() - 1.
[in]varA valid data set variable name
[in]valueA two-element vector containing the min and max values for the indicated volume
Return values
statusReturns a non-negative integer on success
int VAPoR::MetadataVDC::SetVMissingValue ( size_t  ts,
const string &  var,
double  v 
)

Set a variable-specific missing value

This method establishes a time-varying, variable-specific missing value for the VDC. Any grid location, for variable = var, at time step = ts, with a data value equal to value will be treated as having missing data

A time-varying, variable-specific missing value takes prededence over a time-varying or global missing value.

See also
SetMissingValue(), SetTSMissingValue()
int VAPoR::MetadataVDC::SetVUserDataDouble ( size_t  ts,
const string &  var,
const string &  tag,
const vector< double > &  value 
)
inline

Definition at line 1274 of file MetadataVDC.h.

References CHK_VAR_REQ.

int VAPoR::MetadataVDC::SetVUserDataLong ( size_t  ts,
const string &  var,
const string &  tag,
const vector< long > &  value 
)
inline

Set variable, user-defined metadata

Set the value(s) of a variable, user-defined metadata tag of type long, associated with time step ts and variable var. This method both defines the tag name and sets it's value

Parameters
[in]tsThe time step this metadata field applies to
[in]varThe field variable this metadata field applies to
[in]tagName of metadata tag
[in]valueA vector of one or more metadata values
Return values
statusReturns a non-negative integer on success
See also
GetVUserDataLongTag(), GetVUserDataLong()

Definition at line 1240 of file MetadataVDC.h.

References CHK_VAR_REQ.

int VAPoR::MetadataVDC::SetVUserDataString ( size_t  ts,
const string &  var,
const string &  tag,
const string &  value 
)
inline

Definition at line 1290 of file MetadataVDC.h.

References CHK_VAR_REQ.

int VAPoR::MetadataVDC::Write ( const string &  path,
int  relative_path = 1 
)

Write the metadata object to a file

Parameters
[in]pathName of the file to write to
[in]relative_pathUse relative path names for all data paths
Return values
statusReturns a non-negative integer on success

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