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

Base class for a model which computes surface mass flux rate (ice thickness per time) from precipitation and temperature. More...

#include <localMassBalance.hh>

+ Inheritance diagram for pism::surface::LocalMassBalance:

Classes

class  Changes
 
struct  DegreeDayFactors
 A struct which holds degree day factors. More...
 

Public Member Functions

 LocalMassBalance (Config::ConstPtr config, units::System::Ptr system)
 
virtual ~LocalMassBalance ()=default
 
std::string method () const
 
virtual unsigned int get_timeseries_length (double dt)=0
 
virtual void get_PDDs (double dt_series, const std::vector< double > &S, const std::vector< double > &T, std::vector< double > &PDDs)=0
 Count positive degree days (PDDs). Returned value in units of K day. More...
 
virtual void get_snow_accumulation (const std::vector< double > &T, std::vector< double > &precip_rate)=0
 
virtual Changes step (const DegreeDayFactors &ddf, double PDDs, double ice_thickness, double old_firn_depth, double old_snow_depth, double accumulation)=0
 

Protected Attributes

std::string m_method
 
const Config::ConstPtr m_config
 
const units::System::Ptr m_unit_system
 
const double m_seconds_per_day
 

Detailed Description

Base class for a model which computes surface mass flux rate (ice thickness per time) from precipitation and temperature.

This is a process model. At each spatial location, it uses a 1D array, with a time dimension, for the temperature used in melting snow or ice. At each spatial location it assumes the precipitation is time-independent.

This process model does not know its location on the ice sheet, but simply computes the surface mass balance from three quantities:

This model also uses degree day factors passed-in in DegreeDayFactors ddf, and the standard deviation pddStdDev. The latter is the standard deviation of the modeled temperature away from the input temperature time series which contains the part of location-dependent temperature cycle on the time interval.

Note
  • Please avoid using config.get...("...") calls inside those methods of this class which are called inside loops over spatial grids. Doing otherwise increases computational costs.
  • This base class should be more general. For instance, it could allow as input a time series for precipation rate.

Definition at line 54 of file localMassBalance.hh.


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