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 Types | Public Member Functions | Protected Attributes | List of all members
pism::surface::PDDrandMassBalance Class Reference

An alternative PDD implementation which simulates a random process to get the number of PDDs. More...

#include <localMassBalance.hh>

+ Inheritance diagram for pism::surface::PDDrandMassBalance:

Classes

struct  Impl
 

Public Types

enum  Kind { NOT_REPEATABLE = 0 , REPEATABLE = 1 }
 

Public Member Functions

 PDDrandMassBalance (Config::ConstPtr config, units::System::Ptr system, Kind kind)
 
virtual ~PDDrandMassBalance ()
 
virtual unsigned int get_timeseries_length (double dt)
 
virtual void get_PDDs (double dt_series, const std::vector< double > &S, const std::vector< double > &T, std::vector< double > &PDDs)
 
- Public Member Functions inherited from pism::surface::PDDMassBalance
 PDDMassBalance (Config::ConstPtr config, units::System::Ptr system)
 
virtual ~PDDMassBalance ()
 
void get_snow_accumulation (const std::vector< double > &T, std::vector< double > &precip_rate)
 Extract snow accumulation from mixed (snow and rain) precipitation using the temperature time-series. More...
 
Changes step (const DegreeDayFactors &ddf, double PDDs, double ice_thickness, double firn_depth, double snow_depth, double accumulation)
 Compute the surface mass balance at a location from the number of positive degree days and the accumulation amount in a time interval. More...
 
- Public Member Functions inherited from pism::surface::LocalMassBalance
 LocalMassBalance (Config::ConstPtr config, units::System::Ptr system)
 
virtual ~LocalMassBalance ()=default
 
std::string method () const
 

Protected Attributes

Implm_impl
 
- Protected Attributes inherited from pism::surface::PDDMassBalance
bool precip_as_snow
 interpret all the precipitation as snow (no rain) More...
 
bool refreeze_ice_melt
 refreeze melted ice More...
 
double Tmin
 the temperature below which all precipitation is snow More...
 
double Tmax
 the temperature above which all precipitation is rain More...
 
double pdd_threshold_temp
 threshold temperature for the PDD computation More...
 
- Protected Attributes inherited from pism::surface::LocalMassBalance
std::string m_method
 
const Config::ConstPtr m_config
 
const units::System::Ptr m_unit_system
 
const double m_seconds_per_day
 

Detailed Description

An alternative PDD implementation which simulates a random process to get the number of PDDs.

Uses a GSL random number generator. Significantly slower because new random numbers are generated for each grid point.

The way the number of positive degree-days are used to produce a surface mass balance is identical to the base class PDDMassBalance.

Note
A more realistic pattern for the variability of surface melting might have correlation with appropriate spatial and temporal ranges.

Definition at line 179 of file localMassBalance.hh.


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