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 | Static Protected Member Functions | Protected Attributes | List of all members
pism::atmosphere::AtmosphereModel Class Referenceabstract

A purely virtual class defining the interface of a PISM Atmosphere Model. More...

#include <AtmosphereModel.hh>

+ Inheritance diagram for pism::atmosphere::AtmosphereModel:

Public Member Functions

 AtmosphereModel (std::shared_ptr< const Grid > g)
 
 AtmosphereModel (std::shared_ptr< const Grid > g, std::shared_ptr< AtmosphereModel > input)
 
virtual ~AtmosphereModel ()=default
 
void init (const Geometry &geometry)
 
void update (const Geometry &geometry, double t, double dt)
 
const array::Scalarprecipitation () const
 Sets result to the mean precipitation, in "kg m-2 second-1". More...
 
const array::Scalarair_temperature () const
 Sets result to the mean near-surface air temperature, in degrees Kelvin. More...
 
void begin_pointwise_access () const
 
void end_pointwise_access () const
 
void init_timeseries (const std::vector< double > &ts) const
 
void precip_time_series (int i, int j, std::vector< double > &result) const
 Sets a pre-allocated N-element array "result" to the time-series of ice-equivalent precipitation (m/s) at the point i,j on the grid. More...
 
void temp_time_series (int i, int j, std::vector< double > &result) const
 Sets a pre-allocated N-element array "result" to the time-series of near-surface air temperature (degrees Kelvin) at the point i,j on the grid. Times (in years) are specified in ts. NB! Has to be surrounded by begin_pointwise_access() and end_pointwise_access() More...
 
- Public Member Functions inherited from pism::Component
 Component (std::shared_ptr< const Grid > grid)
 
virtual ~Component ()=default
 
DiagnosticList diagnostics () const
 
TSDiagnosticList ts_diagnostics () const
 
std::shared_ptr< const Gridgrid () const
 
const Timetime () const
 
const Profilingprofiling () const
 
void define_model_state (const File &output) const
 Define model state variables in an output file. More...
 
void write_model_state (const File &output) const
 Write model state variables to an output file. More...
 
MaxTimestep max_timestep (double t) const
 Reports the maximum time-step the model can take at time t. More...
 

Protected Member Functions

virtual void init_impl (const Geometry &geometry)=0
 
virtual void update_impl (const Geometry &geometry, double t, double dt)=0
 
virtual void define_model_state_impl (const File &output) const
 The default (empty implementation). More...
 
virtual void write_model_state_impl (const File &output) const
 The default (empty implementation). More...
 
virtual MaxTimestep max_timestep_impl (double my_t) const
 
virtual const array::Scalarprecipitation_impl () const
 
virtual const array::Scalarair_temperature_impl () const
 
virtual void begin_pointwise_access_impl () const
 
virtual void end_pointwise_access_impl () const
 
virtual void init_timeseries_impl (const std::vector< double > &ts) const
 
virtual void precip_time_series_impl (int i, int j, std::vector< double > &result) const
 
virtual void temp_time_series_impl (int i, int j, std::vector< double > &result) const
 
virtual DiagnosticList diagnostics_impl () const
 
virtual TSDiagnosticList ts_diagnostics_impl () const
 
- Protected Member Functions inherited from pism::Component
void regrid (const std::string &module_name, array::Array &variable, RegriddingFlag flag=NO_REGRID_WITHOUT_REGRID_VARS)
 

Static Protected Member Functions

static std::shared_ptr< array::Scalarallocate_temperature (std::shared_ptr< const Grid > grid)
 
static std::shared_ptr< array::Scalarallocate_precipitation (std::shared_ptr< const Grid > grid)
 

Protected Attributes

std::vector< double > m_ts_times
 
std::shared_ptr< AtmosphereModelm_input_model
 
- Protected Attributes inherited from pism::Component
const std::shared_ptr< const Gridm_grid
 grid used by this component More...
 
const Config::ConstPtr m_config
 configuration database used by this component More...
 
const units::System::Ptr m_sys
 unit system used by this component More...
 
const Logger::ConstPtr m_log
 logger (for easy access) More...
 

Additional Inherited Members

- Protected Types inherited from pism::Component
enum  RegriddingFlag { REGRID_WITHOUT_REGRID_VARS , NO_REGRID_WITHOUT_REGRID_VARS }
 This flag determines whether a variable is read from the -regrid_file file even if it is not listed among variables in -regrid_vars. More...
 

Detailed Description

A purely virtual class defining the interface of a PISM Atmosphere Model.

Definition at line 33 of file AtmosphereModel.hh.


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