PISM, A Parallel Ice Sheet Model
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
pism::surface::SurfaceModel Class Reference

The interface of PISM's surface models. More...

#include <SurfaceModel.hh>

+ Inheritance diagram for pism::surface::SurfaceModel:

Public Member Functions

 SurfaceModel (IceGrid::ConstPtr g)
 
 SurfaceModel (IceGrid::ConstPtr g, std::shared_ptr< SurfaceModel > input)
 
 SurfaceModel (IceGrid::ConstPtr g, std::shared_ptr< atmosphere::AtmosphereModel > atmosphere)
 
virtual ~SurfaceModel ()=default
 
void init (const Geometry &geometry)
 
void update (const Geometry &geometry, double t, double dt)
 
const IceModelVec2Saccumulation () const
 Returns accumulation. More...
 
const IceModelVec2Slayer_mass () const
 Returns mass held in the surface layer. More...
 
const IceModelVec2Slayer_thickness () const
 Returns thickness of the surface layer. Could be used to compute surface elevation as a sum of elevation of the top surface of the ice and surface layer (firn, etc) thickness. More...
 
const IceModelVec2Sliquid_water_fraction () const
 Returns the liquid water fraction of the ice at the top ice surface. More...
 
const IceModelVec2Smass_flux () const
 
const IceModelVec2Smelt () const
 Returns melt. More...
 
const IceModelVec2Srunoff () const
 Returns runoff. More...
 
const IceModelVec2Stemperature () const
 
- Public Member Functions inherited from pism::Component
 Component (IceGrid::ConstPtr g)
 
virtual ~Component ()=default
 
DiagnosticList diagnostics () const
 
TSDiagnosticList ts_diagnostics () const
 
IceGrid::ConstPtr grid () 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 const IceModelVec2Saccumulation_impl () const
 
virtual const IceModelVec2Slayer_mass_impl () const
 
virtual const IceModelVec2Slayer_thickness_impl () const
 
virtual const IceModelVec2Sliquid_water_fraction_impl () const
 
virtual const IceModelVec2Smass_flux_impl () const
 
virtual const IceModelVec2Smelt_impl () const
 
virtual const IceModelVec2Srunoff_impl () const
 
virtual const IceModelVec2Stemperature_impl () const
 
virtual void init_impl (const Geometry &geometry)
 
virtual void update_impl (const Geometry &geometry, double t, double dt)
 
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 DiagnosticList diagnostics_impl () const
 
virtual TSDiagnosticList ts_diagnostics_impl () const
 
void dummy_accumulation (const IceModelVec2S &smb, IceModelVec2S &result)
 
void dummy_melt (const IceModelVec2S &smb, IceModelVec2S &result)
 
void dummy_runoff (const IceModelVec2S &smb, IceModelVec2S &result)
 
- Protected Member Functions inherited from pism::Component
virtual void regrid (const std::string &module_name, IceModelVec &variable, RegriddingFlag flag=NO_REGRID_WITHOUT_REGRID_VARS)
 

Static Protected Member Functions

static IceModelVec2S::Ptr allocate_layer_mass (IceGrid::ConstPtr grid)
 
static IceModelVec2S::Ptr allocate_layer_thickness (IceGrid::ConstPtr grid)
 
static IceModelVec2S::Ptr allocate_liquid_water_fraction (IceGrid::ConstPtr grid)
 
static IceModelVec2S::Ptr allocate_mass_flux (IceGrid::ConstPtr grid)
 
static IceModelVec2S::Ptr allocate_temperature (IceGrid::ConstPtr grid)
 
static IceModelVec2S::Ptr allocate_accumulation (IceGrid::ConstPtr grid)
 
static IceModelVec2S::Ptr allocate_melt (IceGrid::ConstPtr grid)
 
static IceModelVec2S::Ptr allocate_runoff (IceGrid::ConstPtr grid)
 

Protected Attributes

IceModelVec2S::Ptr m_liquid_water_fraction
 
IceModelVec2S::Ptr m_layer_mass
 
IceModelVec2S::Ptr m_layer_thickness
 
IceModelVec2S::Ptr m_accumulation
 
IceModelVec2S::Ptr m_melt
 
IceModelVec2S::Ptr m_runoff
 
std::shared_ptr< SurfaceModelm_input_model
 
std::shared_ptr< atmosphere::AtmosphereModelm_atmosphere
 
- Protected Attributes inherited from pism::Component
const IceGrid::ConstPtr m_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

The interface of PISM's surface models.

Definition at line 45 of file SurfaceModel.hh.


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