LRAUV  revA
NetCdfTableLogWriter Class Reference

Defines a LogWriter that generates a NetCDF table of values. More...

#include <NetCdfTableLogWriter.h>

Inheritance diagram for NetCdfTableLogWriter:
Collaboration diagram for NetCdfTableLogWriter:

Public Member Functions

 NetCdfTableLogWriter (const Str &filename, bool version4, int varCount, char **varListt, char **unitList, bool interpolate=false, int attCount=0, char **attList=NULL)
 Constructor. More...
 
virtual ~NetCdfTableLogWriter ()
 Destructor. More...
 
unsigned int writeHeader ()
 Start writing the NetCDF file. More...
 
unsigned int write (const LogEntry *entry, const Unit *unit=NULL)
 Write an entry to the buffer. More...
 
unsigned int writeFooter ()
 Finish writing the NetCDF file. More...
 
virtual void clearRow ()
 
virtual const StrgetFilename ()
 
- Public Member Functions inherited from TableLogWriter
 TableLogWriter (int varCount, char **varList, char **unitList, bool interpolate)
 Constructor. More...
 
 TableLogWriter (LogWriter *outputTo, int varCount, char **varList, char **unitList, bool interpolate)
 Constructor. More...
 
virtual ~TableLogWriter ()
 Destructor. More...
 
virtual unsigned int writeAllInterpolated ()
 
virtual void resetInputs ()
 Reset cached input settings. More...
 
- Public Member Functions inherited from LogWriter
virtual ~LogWriter ()
 Destructor. More...
 
virtual void setOutStream (OutStream &outStream)
 Sets the OutStream. More...
 
virtual bool isValid ()
 Return true if logStream_ is available. More...
 
virtual void endCycle ()
 Do what needs to be done at the end of the cycle. More...
 
virtual void config (Logger &logger)
 Configure from a config file. More...
 
void addParent ()
 
void removeParent ()
 
int getParentCount ()
 
virtual void activate ()
 
virtual void deactivate ()
 
virtual bool isActive ()
 
virtual void lockWrites ()
 
virtual void unlockWrites ()
 
- Public Member Functions inherited from HasFilename
virtual ~HasFilename ()
 

Private Member Functions

 NetCdfTableLogWriter (const NetCdfTableLogWriter &old)
 
void initializeNetCdfTableLogWriter ()
 Initialize variables, etc. More...
 
void addVar (const int index, const ElementURI *uri, BinaryDataType binaryType, const Unit &unit, short universalCode)
 Add a new variable. More...
 
void setAttValue (const DataEntry *dataEntry, const int attIndex)
 Set an attribute value. More...
 
unsigned int writeToColumn (const DataEntry *dataEntry, const int column)
 Write a data item. More...
 
unsigned int writeRow ()
 
void netCdfInitialize ()
 Initialize the NetCDF file. More...
 

Private Attributes

const Str filename_
 
int attCount_
 
char ** attList_
 
unsigned short * attUriCodes_
 
int * attCodeLookup_
 
NetCdfWriternetCdfWriter_
 
bool netCdfInitialized_
 
bool finalized_
 
const NetCdf::NetCdfAtt ** atts_
 
const NetCdf::NetCdfAtt ** attUnits_
 
NetCdf::NetCdfVar ** vars_
 

Additional Inherited Members

- Public Types inherited from LogWriter
enum  ServiceType {
  NO_SERVICE = -1, SERVICE_COURIER, SERVICE_EXPRESS, SERVICE_PRIORITY,
  SERVICE_NORMAL, SERVICE_BULK, SERVICE_COUNT, SERVICE_MULTI
}
 
- Static Public Member Functions inherited from LogWriter
static ServiceType Str2ServiceType (const char *const serviceTypeStr, int len=-1)
 
static const char * ServiceType2Str (LogWriter::ServiceType serviceType)
 
static size_t ServiceType2Strlen (LogWriter::ServiceType serviceType)
 
- Static Public Attributes inherited from LogWriter
static const char *const SERVICE_TYPE_STRS [SERVICE_COUNT]
 
static size_t const SERVICE_TYPE_STRLEN [SERVICE_COUNT]
 
- Protected Member Functions inherited from TableLogWriter
 TableLogWriter (const TableLogWriter &old)
 
void initializeTableLogWriter ()
 
virtual unsigned int writeSyslog (const SyslogEntry *syslogEntry)
 
const DataEntry ** newDataEntryRow ()
 
void deleteDataEntryRow (const DataEntry **dataEntryRow)
 
unsigned int writeInterpolated (const LogEntry *logEntry, const int column)
 
unsigned int writeDataEntryRow (unsigned int row)
 
DataEntryinterpolateDataEntry (const Timestamp &timestamp, const DataEntry *startEntry, const DataEntry *endEntry)
 
DataEntrynanDataEntry (const Timestamp &timestamp, const DataEntry *origEntry)
 
- Protected Member Functions inherited from LogWriter
 LogWriter ()
 Protected constructor for pure virtual class. More...
 
 LogWriter (OutStream &outStream)
 Protected constructor for pure virtual class. More...
 
- Protected Member Functions inherited from HasFilename
 HasFilename ()
 
- Protected Attributes inherited from TableLogWriter
LogWriteroutputTo_
 
int varCount_
 
char ** varList_
 
char ** unitList_
 
const Unit ** units_
 
unsigned short * uriCodes_
 
bool * isUniversal_
 
int * codeLookup_
 
bool interpolate_
 
FlexArray< const DataEntry ** > interpBuffer_
 
FlexArray< SyslogEntry * > interpSyslogs_
 
FlexArray< Timestamp * > interpTimes_
 
FlexArray< const True * > readerColumn_
 
Timestamp lastTime_
 
bool initializedTableLogWriter_
 
unsigned int slateElementURICount_
 
bool deleteLists_
 
- Protected Attributes inherited from LogWriter
OutStreamlogStream_
 Stores an OutStream. More...
 
bool wroteHeader_
 
bool wroteFooter_
 
Mutex writeMutex_
 
int parentCount_
 
bool active_
 
- Static Protected Attributes inherited from TableLogWriter
static True True_
 

Detailed Description

Defines a LogWriter that generates a NetCDF table of values.

A list of variable names is supplied to the constructor. If any of these variables change their value in a computation cycle, then a record is added to the NetCDF file with the current value of every variable. The Timestamp for each record corresponds to the time of the start of the computation cycle in which any value changed.

Constructor & Destructor Documentation

NetCdfTableLogWriter::NetCdfTableLogWriter ( const Str filename,
bool  version4,
int  varCount,
char **  varListt,
char **  unitList,
bool  interpolate = false,
int  attCount = 0,
char **  attList = NULL 
)
NetCdfTableLogWriter::~NetCdfTableLogWriter ( )
virtual
NetCdfTableLogWriter::NetCdfTableLogWriter ( const NetCdfTableLogWriter old)
private

Member Function Documentation

void NetCdfTableLogWriter::clearRow ( )
virtual

Reimplemented from TableLogWriter.

virtual const Str& NetCdfTableLogWriter::getFilename ( )
inlinevirtual

Implements HasFilename.

References filename_.

void NetCdfTableLogWriter::initializeNetCdfTableLogWriter ( )
private

Initialize variables, etc.

Referenced by NetCdfTableLogWriter().

unsigned int NetCdfTableLogWriter::write ( const LogEntry entry,
const Unit unit = NULL 
)
virtual
unsigned int NetCdfTableLogWriter::writeHeader ( )
virtual

Start writing the NetCDF file.

Reimplemented from TableLogWriter.

References NetCdfWriter::initialize(), netCdfInitialize(), netCdfInitialized_, and netCdfWriter_.

Referenced by write().

unsigned int NetCdfTableLogWriter::writeRow ( )
privatevirtual
unsigned int NetCdfTableLogWriter::writeToColumn ( const DataEntry dataEntry,
const int  column 
)
privatevirtual

Member Data Documentation

int* NetCdfTableLogWriter::attCodeLookup_
private
int NetCdfTableLogWriter::attCount_
private
char** NetCdfTableLogWriter::attList_
private

Referenced by netCdfInitialize().

const NetCdf::NetCdfAtt** NetCdfTableLogWriter::atts_
private
const NetCdf::NetCdfAtt** NetCdfTableLogWriter::attUnits_
private
unsigned short* NetCdfTableLogWriter::attUriCodes_
private
const Str NetCdfTableLogWriter::filename_
private

Referenced by getFilename().

bool NetCdfTableLogWriter::finalized_
private
bool NetCdfTableLogWriter::netCdfInitialized_
private
NetCdfWriter* NetCdfTableLogWriter::netCdfWriter_
private

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