9 #ifndef NETCDFWRITER_H_
10 #define NETCDFWRITER_H_
53 const NetCdfAtt*
addGlobalAtt(
const Str& name,
const unsigned char value );
63 const NetCdfDim*
addDim(
const Str& name,
const unsigned int dimSize );
65 NetCdfVar*
addVar(
const Str& name,
const NetCdfType netCdfType,
const NetCdfDim* dimTime = NULL,
const NetCdfDim* dimM = NULL,
const NetCdfDim* dimN = NULL,
const NetCdfDim* dimO = NULL );
69 const NetCdfAtt*
addVarAtt( NetCdfVar* netCdfVar,
const Str& name,
const Str& value );
71 const NetCdfAtt*
addVarAtt( NetCdfVar* netCdfVar,
const Str& name,
unsigned char value );
73 const NetCdfAtt*
addVarAtt( NetCdfVar* netCdfVar,
const Str& name,
const int value );
75 const NetCdfAtt*
addVarAtt( NetCdfVar* netCdfVar,
const Str& name,
const float value );
77 const NetCdfAtt*
addVarAtt( NetCdfVar* netCdfVar,
const Str& name,
const double value );
81 void setAttValue(
const NetCdfAtt* netCdfAtt,
const unsigned char value );
83 void setAttValue(
const NetCdfAtt* netCdfAtt,
const int value );
85 void setAttValue(
const NetCdfAtt* netCdfAtt,
const float value );
87 void setAttValue(
const NetCdfAtt* netCdfAtt,
const double value );
110 NetCdfWriter(
const char* filename,
bool version4,
const char* trajectoryName );
117 const NetCdfAtt*
addAtt(
NetCdfAtts& atts,
int varId,
const Str& name,
const unsigned char value );
119 const NetCdfAtt*
addAtt(
NetCdfAtts& atts,
int varId,
const Str& name,
const short value );
123 const NetCdfAtt*
addAtt(
NetCdfAtts& atts,
int varId,
const Str& name,
const float value );
125 const NetCdfAtt*
addAtt(
NetCdfAtts& atts,
int varId,
const Str& name,
const double value );
128 int putValue( NetCdfVar* netCdfVar,
size_t index[],
double value );
bool isOk() const
Indicates intialization success.
Definition: NetCdfWriter.h:46
NetCdfGroups groups_
Definition: NetCdfWriter.h:142
const NetCdfAtt * addAtt(NetCdfAtts &atts, int varId, const Str &name, const Str &value)
Definition: NetCdfWriter.cpp:574
NetCdfVar * addVar(const Str &name, const NetCdfType netCdfType, const NetCdfDim *dimTime=NULL, const NetCdfDim *dimM=NULL, const NetCdfDim *dimN=NULL, const NetCdfDim *dimO=NULL)
Definition: NetCdfWriter.cpp:96
const char * trajectoryName_
Definition: NetCdfWriter.h:135
const NetCdfDim * trajectoryLenDim_
Definition: NetCdfWriter.h:137
NetCdfVar * addStaticVar(const Str &name, const NetCdfType netCdfType, const NetCdfDim *dim=NULL)
Definition: NetCdfWriter.cpp:155
const NetCdfAtt * addVarAtt(NetCdfVar *netCdfVar, const Str &name, const Str &value)
Definition: NetCdfWriter.cpp:188
NetCdfWriter(const char *filename, bool version4, const char *trajectoryName)
Protected Constructor.
Definition: NetCdfWriter.cpp:504
bool initialized_
Definition: NetCdfWriter.h:133
bool finalized_
Definition: NetCdfWriter.h:134
NetCdfGroup * addGroup(const Str &name)
Definition: NetCdfWriter.cpp:250
Wraps a c FILE* handle with an OutStream class.
Definition: FileOutStream.h:26
FastMap< const Str, NetCdfGroup * > NetCdfGroups
Definition: NetCdfWriter.h:36
A DataValue is an abstract base class for a data value and associated engineering units of the value...
Definition: DataValue.h:35
int putValue(NetCdfVar *netCdfVar, size_t index[], double value)
Used by writeVarRecord to put a value in the variable.
Definition: NetCdfWriter.cpp:447
bool finalize()
Set the number of records in the file header Returns true if no error.
Definition: NetCdfWriter.cpp:481
A very compact, very simple netCDF writer with a minimal feature set.
Definition: NetCdfWriter.h:32
NetCdfType
Definition: NetCdf.h:44
NetCdfGroup * findGroup(const Str &name)
Definition: NetCdfWriter.cpp:261
virtual ~NetCdfWriter()
Destructor.
Definition: NetCdfWriter.cpp:33
Replacement for standard template class string.
Definition: Str.h:12
static NetCdfWriter * NewNetCdfWriter(const char *fileName, bool version4, const char *trajectoryName="LRAUVTrajectory")
Returns an newNetCdfWriter of a NetCdfWriter for a file.
Definition: NetCdfWriter.cpp:20
unsigned long long currentLocation_
Definition: NetCdfWriter.h:141
Contains the NetCdf class declaration.
bool version4_
Definition: NetCdfWriter.h:136
const NetCdfDim * timeDim_
Definition: NetCdfWriter.h:139
FastMap< const Str, NetCdfAtt * > NetCdfAtts
Definition: NetCdf.h:82
bool writeVarRecord(NetCdfVar *netCdfVar, const ElementURI *uri=NULL)
Just write the specified variable.
Definition: NetCdfWriter.cpp:358
void setAttValue(const NetCdfAtt *netCdfAtt, const Str &value)
Definition: NetCdfWriter.cpp:213
Abstract base class for NetCcfReader and NetCdfWriter.
Definition: NetCdf.h:40
NetCdfWriter NetCdfGroup
Definition: NetCdfWriter.h:22
bool ok_
Definition: NetCdfWriter.h:130
Str filename_
Definition: NetCdfWriter.h:131
Code unit that represents a unique name for a DataElement.
Definition: ElementURI.h:27
Contains the Timestamp and Timespan class declarations.
const NetCdfDim * addDim(const Str &name, const unsigned int dimSize)
Definition: NetCdfWriter.cpp:69
bool writeRecord(Timestamp ×tamp)
Write all the variables.
Definition: NetCdfWriter.cpp:298
const NetCdfAtt * addGlobalAtt(const Str &name, const Str &value)
Definition: NetCdfWriter.cpp:39
unsigned int numRecs_
Definition: NetCdfWriter.h:132
Code that represents an engineering unit.
Definition: Unit.h:24
Contains the FileOutStream class declaration.
Represents absolute times.
Definition: Timestamp.h:31
NetCdfVar * trajectoryVar_
Definition: NetCdfWriter.h:138
NetCdfVar * timeVar_
Definition: NetCdfWriter.h:140
bool initialize()
Opens a NetCdfWriter for a file Returns true if no error.
Definition: NetCdfWriter.cpp:266