1 #ifndef teca_array_attributes_h
2 #define teca_array_attributes_h
4 #include "teca_metadata.h"
31 centering(0), size(0), units(), long_name(), description(),
32 have_fill_value(0), fill_value(1e20f)
35 template <
typename fv_t =
float>
37 unsigned long n,
const std::string &un,
const std::string &ln,
38 const std::string &descr,
const int &have_fv=0,
const fv_t &fv=fv_t(1e20f)) :
39 type_code(tc), centering(cen), size(n), units(un), long_name(ln),
40 description(descr), have_fill_value(have_fv), fill_value(fv)
48 type_code(0), centering(0), size(0), units(), long_name(),
49 description(), have_fill_value(0), fill_value(1.e20f)
98 cell_centering = 0x0100,
99 x_face_centering = 0x0201,
100 y_face_centering = 0x0202,
101 z_face_centering = 0x0203,
102 x_edge_centering = 0x0401,
103 y_edge_centering = 0x0402,
104 z_edge_centering = 0x0403,
105 point_centering = 0x0800,
106 no_centering = 0x1000,
113 std::variant<char,
unsigned char, short,
unsigned short,
114 int,
unsigned int, long,
unsigned long,
long long,
115 unsigned long long, float,
double>;
117 unsigned int type_code;
118 unsigned int centering;
121 std::string long_name;
122 std::string description;
124 fill_value_t fill_value;