|
LRAUV
revA
|
A very compact, very simple netCDF writer with a minimal feature set. More...
#include <NetCdfWriter.h>


Public Types | |
| typedef FastMap< const Str, NetCdfGroup * > | NetCdfGroups |
Public Types inherited from NetCdf | |
| enum | NetCdfType { NC_ABSENT_TYPE = 0, NC_BYTE_TYPE = NC_BYTE, NC_CHAR_TYPE = NC_CHAR, NC_SHORT_TYPE = NC_SHORT, NC_INT_TYPE = NC_INT, NC_FLOAT_TYPE = NC_FLOAT, NC_DOUBLE_TYPE = NC_DOUBLE, NC_UBYTE_TYPE = NC_UBYTE, NC_USHORT_TYPE = NC_USHORT, NC_UINT_TYPE = NC_UINT, NC_INT64_TYPE = NC_INT64, NC_UINT64_TYPE = NC_UINT64, NC_STRING_TYPE = NC_STRING } |
| typedef FastMap< const Str, NetCdfDim * > | NetCdfDims |
| typedef FlexArray< NetCdfDim * > | NetCdfDimArray |
| typedef FastMap< const Str, NetCdfAtt * > | NetCdfAtts |
| typedef FastMap< const Str, NetCdfVar * > | NetCdfVars |
| typedef FlexArray< NetCdfVar * > | NetCdfVarArray |
Public Member Functions | |
| virtual | ~NetCdfWriter () |
| Destructor. More... | |
| bool | isOk () const |
| Indicates intialization success. More... | |
| const NetCdfAtt * | addGlobalAtt (const Str &name, const Str &value) |
| const NetCdfAtt * | addGlobalAtt (const Str &name, const unsigned char value) |
| const NetCdfAtt * | addGlobalAtt (const Str &name, const short value) |
| const NetCdfAtt * | addGlobalAtt (const Str &name, const int value) |
| const NetCdfAtt * | addGlobalAtt (const Str &name, const float value) |
| const NetCdfAtt * | addGlobalAtt (const Str &name, const double value) |
| const NetCdfDim * | addDim (const Str &name, const unsigned int dimSize) |
| NetCdfVar * | addVar (const Str &name, const NetCdfType netCdfType, const NetCdfDim *dimTime=NULL, const NetCdfDim *dimM=NULL, const NetCdfDim *dimN=NULL, const NetCdfDim *dimO=NULL) |
| NetCdfVar * | addStaticVar (const Str &name, const NetCdfType netCdfType, const NetCdfDim *dim=NULL) |
| const NetCdfAtt * | addVarAtt (NetCdfVar *netCdfVar, const Str &name, const Str &value) |
| const NetCdfAtt * | addVarAtt (NetCdfVar *netCdfVar, const Str &name, unsigned char value) |
| const NetCdfAtt * | addVarAtt (NetCdfVar *netCdfVar, const Str &name, const int value) |
| const NetCdfAtt * | addVarAtt (NetCdfVar *netCdfVar, const Str &name, const float value) |
| const NetCdfAtt * | addVarAtt (NetCdfVar *netCdfVar, const Str &name, const double value) |
| void | setAttValue (const NetCdfAtt *netCdfAtt, const Str &value) |
| void | setAttValue (const NetCdfAtt *netCdfAtt, const unsigned char value) |
| void | setAttValue (const NetCdfAtt *netCdfAtt, const int value) |
| void | setAttValue (const NetCdfAtt *netCdfAtt, const float value) |
| void | setAttValue (const NetCdfAtt *netCdfAtt, const double value) |
| NetCdfGroup * | addGroup (const Str &name) |
| NetCdfGroup * | findGroup (const Str &name) |
| bool | initialize () |
| Opens a NetCdfWriter for a file Returns true if no error. More... | |
| bool | writeRecord (Timestamp ×tamp) |
| Write all the variables. More... | |
| bool | writeVarRecord (NetCdfVar *netCdfVar, const ElementURI *uri=NULL) |
| Just write the specified variable. More... | |
| bool | finalize () |
| Set the number of records in the file header Returns true if no error. More... | |
Public Member Functions inherited from NetCdf | |
| virtual | ~NetCdf () |
| Destructor. More... | |
| const NetCdfDimArray & | getDimArray () |
| Returns the dimensions. More... | |
| const NetCdfAtts & | getGlobalAtts () |
| Returns the global attributes. More... | |
| const NetCdfVars & | getVars () |
| Returns the variables. More... | |
| NetCdfDim * | findDim (const Str &name) |
| Finds a dimension by name Returns NULL if error. More... | |
| NetCdfAtt * | findAtt (const Str &name) |
| Finds a global attribute by name NetCdfAtt* invalidValue_;. More... | |
| NetCdfVar * | findVar (const Str &name) |
| Finds a variable by name Returns NULL if error. More... | |
| NetCdfAtt * | findAtt (NetCdfVar &var, const Str &name) |
| Finds a variable's attribute by name Returns NULL if error. More... | |
| const char * | status () |
Static Public Member Functions | |
| static NetCdfWriter * | NewNetCdfWriter (const char *fileName, bool version4, const char *trajectoryName="LRAUVTrajectory") |
| Returns an newNetCdfWriter of a NetCdfWriter for a file. More... | |
Protected Member Functions | |
| NetCdfWriter (const char *filename, bool version4, const char *trajectoryName) | |
| Protected Constructor. More... | |
| NetCdfWriter (const char *name, int parentNcId) | |
| Protected group Constructor. More... | |
| const NetCdfAtt * | addAtt (NetCdfAtts &atts, int varId, const Str &name, const Str &value) |
| const NetCdfAtt * | addAtt (NetCdfAtts &atts, int varId, const Str &name, const unsigned char value) |
| const NetCdfAtt * | addAtt (NetCdfAtts &atts, int varId, const Str &name, const short value) |
| const NetCdfAtt * | addAtt (NetCdfAtts &atts, int varId, const Str &name, const int value) |
| const NetCdfAtt * | addAtt (NetCdfAtts &atts, int varId, const Str &name, const float value) |
| const NetCdfAtt * | addAtt (NetCdfAtts &atts, int varId, const Str &name, const double value) |
| int | putValue (NetCdfVar *netCdfVar, size_t index[], double value) |
| Used by writeVarRecord to put a value in the variable. More... | |
Protected Member Functions inherited from NetCdf | |
| NetCdf () | |
| Protected constructor. More... | |
| NetCdfDim * | findDim (NetCdfDims &dims, const Str &name) |
| Finds a dimension by name in the set of NetCdfDims Returns NULL if error. More... | |
| NetCdfAtt * | findAtt (NetCdfAtts &atts, const Str &name) |
| Finds a global attribute by name in the set of NetCdfAtts Returns NULL if error. More... | |
| NetCdfVar * | findVar (NetCdfVars &vars, const Str &name) |
| Finds a variable by name in the set of NetCdfVars Returns NULL if error. More... | |
Protected Attributes | |
| bool | ok_ |
| Str | filename_ |
| unsigned int | numRecs_ |
| bool | initialized_ |
| bool | finalized_ |
| const char * | trajectoryName_ |
| bool | version4_ |
| const NetCdfDim * | trajectoryLenDim_ |
| NetCdfVar * | trajectoryVar_ |
| const NetCdfDim * | timeDim_ |
| NetCdfVar * | timeVar_ |
| unsigned long long | currentLocation_ |
| NetCdfGroups | groups_ |
Protected Attributes inherited from NetCdf | |
| int | status_ |
| int | ncId_ |
| NetCdfDimArray | dimArray_ |
| NetCdfDims | dims_ |
| NetCdfAtts | gatts_ |
| NetCdfVarArray | varArray_ |
| NetCdfVars | vars_ |
Private Member Functions | |
| NetCdfWriter (const NetCdfWriter &old) | |
Additional Inherited Members | |
Static Public Attributes inherited from NetCdf | |
| static unsigned int | NetCdfTypeSize_ [NC_DOUBLE_TYPE+1] = {0, 1, 1, 2, 4, 4, 8 } |
A very compact, very simple netCDF writer with a minimal feature set.
It is intended for writing a set of record variables to a file, sequentially as time increases. (No provision for large, multidimensional arrays, etc.)
| typedef FastMap<const Str, NetCdfGroup*> NetCdfWriter::NetCdfGroups |
|
virtual |
Destructor.
References FastMap< S, T >::clear(), finalize(), and groups_.
|
protected |
Protected Constructor.
References addDim(), addStaticVar(), addVar(), addVarAtt(), NetCdf::NC_CHAR_TYPE, NetCdf::NC_DOUBLE_TYPE, NetCdf::ncId_, ok_, NetCdf::status_, timeDim_, timeVar_, trajectoryLenDim_, and trajectoryVar_.
Referenced by addGroup(), and NewNetCdfWriter().
|
protected |
Protected group Constructor.
References NetCdf::ncId_, ok_, and NetCdf::status_.
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| const NetCdf::NetCdfDim * NetCdfWriter::addDim | ( | const Str & | name, |
| const unsigned int | dimSize | ||
| ) |
References Str::cStr(), NetCdf::dimArray_, NetCdf::dims_, FastMap< S, T >::get(), NetCdf::ncId_, ok_, FlexArray< T >::push(), FastMap< S, T >::put(), and NetCdf::status_.
Referenced by NetCdfLogWriter::addVar(), and NetCdfWriter().
| const NetCdf::NetCdfAtt * NetCdfWriter::addGlobalAtt | ( | const Str & | name, |
| const Str & | value | ||
| ) |
References addAtt(), and NetCdf::gatts_.
Referenced by NetCdfTableLogWriter::netCdfInitialize(), and NetCdfLogWriter::netCdfInitialize().
| const NetCdf::NetCdfAtt * NetCdfWriter::addGlobalAtt | ( | const Str & | name, |
| const unsigned char | value | ||
| ) |
References addAtt(), and NetCdf::gatts_.
| const NetCdf::NetCdfAtt * NetCdfWriter::addGlobalAtt | ( | const Str & | name, |
| const short | value | ||
| ) |
References addAtt(), and NetCdf::gatts_.
| const NetCdf::NetCdfAtt * NetCdfWriter::addGlobalAtt | ( | const Str & | name, |
| const int | value | ||
| ) |
References addAtt(), and NetCdf::gatts_.
| const NetCdf::NetCdfAtt * NetCdfWriter::addGlobalAtt | ( | const Str & | name, |
| const float | value | ||
| ) |
References addAtt(), and NetCdf::gatts_.
| const NetCdf::NetCdfAtt * NetCdfWriter::addGlobalAtt | ( | const Str & | name, |
| const double | value | ||
| ) |
References addAtt(), and NetCdf::gatts_.
| NetCdfGroup * NetCdfWriter::addGroup | ( | const Str & | name | ) |
References Str::cStr(), findGroup(), groups_, NetCdf::ncId_, NetCdfWriter(), and FastMap< S, T >::put().
Referenced by NetCdfLogWriter::addVar().
| NetCdf::NetCdfVar * NetCdfWriter::addStaticVar | ( | const Str & | name, |
| const NetCdfType | netCdfType, | ||
| const NetCdfDim * | dim = NULL |
||
| ) |
References Str::cStr(), NetCdf::NetCdfVar::dataValue_, NetCdf::NetCdfVar::dimIds_, FastMap< S, T >::get(), NetCdf::NetCdfVar::isRecord_, NetCdf::NetCdfVar::ncId_, NetCdf::ncId_, ok_, FlexArray< T >::push(), FastMap< S, T >::put(), FlexArrayBase::size(), NetCdf::status_, NetCdf::varArray_, NetCdf::NetCdfVar::varId_, NetCdf::NetCdfVar::varIndex_, and NetCdf::vars_.
Referenced by NetCdfWriter().
| NetCdf::NetCdfVar * NetCdfWriter::addVar | ( | const Str & | name, |
| const NetCdfType | netCdfType, | ||
| const NetCdfDim * | dimTime = NULL, |
||
| const NetCdfDim * | dimM = NULL, |
||
| const NetCdfDim * | dimN = NULL, |
||
| const NetCdfDim * | dimO = NULL |
||
| ) |
References Str::cStr(), NetCdf::NetCdfVar::dataValue_, NetCdf::NetCdfDim::dimId_, NetCdf::NetCdfVar::dimIds_, FastMap< S, T >::get(), NetCdf::NetCdfVar::isRecord_, NetCdf::NetCdfVar::ncId_, NetCdf::ncId_, NetCdf::NetCdfVar::nDims_, NetCdf::NetCdfVar::netCdfType_, ok_, FlexArray< T >::push(), FastMap< S, T >::put(), FlexArrayBase::size(), NetCdf::status_, timeDim_, NetCdf::varArray_, NetCdf::NetCdfVar::varId_, NetCdf::NetCdfVar::varIndex_, NetCdf::vars_, and version4_.
Referenced by NetCdfTableLogWriter::addVar(), NetCdfLogWriter::addVar(), NetCdfTableLogWriter::netCdfInitialize(), and NetCdfWriter().
| const NetCdf::NetCdfAtt * NetCdfWriter::addVarAtt | ( | NetCdfVar * | netCdfVar, |
| const Str & | name, | ||
| const Str & | value | ||
| ) |
References addAtt(), NetCdf::NetCdfVar::atts_, and NetCdf::NetCdfVar::varId_.
Referenced by NetCdfTableLogWriter::addVar(), NetCdfLogWriter::addVar(), and NetCdfWriter().
| const NetCdf::NetCdfAtt * NetCdfWriter::addVarAtt | ( | NetCdfVar * | netCdfVar, |
| const Str & | name, | ||
| unsigned char | value | ||
| ) |
References addAtt(), NetCdf::NetCdfVar::atts_, and NetCdf::NetCdfVar::varId_.
| const NetCdf::NetCdfAtt * NetCdfWriter::addVarAtt | ( | NetCdfVar * | netCdfVar, |
| const Str & | name, | ||
| const int | value | ||
| ) |
References addAtt(), NetCdf::NetCdfVar::atts_, and NetCdf::NetCdfVar::varId_.
| const NetCdf::NetCdfAtt * NetCdfWriter::addVarAtt | ( | NetCdfVar * | netCdfVar, |
| const Str & | name, | ||
| const float | value | ||
| ) |
References addAtt(), NetCdf::NetCdfVar::atts_, and NetCdf::NetCdfVar::varId_.
| const NetCdf::NetCdfAtt * NetCdfWriter::addVarAtt | ( | NetCdfVar * | netCdfVar, |
| const Str & | name, | ||
| const double | value | ||
| ) |
References addAtt(), NetCdf::NetCdfVar::atts_, and NetCdf::NetCdfVar::varId_.
| bool NetCdfWriter::finalize | ( | ) |
Set the number of records in the file header Returns true if no error.
References finalized_, NetCdf::ncId_, ok_, and NetCdf::status_.
Referenced by NetCdfLogWriter::writeFooter(), NetCdfTableLogWriter::writeFooter(), and ~NetCdfWriter().
| NetCdfGroup * NetCdfWriter::findGroup | ( | const Str & | name | ) |
References FastMap< S, T >::get(), and groups_.
Referenced by addGroup().
| bool NetCdfWriter::initialize | ( | void | ) |
Opens a NetCdfWriter for a file Returns true if no error.
References FastMap< S, T >::getIndexed(), groups_, initialize(), initialized_, NetCdf::ncId_, ok_, FastMap< S, T >::size(), NetCdf::status_, trajectoryName_, trajectoryVar_, and NetCdf::NetCdfVar::varId_.
Referenced by initialize(), NetCdfLogWriter::write(), and NetCdfTableLogWriter::writeHeader().
|
inline |
|
static |
Returns an newNetCdfWriter of a NetCdfWriter for a file.
References isOk(), NetCdfWriter(), and NetCdf::status().
|
protected |
Used by writeVarRecord to put a value in the variable.
References NetCdf::NC_ABSENT_TYPE, NetCdf::NC_BYTE_TYPE, NetCdf::NC_CHAR_TYPE, NetCdf::NC_DOUBLE_TYPE, NetCdf::NC_FLOAT_TYPE, NetCdf::NC_INT_TYPE, NetCdf::NC_SHORT_TYPE, NetCdf::NetCdfVar::ncId_, NetCdf::NetCdfVar::netCdfType_, NetCdf::status(), and NetCdf::NetCdfVar::varId_.
Referenced by writeVarRecord().
References Str::cStr(), NetCdf::NetCdfAtt::name_, NetCdf::ncId_, NetCdf::NetCdfAtt::nelems_, ok_, NetCdf::status(), NetCdf::status_, and NetCdf::NetCdfAtt::varId_.
Referenced by addAtt(), and NetCdfTableLogWriter::setAttValue().
| void NetCdfWriter::setAttValue | ( | const NetCdfAtt * | netCdfAtt, |
| const unsigned char | value | ||
| ) |
References Str::cStr(), NetCdf::NetCdfAtt::name_, NetCdf::ncId_, ok_, NetCdf::status_, and NetCdf::NetCdfAtt::varId_.
| void NetCdfWriter::setAttValue | ( | const NetCdfAtt * | netCdfAtt, |
| const int | value | ||
| ) |
References Str::cStr(), NetCdf::NetCdfAtt::name_, NetCdf::ncId_, ok_, NetCdf::status_, and NetCdf::NetCdfAtt::varId_.
| void NetCdfWriter::setAttValue | ( | const NetCdfAtt * | netCdfAtt, |
| const float | value | ||
| ) |
References Str::cStr(), NetCdf::NetCdfAtt::name_, NetCdf::ncId_, ok_, NetCdf::status_, and NetCdf::NetCdfAtt::varId_.
| void NetCdfWriter::setAttValue | ( | const NetCdfAtt * | netCdfAtt, |
| const double | value | ||
| ) |
References Str::cStr(), NetCdf::NetCdfAtt::name_, NetCdf::ncId_, ok_, NetCdf::status_, and NetCdf::NetCdfAtt::varId_.
| bool NetCdfWriter::writeRecord | ( | Timestamp & | timestamp | ) |
Write all the variables.
References Timestamp::asDouble(), DataValue::copyTo(), Str::cStr(), NetCdf::NetCdfVar::dataValue_, FastMap< S, T >::findKey(), DataValue::getUnit(), NetCdf::NetCdfVar::isRecord_, NetCdf::NC_CHAR_TYPE, NetCdf::ncId_, NetCdf::NetCdfVar::netCdfType_, numRecs_, ok_, FlexArrayBase::size(), NetCdf::status(), NetCdf::status_, timeVar_, DataValue::toString(), NetCdf::varArray_, NetCdf::NetCdfVar::varId_, and NetCdf::vars_.
Referenced by NetCdfTableLogWriter::writeFooter(), and NetCdfTableLogWriter::writeRow().
| bool NetCdfWriter::writeVarRecord | ( | NetCdfVar * | netCdfVar, |
| const ElementURI * | uri = NULL |
||
| ) |
Just write the specified variable.
References DataValue::copyTo(), Str::cStr(), NetCdf::NetCdfVar::dataValue_, BlobValue::get(), ElementURI::getDimension1(), ElementURI::getDimension2(), ElementURI::getDimension3(), ElementURI::getDimensions(), DataValue::getUnit(), NetCdf::NetCdfVar::isRecord_, NetCdf::NC_STRING_TYPE, NetCdf::NetCdfVar::ncId_, NetCdf::NetCdfVar::netCdfType_, NetCdf::NetCdfVar::numRecs_, ok_, putValue(), NetCdf::status(), NetCdf::status_, DataValue::toString(), StrValue::toString(), and NetCdf::NetCdfVar::varId_.
Referenced by NetCdfLogWriter::writeData().
|
protected |
|
protected |
|
protected |
Referenced by finalize().
|
protected |
Referenced by addGroup(), findGroup(), initialize(), and ~NetCdfWriter().
|
protected |
Referenced by initialize().
|
protected |
Referenced by writeRecord().
|
protected |
Referenced by addDim(), addStaticVar(), addVar(), finalize(), initialize(), isOk(), NetCdfWriter(), setAttValue(), writeRecord(), and writeVarRecord().
|
protected |
Referenced by addVar(), and NetCdfWriter().
|
protected |
Referenced by NetCdfWriter(), and writeRecord().
|
protected |
Referenced by NetCdfWriter().
|
protected |
Referenced by initialize().
|
protected |
Referenced by initialize(), and NetCdfWriter().
|
protected |
Referenced by addVar().