19 #ifndef __PISMFrontalMelt_hh
20 #define __PISMFrontalMelt_hh
24 #include "pism/util/Component.hh"
40 namespace frontalmelt {
46 FrontalMelt(std::shared_ptr<const Grid>
g, std::shared_ptr<FrontalMelt> input);
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 const array::Scalar & frontal_melt_rate_impl() const =0
virtual MaxTimestep max_timestep_impl(double t) const
void init(const Geometry &geometry)
void update(const FrontalMeltInputs &inputs, double t, double dt)
void compute_retreat_rate(const Geometry &geometry, const array::Scalar &frontal_melt_rate, array::Scalar &result) const
std::shared_ptr< FrontalMelt > m_input_model
virtual DiagnosticList diagnostics_impl() const
virtual void update_impl(const FrontalMeltInputs &inputs, double t, double dt)
const array::Scalar & retreat_rate() const
bool apply(const array::CellType1 &M, int i, int j) const
FrontalMelt(std::shared_ptr< const Grid > g, std::shared_ptr< FrontalMelt > input)
virtual void define_model_state_impl(const File &output) const
The default (empty implementation).
const array::Scalar & frontal_melt_rate() const
virtual TSDiagnosticList ts_diagnostics_impl() const
bool m_include_floating_ice
virtual void init_impl(const Geometry &geometry)
virtual ~FrontalMelt()=default
virtual void write_model_state_impl(const File &output) const
The default (empty implementation).
array::Scalar m_retreat_rate
A very rudimentary PISM frontal melt model.
std::map< std::string, TSDiagnostic::Ptr > TSDiagnosticList
std::map< std::string, Diagnostic::Ptr > DiagnosticList