|
PISM, A Parallel Ice Sheet Model 2.2.2-d6b3a29ca committed by Constantine Khrulev on 2025-03-28
|
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. | |
| 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. | |
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 | |
| Impl * | m_impl |
Protected Attributes inherited from pism::surface::PDDMassBalance | |
| bool | precip_as_snow |
| interpret all the precipitation as snow (no rain) | |
| bool | refreeze_ice_melt |
| refreeze melted ice | |
| double | Tmin |
| the temperature below which all precipitation is snow | |
| double | Tmax |
| the temperature above which all precipitation is rain | |
| double | pdd_threshold_temp |
| threshold temperature for the PDD computation | |
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 |
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.
Definition at line 179 of file localMassBalance.hh.