19 #ifndef PISM_DEBM_SIMPLE_POINTWISE_H
20 #define PISM_DEBM_SIMPLE_POINTWISE_H
25 #include "pism/util/Mask.hh"
26 #include "pism/util/ScalarForcing.hh"
67 double distance_factor,
69 double T_std_deviation,
71 double surface_elevation,
88 double accumulation)
const;
94 double distance_factor,
95 double latitude_degrees)
const;
double albedo(double melt_rate, MaskValue cell_type) const
double m_melt_threshold_temp
double insolation(double declination, double distance_factor, double latitude_degrees) const
double m_transmissivity_slope
slope used in the linear parameterization of transmissivity
std::unique_ptr< ScalarForcing > m_eccentricity
double m_constant_obliquity
std::unique_ptr< ScalarForcing > m_obliquity
double m_refreeze_fraction
refreeze fraction
double m_positive_threshold_temperature
threshold temperature for the computation of temperature-driven melt
double eccentricity(double time) const
DEBMSimpleMelt melt(double declination, double distance_factor, double dt, double T_std_deviation, double T, double surface_elevation, double lat, double albedo) const
double m_albedo_slope
slope used in the linear parameterization of the albedo as a function of melt
bool m_refreeze_ice_melt
refreeze melted ice
double perihelion_longitude(double time) const
double m_solar_constant
the solar constant
Changes step(double ice_thickness, double max_melt, double snow_depth, double accumulation) const
Compute the surface mass balance at a location from the amount of melted snow and the solid accumulat...
double m_constant_perihelion_longitude
double m_phi
minimum solar elevation angle above which melt is possible
double atmosphere_transmissivity(double elevation) const
double m_constant_eccentricity
std::unique_ptr< ScalarForcing > m_perihelion_longitude
std::shared_ptr< const Time > m_time
double m_L
latent heat of fusion
double obliquity(double time) const
OrbitalParameters orbital_parameters(double time) const
DEBMSimplePointwise(const Context &ctx)
double m_transmissivity_intercept
A dEBM-simple implementation.