19 #ifndef PISM_ARRAY_IMPL_HH
20 #define PISM_ARRAY_IMPL_HH
27 #include "pism/util/array/Array.hh"
29 #include <gsl/gsl_interp.h>
31 #include "pism/util/petscwrappers/Vec.hh"
32 #include "pism/util/interpolation.hh"
33 #include "pism/util/VariableMetadata.hh"
52 name =
"uninitialized variable";
77 std::shared_ptr<const Grid>
grid;
89 std::shared_ptr<petsc::DM>
da;
96 std::map<std::string,std::shared_ptr<petsc::Viewer> >
map_viewers;
void set_default_value_or_stop(const std::string &filename, const VariableMetadata &variable, io::Default default_value, const Logger &log, Vec output)
void global_to_local(petsc::DM &dm, Vec source, Vec destination)
bool begin_access_use_dof
If true, use DMDAVecGetArrayDOF() in begin_access()
int state_counter
Internal array::Array "revision number".
bool ghosted
true if this Array is ghosted
std::shared_ptr< const Grid > grid
The computational grid.
InterpolationType interpolation_type
std::map< std::string, std::shared_ptr< petsc::Viewer > > map_viewers
bool report_range
If true, report range when regridding.
gsl_interp_accel * bsearch_accel
unsigned int da_stencil_width
stencil width supported by the DA
std::vector< SpatialVariableMetadata > metadata
Metadata (NetCDF variable attributes)
std::vector< double > zlevels
Vertical levels (for 3D fields)
std::shared_ptr< petsc::DM > da
distributed mesh manager (DM)
unsigned int dof
number of "degrees of freedom" per grid point