PISM, A Parallel Ice Sheet Model
stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
|
A class implementing a temperature-index (positive degree-day) scheme to compute melt and runoff, and thus surface mass balance, from precipitation and air temperature. More...
#include <DEBMSimple.hh>
Public Member Functions | |
DEBMSimple (std::shared_ptr< const Grid > g, std::shared_ptr< atmosphere::AtmosphereModel > input) | |
virtual | ~DEBMSimple ()=default |
const array::Scalar & | snow_depth () const |
const array::Scalar & | air_temp_sd () const |
const array::Scalar & | accumulation_impl () const |
const array::Scalar & | melt_impl () const |
const array::Scalar & | runoff_impl () const |
const array::Scalar & | insolation_driven_melt () const |
const array::Scalar & | temperature_driven_melt () const |
const array::Scalar & | offset_melt () const |
const array::Scalar & | surface_albedo () const |
const array::Scalar & | atmosphere_transmissivity () const |
const DEBMSimplePointwise & | pointwise_model () const |
Public Member Functions inherited from pism::surface::SurfaceModel | |
SurfaceModel (std::shared_ptr< const Grid > g) | |
SurfaceModel (std::shared_ptr< const Grid > g, std::shared_ptr< SurfaceModel > input) | |
SurfaceModel (std::shared_ptr< const Grid > g, std::shared_ptr< atmosphere::AtmosphereModel > atmosphere) | |
virtual | ~SurfaceModel ()=default |
void | init (const Geometry &geometry) |
void | update (const Geometry &geometry, double t, double dt) |
const array::Scalar & | accumulation () const |
Returns accumulation. More... | |
const array::Scalar & | layer_mass () const |
Returns mass held in the surface layer. More... | |
const array::Scalar & | layer_thickness () const |
Returns thickness of the surface layer. Could be used to compute surface elevation as a sum of elevation of the top surface of the ice and surface layer (firn, etc) thickness. More... | |
const array::Scalar & | liquid_water_fraction () const |
Returns the liquid water fraction of the ice at the top ice surface. More... | |
const array::Scalar & | mass_flux () const |
const array::Scalar & | melt () const |
Returns melt. More... | |
const array::Scalar & | runoff () const |
Returns runoff. More... | |
const array::Scalar & | temperature () const |
Public Member Functions inherited from pism::Component | |
Component (std::shared_ptr< const Grid > grid) | |
virtual | ~Component ()=default |
DiagnosticList | diagnostics () const |
TSDiagnosticList | ts_diagnostics () const |
std::shared_ptr< const Grid > | grid () const |
const Time & | time () const |
const Profiling & | profiling () const |
void | define_model_state (const File &output) const |
Define model state variables in an output file. More... | |
void | write_model_state (const File &output) const |
Write model state variables to an output file. More... | |
MaxTimestep | max_timestep (double t) const |
Reports the maximum time-step the model can take at time t. More... | |
Private Member Functions | |
virtual void | init_impl (const Geometry &geometry) |
virtual void | update_impl (const Geometry &geometry, double t, double dt) |
virtual MaxTimestep | max_timestep_impl (double t) const |
virtual void | define_model_state_impl (const File &output) const |
The default (empty implementation). More... | |
virtual void | write_model_state_impl (const File &output) const |
The default (empty implementation). More... | |
virtual DiagnosticList | diagnostics_impl () const |
virtual const array::Scalar & | mass_flux_impl () const |
virtual const array::Scalar & | temperature_impl () const |
double | compute_next_balance_year_start (double time) |
double | snow_accumulation (double T, double P) const |
Extracts snow accumulation from mixed (snow and rain) precipitation using a temperature threshold with a linear transition. More... | |
unsigned int | timeseries_length (double dt) const |
The number of points for temperature and precipitation time-series. More... | |
Private Attributes | |
DEBMSimplePointwise | m_model |
double | m_next_balance_year_start |
array::Scalar | m_mass_flux |
cached surface mass balance rate More... | |
std::shared_ptr< array::Scalar > | m_temperature |
array::Scalar | m_snow_depth |
snow depth (reset once a year) More... | |
std::shared_ptr< array::Forcing > | m_air_temp_sd |
standard deviation of the daily variability of the air temperature More... | |
std::shared_ptr< array::Scalar > | m_accumulation |
total accumulation during the last time step More... | |
std::shared_ptr< array::Scalar > | m_melt |
total melt during the last time step More... | |
std::shared_ptr< array::Scalar > | m_runoff |
total runoff during the last time step More... | |
array::Scalar | m_temperature_driven_melt |
total temperature melt during the last time step More... | |
array::Scalar | m_insolation_driven_melt |
total insolation melt during the last time step More... | |
array::Scalar | m_offset_melt |
total offset_melt during the last timestep More... | |
array::Scalar | m_surface_albedo |
albedo field More... | |
std::shared_ptr< array::Forcing > | m_input_albedo |
if albedo is given as input field More... | |
array::Scalar | m_transmissivity |
transmissivity field More... | |
double | m_year_length |
unsigned int | m_n_per_year |
number of small time steps per year More... | |
bool | m_sd_use_param |
double | m_sd_param_a |
double | m_sd_param_b |
bool | m_precip_as_snow |
interpret all the precipitation as snow (no rain) More... | |
double | m_Tmin |
the temperature below which all precipitation is snow More... | |
double | m_Tmax |
the temperature above which all precipitation is rain More... | |
Additional Inherited Members | |
Protected Types inherited from pism::Component | |
enum | RegriddingFlag { REGRID_WITHOUT_REGRID_VARS , NO_REGRID_WITHOUT_REGRID_VARS } |
This flag determines whether a variable is read from the -regrid_file file even if it is not listed among variables in -regrid_vars . More... | |
Protected Member Functions inherited from pism::surface::SurfaceModel | |
virtual const array::Scalar & | layer_mass_impl () const |
virtual const array::Scalar & | layer_thickness_impl () const |
virtual const array::Scalar & | liquid_water_fraction_impl () const |
virtual TSDiagnosticList | ts_diagnostics_impl () const |
void | dummy_accumulation (const array::Scalar &smb, array::Scalar &result) |
void | dummy_melt (const array::Scalar &smb, array::Scalar &result) |
void | dummy_runoff (const array::Scalar &smb, array::Scalar &result) |
Protected Member Functions inherited from pism::Component | |
void | regrid (const std::string &module_name, array::Array &variable, RegriddingFlag flag=NO_REGRID_WITHOUT_REGRID_VARS) |
Static Protected Member Functions inherited from pism::surface::SurfaceModel | |
static std::shared_ptr< array::Scalar > | allocate_layer_mass (std::shared_ptr< const Grid > grid) |
static std::shared_ptr< array::Scalar > | allocate_layer_thickness (std::shared_ptr< const Grid > grid) |
static std::shared_ptr< array::Scalar > | allocate_liquid_water_fraction (std::shared_ptr< const Grid > grid) |
static std::shared_ptr< array::Scalar > | allocate_mass_flux (std::shared_ptr< const Grid > grid) |
static std::shared_ptr< array::Scalar > | allocate_temperature (std::shared_ptr< const Grid > grid) |
static std::shared_ptr< array::Scalar > | allocate_accumulation (std::shared_ptr< const Grid > grid) |
static std::shared_ptr< array::Scalar > | allocate_melt (std::shared_ptr< const Grid > grid) |
static std::shared_ptr< array::Scalar > | allocate_runoff (std::shared_ptr< const Grid > grid) |
Protected Attributes inherited from pism::surface::SurfaceModel | |
std::shared_ptr< array::Scalar > | m_liquid_water_fraction |
std::shared_ptr< array::Scalar > | m_layer_mass |
std::shared_ptr< array::Scalar > | m_layer_thickness |
std::shared_ptr< array::Scalar > | m_accumulation |
std::shared_ptr< array::Scalar > | m_melt |
std::shared_ptr< array::Scalar > | m_runoff |
std::shared_ptr< SurfaceModel > | m_input_model |
std::shared_ptr< atmosphere::AtmosphereModel > | m_atmosphere |
Protected Attributes inherited from pism::Component | |
const std::shared_ptr< const Grid > | m_grid |
grid used by this component More... | |
const Config::ConstPtr | m_config |
configuration database used by this component More... | |
const units::System::Ptr | m_sys |
unit system used by this component More... | |
const Logger::ConstPtr | m_log |
logger (for easy access) More... | |
A class implementing a temperature-index (positive degree-day) scheme to compute melt and runoff, and thus surface mass balance, from precipitation and air temperature.
Temperature-index schemes are far from perfect as a way of modeling surface mass balance on ice sheets which experience surface melt, but they are known to have reasonable data requirements and to do a good job when tuned appropriately [Hock05].
Definition at line 39 of file DEBMSimple.hh.