32 class IceModelVec2Int;
33 class IceModelVec2CellType;
43 void remove(
const std::string &name);
53 std::set<std::string>
keys()
const;
55 typedef std::shared_ptr<IceModelVec>
VecPtr;
56 typedef std::shared_ptr<IceModelVec2S>
Vec2SPtr;
57 typedef std::shared_ptr<IceModelVec2V>
Vec2VPtr;
60 typedef std::shared_ptr<IceModelVec3>
Vec3Ptr;
77 mutable std::map<std::string, const IceModelVec*>
m_variables;
"Cell type" mask. Adds convenience methods to IceModelVec2Int.
A simple class "hiding" the fact that the mask is stored as floating-point scalars (instead of intege...
A virtual class collecting methods common to ice and bedrock 3D fields.
Abstract class for reading, writing, allocating, and accessing a DA-based PETSc Vec (2D and 3D fields...
const IceModelVec3 * get_3d_scalar(const std::string &name) const
std::shared_ptr< IceModelVec2V > Vec2VPtr
VecPtr get_shared(const std::string &name) const
std::set< std::string > keys_shared() const
std::shared_ptr< IceModelVec > VecPtr
const IceModelVec2CellType * get_2d_cell_type(const std::string &name) const
void add(const IceModelVec &)
Add an IceModelVec to the dictionary.
std::set< std::string > keys() const
Returns the set of keys (variable names) in the dictionary.
std::map< std::string, const IceModelVec * > m_variables
std::shared_ptr< IceModelVec2Int > Vec2IntPtr
const IceModelVec * get(const std::string &name) const
Returns a pointer to an IceModelVec containing variable name or NULL if that variable was not found.
std::map< std::string, VecPtr > m_variables_shared
variables in shared ownership
Vec2VPtr get_2d_vector_shared(const std::string &name) const
VecPtr get_internal_shared(const std::string &name) const
Vec2IntPtr get_2d_mask_shared(const std::string &name) const
bool is_available_shared(const std::string &name) const
Vec3Ptr get_3d_scalar_shared(const std::string &name) const
std::shared_ptr< IceModelVec2S > Vec2SPtr
std::shared_ptr< IceModelVec3 > Vec3Ptr
void remove(const std::string &name)
Removes a variable with the key name from the dictionary.
const IceModelVec2S * get_2d_scalar(const std::string &name) const
const IceModelVec2V * get_2d_vector(const std::string &name) const
Vars & operator=(Vars const &)
std::shared_ptr< IceModelVec2CellType > Vec2CellTypePtr
bool is_available(const std::string &name) const
const IceModelVec2Int * get_2d_mask(const std::string &name) const
Vec2CellTypePtr get_2d_cell_type_shared(const std::string &name) const
Vec2SPtr get_2d_scalar_shared(const std::string &name) const
const IceModelVec * get_internal(const std::string &name) const
std::map< std::string, std::string > m_standard_names
A class for passing PISM variables from the core to other parts of the code (such as climate couplers...