PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
pism::Vars Class Reference

A class for passing PISM variables from the core to other parts of the code (such as climate couplers). More...

#include <Vars.hh>

Public Types

typedef std::shared_ptr< array::ArrayVecPtr
 
typedef std::shared_ptr< array::ScalarVec2SPtr
 
typedef std::shared_ptr< array::ScalarVec2IntPtr
 
typedef std::shared_ptr< array::VectorVec2VPtr
 
typedef std::shared_ptr< array::CellTypeVec2CellTypePtr
 
typedef std::shared_ptr< array::Array3DVec3Ptr
 

Public Member Functions

 Vars ()
 
void add (const array::Array &)
 Add an array::Array to the dictionary. More...
 
void add (const array::Array &, const std::string &name)
 Add an array::Array v using the name name. More...
 
void remove (const std::string &name)
 Removes a variable with the key name from the dictionary. More...
 
bool is_available (const std::string &name) const
 
const array::Arrayget (const std::string &name) const
 Returns a pointer to an array::Array containing variable name or NULL if that variable was not found. More...
 
const array::Scalarget_2d_scalar (const std::string &name) const
 
const array::Scalarget_2d_mask (const std::string &name) const
 
const array::Vectorget_2d_vector (const std::string &name) const
 
const array::CellTypeget_2d_cell_type (const std::string &name) const
 
const array::Array3Dget_3d_scalar (const std::string &name) const
 
std::set< std::string > keys () const
 Returns the set of keys (variable names) in the dictionary. More...
 
void add_shared (VecPtr)
 
void add_shared (VecPtr, const std::string &name)
 
bool is_available_shared (const std::string &name) const
 
VecPtr get_shared (const std::string &name) const
 
Vec2SPtr get_2d_scalar_shared (const std::string &name) const
 
Vec2VPtr get_2d_vector_shared (const std::string &name) const
 
Vec2IntPtr get_2d_mask_shared (const std::string &name) const
 
Vec2CellTypePtr get_2d_cell_type_shared (const std::string &name) const
 
Vec3Ptr get_3d_scalar_shared (const std::string &name) const
 
std::set< std::string > keys_shared () const
 

Private Member Functions

const array::Arrayget_internal (const std::string &name) const
 
VecPtr get_internal_shared (const std::string &name) const
 
 Vars (Vars const &)
 
Varsoperator= (Vars const &)
 

Private Attributes

std::map< std::string, const array::Array * > m_variables
 
std::map< std::string, std::string > m_standard_names
 
std::map< std::string, VecPtrm_variables_shared
 variables in shared ownership More...
 

Detailed Description

A class for passing PISM variables from the core to other parts of the code (such as climate couplers).

Definition at line 40 of file Vars.hh.


The documentation for this class was generated from the following files: