PISM, A Parallel Ice Sheet Model
stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
|
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::Array > | VecPtr |
typedef std::shared_ptr< array::Scalar > | Vec2SPtr |
typedef std::shared_ptr< array::Scalar > | Vec2IntPtr |
typedef std::shared_ptr< array::Vector > | Vec2VPtr |
typedef std::shared_ptr< array::CellType > | Vec2CellTypePtr |
typedef std::shared_ptr< array::Array3D > | Vec3Ptr |
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::Array * | get (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::Scalar * | get_2d_scalar (const std::string &name) const |
const array::Scalar * | get_2d_mask (const std::string &name) const |
const array::Vector * | get_2d_vector (const std::string &name) const |
const array::CellType * | get_2d_cell_type (const std::string &name) const |
const array::Array3D * | get_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::Array * | get_internal (const std::string &name) const |
VecPtr | get_internal_shared (const std::string &name) const |
Vars (Vars const &) | |
Vars & | operator= (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, VecPtr > | m_variables_shared |
variables in shared ownership More... | |
A class for passing PISM variables from the core to other parts of the code (such as climate couplers).