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 GetVarsNb();
41
48 int GetVarId(const string& varName);
49
56 string GetVarName(int varId);
57
65 vecInt GetVarDimIds(int varId, int dimNb);
66
74 int DefDim(const string& dimName, int length);
75
82 int GetDimId(const string& dimName);
83
90 int GetDimLen(const string& dimName);
91
101 int DefVarInt(const string& varName, vecInt dimIds, int dimsNb = 1, bool compress = false);
102
112 int DefVarFloat(const string& varName, vecInt dimIds, int dimsNb = 1, bool compress = false);
113
123 int DefVarDouble(const string& varName, vecInt dimIds, int dimsNb = 1, bool compress = false);
124
132 vecInt GetVarInt1D(const string& varName, int size);
133
141 vecFloat GetVarFloat1D(const string& varName, int size);
142
150 vecDouble GetVarDouble1D(const string& varName, int size);
151
160 axxd GetVarDouble2D(int varId, int rows, int cols);
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);
217
225 bool HasAtt(const string& attName, const string& varName = "");
226
234 vecStr GetAttString1D(const string& attName, const string& varName = "");
235
243 void PutAttString(const string& attName, const vecStr& values, int varId = NC_GLOBAL);
244
252 string GetAttText(const string& attName, const string& varName = "");
253
261 void PutAttText(const string& attName, const string& value, int varId = NC_GLOBAL);
262
263 protected:
264 int m_ncId;
265
266 private:
267 void CheckNcStatus(int status);
268};
269
270#endif // HYDROBRICKS_FILE_NETCDF_H
Definition FileNetcdf.h:8
bool HasVar(const string &varName)
Definition FileNetcdf.cpp:198
int GetVarsNb()
Definition FileNetcdf.cpp:45
vecStr GetAttString1D(const string &attName, const string &varName="")
Definition FileNetcdf.cpp:213
int GetDimId(const string &dimName)
Definition FileNetcdf.cpp:80
bool Create(const string &path)
Definition FileNetcdf.cpp:29
int GetVarId(const string &varName)
Definition FileNetcdf.cpp:52
void PutAttText(const string &attName, const string &value, int varId=NC_GLOBAL)
Definition FileNetcdf.cpp:263
int DefDim(const string &dimName, int length)
Definition FileNetcdf.cpp:73
int DefVarInt(const string &varName, vecInt dimIds, int dimsNb=1, bool compress=false)
Definition FileNetcdf.cpp:96
vecFloat GetVarFloat1D(const string &varName, int size)
Definition FileNetcdf.cpp:139
int DefVarDouble(const string &varName, vecInt dimIds, int dimsNb=1, bool compress=false)
Definition FileNetcdf.cpp:118
void PutAttString(const string &attName, const vecStr &values, int varId=NC_GLOBAL)
Definition FileNetcdf.cpp:236
string GetVarName(int varId)
Definition FileNetcdf.cpp:59
vecInt GetVarDimIds(int varId, int dimNb)
Definition FileNetcdf.cpp:66
vecInt GetVarInt1D(const string &varName, int size)
Definition FileNetcdf.cpp:129
bool OpenReadOnly(const string &path)
Definition FileNetcdf.cpp:18
int DefVarFloat(const string &varName, vecInt dimIds, int dimsNb=1, bool compress=false)
Definition FileNetcdf.cpp:107
void PutVar(int varId, const vecInt &values)
Definition FileNetcdf.cpp:166
string GetAttText(const string &attName, const string &varName="")
Definition FileNetcdf.cpp:245
axxd GetVarDouble2D(int varId, int rows, int cols)
Definition FileNetcdf.cpp:159
void Close()
Definition FileNetcdf.cpp:40
bool HasAtt(const string &attName, const string &varName="")
Definition FileNetcdf.cpp:204
vecDouble GetVarDouble1D(const string &varName, int size)
Definition FileNetcdf.cpp:149
int GetDimLen(const string &dimName)
Definition FileNetcdf.cpp:87