WXP C++ Library Version 6.74.6
Loading...
Searching...
No Matches
NetCdfFile.h
1#ifndef _WINC_NETCDFFILE
2#define _WINC_NETCDFFILE
3
4#include "netcdf.h"
5
6#include <WXP/FloatArray.h>
7#include <WXP/IntArray.h>
8#include <WXP/String.h>
9
10namespace WXP {
11 class NetCdfFile {
12 int fd;
13 int shape[10];
14 size_t start[10];
15 size_t count[10];
16 char str[1000];
17 int ndim;
18 bool opened;
19
20 public:
21 int init();
22 NetCdfFile();
23 NetCdfFile( const char *filename, int access );
24 NetCdfFile( const char *filename );
25 int setFD( int val );
26 int printErrors( int val );
27 int open( const char *filename, int access );
28 int open( const char *filename );
29 int defDim( const char *name, int size );
30 int defUnlimitDim( const char *name );
31 int endDef();
32 int close();
33 int getNumDim();
34 int getNumVar();
35 int getNumAttr();
36 int getUnlimitDim();
37 int getDim( const char *name );
38 const char *getDimName( int dim );
39 int getDimSize( int dim );
40 int setShape( int num, ... );
41 int defVar( const char *name, int type, int ndims, ... );
42 int defVar( const char *name, int type, IntArray & dims );
43 int defFloatVar( const char *name );
44 int defIntVar( const char *name );
45 int defShortVar( const char *name );
46 int defByteVar( const char *name );
47 int defCharVar( const char *name );
48 int getVar( const char *name );
49 const char *getVarName( int var );
50
51 int putGlobAttr( const char *name, const char *value );
52 const char *getGlobAttr( const char *name );
53 int getGlobAttr( const char *name, String &string );
54 int getIntGlobAttr( const char *name );
55 float getFloatGlobAttr( const char *name );
56 const char *getGlobAttrName( int ind );
57 int putBaseAttr( int id, const char *long_name, const char *units );
58 int putRangeAttr( int id, float min, float max );
59 int putRangeAttr( int id, int min, int max );
60 int putFillAttr( int id );
61 int putFillAttr( int id, int val );
62 int getNumVarAttr( int var );
63 bool hasAttr( int var, const char *name );
64 const char *getAttr( int var, const char *name );
65 int getAttr( int var, const char *name, String &string );
66 int getIntAttr( int var, const char *name );
67 float getFloatAttr( int var, const char *name );
68 const char *getAttrName( int var, int ind );
69 int getNumVarDims( int var );
70 int getVarDims( int var, IntArray &dims );
71 int getVarType( int var );
72
73 int setPos( int num, ... );
74 int setPos( IntArray &st );
75 int setRange( int num, ... );
76 int setRange( IntArray &st, IntArray &cnt );
77 int put( int var, IntArray &st, const char *str );
78 int putStr( int var, const char *str );
79 int put( int var, float value );
80 int put( int var, float *array );
81 int put( int var, int value );
82 int put( int var, short value );
83 int put( int var, char value );
84 int put( int var, const char *array );
85 const char *get( int var, IntArray &st );
86 int getRow( int var, IntArray &st, FloatArray &array );
87 int getStr( int var, int len, char *str );
88 float getFloat( int var );
89 int getFloatArray( int var, float *array );
90 double getDouble( int var );
91 int getDoubleArray( int var, double *array );
92 char getChar( int var );
93 int getInt( int var );
94 char getByte( int var );
95 int getByteArray( int var, char *array );
96 int getIntArray( int var, int *array );
97 short getShort( int var );
98 int getShortArray( int var, short *array );
99
100 enum Type {
101 CHAR,
102 BYTE,
103 SHORT,
104 INT,
105 FLOAT,
106 DOUBLE
107 };
108
109 };
110}
111#endif
This class creates an integer array.
Definition: FloatArray.h:7
This class creates an integer array.
Definition: IntArray.h:7
This class is an access layer to netCDF files.
Definition: NetCdfFile.h:11
int open(const char *filename, int access)
Definition: NetCdfFile.cc:65
This is a variable length string class.
Definition: String.h:5
All WXP classes fall under the WXP namespace.
Definition: Angle.h:4