4 #include "teca_mesh_fwd.h"
5 #include "teca_dataset.h"
6 #include "teca_metadata.h"
7 #include "teca_array_collection.h"
22 TECA_DATASET_METADATA(time,
double, 1)
23 TECA_DATASET_METADATA(calendar, std::string, 1)
24 TECA_DATASET_METADATA(time_units, std::string, 1)
25 TECA_DATASET_METADATA(time_step,
unsigned long, 1)
34 p_teca_array_collection &get_arrays(
int centering);
35 const_p_teca_array_collection get_arrays(
int centering)
const;
38 p_teca_array_collection &get_point_arrays()
39 {
return m_impl->point_arrays; }
41 const_p_teca_array_collection get_point_arrays()
const
42 {
return m_impl->point_arrays; }
45 p_teca_array_collection &get_cell_arrays()
46 {
return m_impl->cell_arrays; }
48 const_p_teca_array_collection get_cell_arrays()
const
49 {
return m_impl->cell_arrays; }
52 p_teca_array_collection &get_x_edge_arrays()
53 {
return m_impl->x_edge_arrays; }
55 const_p_teca_array_collection get_x_edge_arrays()
const
56 {
return m_impl->x_edge_arrays; }
58 p_teca_array_collection &get_y_edge_arrays()
59 {
return m_impl->y_edge_arrays; }
61 const_p_teca_array_collection get_y_edge_arrays()
const
62 {
return m_impl->y_edge_arrays; }
64 p_teca_array_collection &get_z_edge_arrays()
65 {
return m_impl->z_edge_arrays; }
67 const_p_teca_array_collection get_z_edge_arrays()
const
68 {
return m_impl->z_edge_arrays; }
71 p_teca_array_collection &get_x_face_arrays()
72 {
return m_impl->x_face_arrays; }
74 const_p_teca_array_collection get_x_face_arrays()
const
75 {
return m_impl->x_face_arrays; }
77 p_teca_array_collection &get_y_face_arrays()
78 {
return m_impl->y_face_arrays; }
80 const_p_teca_array_collection get_y_face_arrays()
const
81 {
return m_impl->y_face_arrays; }
83 p_teca_array_collection &get_z_face_arrays()
84 {
return m_impl->z_face_arrays; }
86 const_p_teca_array_collection get_z_face_arrays()
const
87 {
return m_impl->z_face_arrays; }
90 p_teca_array_collection &get_information_arrays()
91 {
return m_impl->info_arrays; }
93 const_p_teca_array_collection get_information_arrays()
const
94 {
return m_impl->info_arrays; }
97 bool empty()
const noexcept
override;
101 void copy(
const const_p_teca_dataset &)
override;
102 void shallow_copy(
const p_teca_dataset &)
override;
106 void append_arrays(
const const_p_teca_mesh &);
107 void shallow_append_arrays(
const p_teca_mesh &);
110 void swap(p_teca_dataset &)
override;
118 int to_stream(std::ostream &)
const override;
119 int from_stream(std::istream &)
override {
return -1; }
129 p_teca_array_collection cell_arrays;
130 p_teca_array_collection x_edge_arrays;
131 p_teca_array_collection y_edge_arrays;
132 p_teca_array_collection z_edge_arrays;
133 p_teca_array_collection x_face_arrays;
134 p_teca_array_collection y_face_arrays;
135 p_teca_array_collection z_face_arrays;
136 p_teca_array_collection point_arrays;
137 p_teca_array_collection info_arrays;
138 p_teca_array_collection invalid;
140 std::shared_ptr<impl_t> m_impl;