hydrobricks
Loading...
Searching...
No Matches
FileNetcdf.h
1#ifndef HYDROBRICKS_FILE_NETCDF_H
2#define HYDROBRICKS_FILE_NETCDF_H
3
4#include <netcdf.h>
5
6#include "Includes.h"
7
8class FileNetcdf : public wxObject {
9 public:
10 explicit FileNetcdf();
11
12 ~FileNetcdf() override;
13
20 bool OpenReadOnly(const string& path);
21
28 bool Create(const string& path);
29
33 void Close();
34
40 int GetVariableCount() const;
41
48 int GetVarId(const string& varName) const;
49
56 string GetVarName(int varId) const;
57
65 vecInt GetVarDimIds(int varId, int dimCount) const;
66
74 int DefDim(const string& dimName, int length);
75
82 int GetDimId(const string& dimName) const;
83
90 int GetDimLen(const string& dimName) const;
91
101 int DefVarInt(const string& varName, vecInt dimIds, int dimCount = 1, bool compress = false);
102
112 int DefVarFloat(const string& varName, vecInt dimIds, int dimCount = 1, bool compress = false);
113
123 int DefVarDouble(const string& varName, vecInt dimIds, int dimCount = 1, bool compress = false);
124
132 vecInt GetVarInt1D(const string& varName, int size) const;
133
141 vecFloat GetVarFloat1D(const string& varName, int size) const;
142
150 vecDouble GetVarDouble1D(const string& varName, int size) const;
151
160 axxd GetVarDouble2D(int varId, int rows, int cols) const;
161
168 void PutVar(int varId, const vecInt& values);
169
176 void PutVar(int varId, const vecFloat& values);
177
184 void PutVar(int varId, const vecDouble& values);
185
192 void PutVar(int varId, const axd& values);
193
200 void PutVar(int varId, const vecAxd& values);
201
208 void PutVar(int varId, const vecAxxd& values);
209
216 bool HasVar(const string& varName) const;
217
225 bool HasAtt(const string& attName, const string& varName = "") const;
226
234 vecStr GetAttString1D(const string& attName, const string& varName = "") const;
235
243 void PutAttString(const string& attName, const vecStr& values, int varId = NC_GLOBAL);
244
252 string GetAttText(const string& attName, const string& varName = "") const;
253
261 void PutAttText(const string& attName, const string& value, int varId = NC_GLOBAL);
262
263 protected:
264 int _ncId;
265
266 private:
272 void CheckNcStatus(int status) const;
273};
274
275#endif // HYDROBRICKS_FILE_NETCDF_H
Definition FileNetcdf.h:8
vecInt GetVarDimIds(int varId, int dimCount) const
Definition FileNetcdf.cpp:71
int DefVarFloat(const string &varName, vecInt dimIds, int dimCount=1, bool compress=false)
Definition FileNetcdf.cpp:112
bool Create(const string &path)
Definition FileNetcdf.cpp:34
vecStr GetAttString1D(const string &attName, const string &varName="") const
Definition FileNetcdf.cpp:218
int GetDimId(const string &dimName) const
Definition FileNetcdf.cpp:85
void PutAttText(const string &attName, const string &value, int varId=NC_GLOBAL)
Definition FileNetcdf.cpp:268
int DefDim(const string &dimName, int length)
Definition FileNetcdf.cpp:78
bool HasAtt(const string &attName, const string &varName="") const
Definition FileNetcdf.cpp:209
int DefVarInt(const string &varName, vecInt dimIds, int dimCount=1, bool compress=false)
Definition FileNetcdf.cpp:101
int GetVariableCount() const
Definition FileNetcdf.cpp:50
string GetAttText(const string &attName, const string &varName="") const
Definition FileNetcdf.cpp:250
vecDouble GetVarDouble1D(const string &varName, int size) const
Definition FileNetcdf.cpp:154
void PutAttString(const string &attName, const vecStr &values, int varId=NC_GLOBAL)
Definition FileNetcdf.cpp:241
int GetVarId(const string &varName) const
Definition FileNetcdf.cpp:57
bool OpenReadOnly(const string &path)
Definition FileNetcdf.cpp:23
axxd GetVarDouble2D(int varId, int rows, int cols) const
Definition FileNetcdf.cpp:164
void PutVar(int varId, const vecInt &values)
Definition FileNetcdf.cpp:171
vecFloat GetVarFloat1D(const string &varName, int size) const
Definition FileNetcdf.cpp:144
vecInt GetVarInt1D(const string &varName, int size) const
Definition FileNetcdf.cpp:134
int DefVarDouble(const string &varName, vecInt dimIds, int dimCount=1, bool compress=false)
Definition FileNetcdf.cpp:123
void Close()
Definition FileNetcdf.cpp:45
int GetDimLen(const string &dimName) const
Definition FileNetcdf.cpp:92
bool HasVar(const string &varName) const
Definition FileNetcdf.cpp:203
string GetVarName(int varId) const
Definition FileNetcdf.cpp:64