20 #include "pism/util/Component.hh"
31 namespace stressbalance {
41 std::shared_ptr<const stressbalance::StressBalance> stress_balance);
48 void update(
double t,
double dt,
70 void initialize(
const File &input_file,
int record,
bool use_interpolation);
76 std::shared_ptr<array::Array3D>
m_tmp;
std::shared_ptr< const Grid > grid() const
A class defining a common interface for most PISM sub-models.
High-level PISM I/O class.
std::shared_ptr< array::Array3D > m_layer_thickness
isochronal layer thicknesses
void bootstrap(const array::Scalar &ice_thickness)
MaxTimestep max_timestep_deposition_times(double t) const
void update(double t, double dt, const array::Array3D &u, const array::Array3D &v, const array::Scalar &ice_thickness, const array::Scalar &top_surface_mass_balance, const array::Scalar &bottom_surface_mass_balance)
MaxTimestep max_timestep_impl(double t) const
std::shared_ptr< array::Array3D > m_tmp
temporary storage needed for time stepping
void write_model_state_impl(const File &output) const
std::shared_ptr< const stressbalance::StressBalance > m_stress_balance
Isochrones(std::shared_ptr< const Grid > grid, std::shared_ptr< const stressbalance::StressBalance > stress_balance)
DiagnosticList diagnostics_impl() const
size_t m_top_layer_index
The index of the topmost isochronal layer.
double top_layer_deposition_time() const
void define_model_state_impl(const File &output) const
void restart(const File &input_file, int record)
virtual ~Isochrones()=default
const array::Array3D & layer_thicknesses() const
void initialize(const File &input_file, int record, bool use_interpolation)
MaxTimestep max_timestep_cfl() const
Combines the max. time step with the flag indicating if a restriction is active. Makes is possible to...
A virtual class collecting methods common to ice and bedrock 3D fields.
The class defining PISM's interface to the shallow stress balance code.
std::map< std::string, Diagnostic::Ptr > DiagnosticList