PISM, A Parallel Ice Sheet Model
stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
|
Base class for a model which computes surface mass flux rate (ice thickness per time) from precipitation and temperature. More...
#include <localMassBalance.hh>
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 |
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.
config.get...("...")
calls inside those methods of this class which are called inside loops over spatial grids. Doing otherwise increases computational costs.Definition at line 54 of file localMassBalance.hh.