4 #include "teca_config.h"
5 #include "teca_dataset.h"
6 #include "teca_metadata.h"
7 #include "teca_array_collection.h"
10 TECA_SHARED_OBJECT_FORWARD_DECL(
teca_mesh)
29 TECA_DATASET_METADATA(temporal_bounds,
double, 2)
30 TECA_DATASET_METADATA(temporal_extent,
unsigned long, 2)
31 TECA_DATASET_METADATA(calendar, std::
string, 1)
32 TECA_DATASET_METADATA(time_units, std::
string, 1)
35 void set_time_step(const
unsigned long &val);
40 int get_time_step(
unsigned long &val) const;
43 void set_time(const
double &val);
48 int get_time(
double &val) const;
64 p_teca_array_collection &get_arrays(
int centering);
65 const_p_teca_array_collection get_arrays(
int centering) const;
70 p_teca_array_collection &get_point_arrays()
71 {
return m_impl->point_arrays; }
73 const_p_teca_array_collection get_point_arrays()
const
74 {
return m_impl->point_arrays; }
81 {
return m_impl->cell_arrays; }
83 const_p_teca_array_collection get_cell_arrays()
const
84 {
return m_impl->cell_arrays; }
91 {
return m_impl->x_edge_arrays; }
93 const_p_teca_array_collection get_x_edge_arrays()
const
94 {
return m_impl->x_edge_arrays; }
96 p_teca_array_collection &get_y_edge_arrays()
97 {
return m_impl->y_edge_arrays; }
99 const_p_teca_array_collection get_y_edge_arrays()
const
100 {
return m_impl->y_edge_arrays; }
102 p_teca_array_collection &get_z_edge_arrays()
103 {
return m_impl->z_edge_arrays; }
105 const_p_teca_array_collection get_z_edge_arrays()
const
106 {
return m_impl->z_edge_arrays; }
113 {
return m_impl->x_face_arrays; }
115 const_p_teca_array_collection get_x_face_arrays()
const
116 {
return m_impl->x_face_arrays; }
118 p_teca_array_collection &get_y_face_arrays()
119 {
return m_impl->y_face_arrays; }
121 const_p_teca_array_collection get_y_face_arrays()
const
122 {
return m_impl->y_face_arrays; }
124 p_teca_array_collection &get_z_face_arrays()
125 {
return m_impl->z_face_arrays; }
127 const_p_teca_array_collection get_z_face_arrays()
const
128 {
return m_impl->z_face_arrays; }
135 {
return m_impl->info_arrays; }
137 const_p_teca_array_collection get_information_arrays()
const
138 {
return m_impl->info_arrays; }
148 bool empty() const noexcept override;
151 void copy(const const_p_teca_dataset &other,
152 allocator alloc = allocator::malloc) override;
155 void shallow_copy(const p_teca_dataset &other) override;
159 void append_arrays(const const_p_teca_mesh &);
160 void shallow_append_arrays(const p_teca_mesh &);
163 void swap(const p_teca_dataset &) override;
171 int to_stream(std::ostream &) const override;
172 int from_stream(std::istream &)
override {
return -1; }
187 p_teca_array_collection cell_arrays;
188 p_teca_array_collection x_edge_arrays;
189 p_teca_array_collection y_edge_arrays;
190 p_teca_array_collection z_edge_arrays;
191 p_teca_array_collection x_face_arrays;
192 p_teca_array_collection y_face_arrays;
193 p_teca_array_collection z_face_arrays;
194 p_teca_array_collection point_arrays;
195 p_teca_array_collection info_arrays;
196 p_teca_array_collection invalid;
198 std::shared_ptr<impl_t> m_impl;
Serialize objects into a binary stream.
Definition: teca_binary_stream.h:17
Interface for TECA datasets.
Definition: teca_dataset.h:232
A base class for geometric data.
Definition: teca_mesh.h:20
virtual unsigned long get_number_of_cells() const =0
get the number of cells in the mesh
p_teca_array_collection & get_cell_arrays()
Definition: teca_mesh.h:80
p_teca_array_collection & get_information_arrays()
Definition: teca_mesh.h:134
bool empty() const noexcept override
return true if the dataset is empty.
p_teca_array_collection & get_x_edge_arrays()
Definition: teca_mesh.h:90
virtual unsigned long get_number_of_points() const =0
get the number of points in the mesh
p_teca_array_collection & get_x_face_arrays()
Definition: teca_mesh.h:112
p_teca_error_handler error_handler TECA_EXPORT
The global error handler instance.
TECA_EXPORT bool copy(teca_variant_array *varr, PyObject *obj)
Copy values from the object into variant array.
Definition: teca_py_array.h:290
Definition: teca_mesh.h:184