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:201
int GetVarsNb()
Definition FileNetcdf.cpp:48
vecStr GetAttString1D(const string &attName, const string &varName="")
Definition FileNetcdf.cpp:216
int GetDimId(const string &dimName)
Definition FileNetcdf.cpp:83
bool Create(const string &path)
Definition FileNetcdf.cpp:32
int GetVarId(const string &varName)
Definition FileNetcdf.cpp:55
void PutAttText(const string &attName, const string &value, int varId=NC_GLOBAL)
Definition FileNetcdf.cpp:266
int DefDim(const string &dimName, int length)
Definition FileNetcdf.cpp:76
int DefVarInt(const string &varName, vecInt dimIds, int dimsNb=1, bool compress=false)
Definition FileNetcdf.cpp:99
vecFloat GetVarFloat1D(const string &varName, int size)
Definition FileNetcdf.cpp:142
int DefVarDouble(const string &varName, vecInt dimIds, int dimsNb=1, bool compress=false)
Definition FileNetcdf.cpp:121
void PutAttString(const string &attName, const vecStr &values, int varId=NC_GLOBAL)
Definition FileNetcdf.cpp:239
string GetVarName(int varId)
Definition FileNetcdf.cpp:62
vecInt GetVarDimIds(int varId, int dimNb)
Definition FileNetcdf.cpp:69
vecInt GetVarInt1D(const string &varName, int size)
Definition FileNetcdf.cpp:132
bool OpenReadOnly(const string &path)
Definition FileNetcdf.cpp:21
int DefVarFloat(const string &varName, vecInt dimIds, int dimsNb=1, bool compress=false)
Definition FileNetcdf.cpp:110
void PutVar(int varId, const vecInt &values)
Definition FileNetcdf.cpp:169
string GetAttText(const string &attName, const string &varName="")
Definition FileNetcdf.cpp:248
axxd GetVarDouble2D(int varId, int rows, int cols)
Definition FileNetcdf.cpp:162
void Close()
Definition FileNetcdf.cpp:43
bool HasAtt(const string &attName, const string &varName="")
Definition FileNetcdf.cpp:207
vecDouble GetVarDouble1D(const string &varName, int size)
Definition FileNetcdf.cpp:152
int GetDimLen(const string &dimName)
Definition FileNetcdf.cpp:90