22 #include "pism/util/Component.hh"
30 double compute_load(
double bed,
double ice_thickness,
double sea_level,
31 double ice_density,
double ocean_density);
34 const array::Scalar &ice_thickness,
35 const array::Scalar &sea_level_elevation,
36 array::Scalar &result);
41 BedDef(std::shared_ptr<const Grid>
g);
66 double t,
double dt) = 0;
94 Null(std::shared_ptr<const Grid>
g);
119 double t,
double dt);
A class defining a common interface for most PISM sub-models.
High-level PISM I/O class.
Combines the max. time step with the flag indicating if a restriction is active. Makes is possible to...
virtual void write_model_state_impl(const File &output) const
The default (empty implementation).
virtual DiagnosticList diagnostics_impl() const
virtual void define_model_state_impl(const File &output) const
The default (empty implementation).
virtual void bootstrap_impl(const array::Scalar &bed_elevation, const array::Scalar &bed_uplift, const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation)
virtual void update_impl(const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation, double t, double dt)=0
void init(const InputOptions &opts, const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation)
array::Scalar2 m_topg_last
bed elevation at the time of the last update
void update(const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation, double t, double dt)
void bootstrap(const array::Scalar &bed_elevation, const array::Scalar &bed_uplift, const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation)
Initialize using provided bed elevation and uplift.
virtual ~BedDef()=default
array::Scalar2 m_topg
current bed elevation
virtual void init_impl(const InputOptions &opts, const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation)
Initialize from the context (input file and the "variables" database).
BedDef(std::shared_ptr< const Grid > g)
virtual void apply_topg_offset(const std::string &filename)
array::Scalar m_uplift
bed uplift rate
const array::Scalar & uplift() const
const array::Scalar & bed_elevation() const
void compute_uplift(const array::Scalar &bed, const array::Scalar &bed_last, double dt, array::Scalar &result)
Compute bed uplift (dt is in seconds).
PISM bed deformation model (base class).
void update_impl(const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation, double t, double dt)
Null(std::shared_ptr< const Grid > g)
MaxTimestep max_timestep_impl(double t) const
void init_impl(const InputOptions &opts, const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation)
Initialize from the context (input file and the "variables" database).
void bootstrap_impl(const array::Scalar &bed_elevation, const array::Scalar &bed_uplift, const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation)
array::Scalar m_load_last
last ice load (ice-equivalent thickness)
MaxTimestep max_timestep_impl(double t) const
virtual ~PointwiseIsostasy()=default
PointwiseIsostasy(std::shared_ptr< const Grid > g)
void update_impl(const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation, double t, double dt)
Updates the pointwise isostasy model.
void init_impl(const InputOptions &opts, const array::Scalar &ice_thickness, const array::Scalar &sea_level_elevation)
Initialize from the context (input file and the "variables" database).
Point-wise isostasy bed deformation model.
double compute_load(double bed, double ice_thickness, double sea_level, double ice_density, double ocean_density)
std::map< std::string, Diagnostic::Ptr > DiagnosticList