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

A class for reading, writing and accessing PISM configuration flags and parameters. More...

#include <Config.hh>

+ Inheritance diagram for pism::NetCDFConfig:

Public Member Functions

 NetCDFConfig (MPI_Comm com, const std::string &name, units::System::Ptr unit_system)
 
 ~NetCDFConfig ()
 
- Public Member Functions inherited from pism::Config
 Config (units::System::Ptr unit_system)
 
virtual ~Config ()
 
void import_from (const Config &other)
 
void resolve_filenames ()
 
const std::set< std::string > & parameters_set_by_user () const
 
const std::set< std::string > & parameters_used () const
 
void read (MPI_Comm com, const std::string &filename)
 
void write (MPI_Comm com, const std::string &filename, bool append=true) const
 
std::string filename () const
 Returns the name of the file used to initialize the database. More...
 
void read (const File &file)
 
void write (const File &file) const
 
bool is_set (const std::string &name) const
 
Doubles all_doubles () const
 
double get_number (const std::string &name, UseFlag flag=REMEMBER_THIS_USE) const
 
double get_number (const std::string &name, const std::string &units, UseFlag flag=REMEMBER_THIS_USE) const
 
std::vector< double > get_numbers (const std::string &name, UseFlag flag=REMEMBER_THIS_USE) const
 
std::vector< double > get_numbers (const std::string &name, const std::string &units, UseFlag flag=REMEMBER_THIS_USE) const
 
void set_number (const std::string &name, double value, ConfigSettingFlag flag=CONFIG_FORCE)
 
void set_numbers (const std::string &name, const std::vector< double > &values, ConfigSettingFlag flag=CONFIG_FORCE)
 
Strings all_strings () const
 
std::string get_string (const std::string &name, UseFlag flag=REMEMBER_THIS_USE) const
 
void set_string (const std::string &name, const std::string &value, ConfigSettingFlag flag=CONFIG_FORCE)
 
Flags all_flags () const
 
std::set< std::string > keys () const
 
bool get_flag (const std::string &name, UseFlag flag=REMEMBER_THIS_USE) const
 
void set_flag (const std::string &name, bool value, ConfigSettingFlag flag=CONFIG_FORCE)
 
std::string doc (const std::string &parameter) const
 
std::string units (const std::string &parameter) const
 
std::string type (const std::string &parameter) const
 
std::string option (const std::string &parameter) const
 
std::string choices (const std::string &parameter) const
 

Protected Member Functions

void read_impl (const File &nc)
 Read flag flags and double parameters from a NetCDF file. More...
 
void write_impl (const File &nc) const
 Write a config variable to a file (with all its attributes). More...
 
bool is_set_impl (const std::string &name) const
 
Doubles all_doubles_impl () const
 
double get_number_impl (const std::string &name) const
 
std::vector< double > get_numbers_impl (const std::string &name) const
 
void set_number_impl (const std::string &name, double value)
 
void set_numbers_impl (const std::string &name, const std::vector< double > &values)
 
Strings all_strings_impl () const
 
std::string get_string_impl (const std::string &name) const
 
void set_string_impl (const std::string &name, const std::string &value)
 
Flags all_flags_impl () const
 
bool get_flag_impl (const std::string &name) const
 
void set_flag_impl (const std::string &name, bool value)
 Set a value of a flag flag. More...
 

Protected Attributes

MPI_Comm m_com
 
VariableMetadata m_data
 

Private Attributes

std::string m_config_filename
 the name of the file this config database was initialized from More...
 

Additional Inherited Members

- Public Types inherited from pism::Config
enum  UseFlag { REMEMBER_THIS_USE = 0 , FORGET_THIS_USE = 1 }
 Flag used by get_...() methods. More...
 
typedef std::shared_ptr< ConfigPtr
 
typedef std::shared_ptr< const ConfigConstPtr
 
typedef std::map< std::string, std::vector< double > > Doubles
 
typedef std::map< std::string, std::string > Strings
 
typedef std::map< std::string, bool > Flags
 

Detailed Description

A class for reading, writing and accessing PISM configuration flags and parameters.

Definition at line 34 of file Config.hh.


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