20 #ifndef STEADY_STATE_H
21 #define STEADY_STATE_H
23 #include "pism/hydrology/NullTransport.hh"
28 class EmptyingProblem;
42 void init_time(
const std::string &input_file);
High-level PISM I/O class.
Combines the max. time step with the flag indicating if a restriction is active. Makes is possible to...
double m_update_interval
Update interval in seconds.
virtual ~SteadyState()=default
void init_time(const std::string &input_file)
void write_model_state_impl(const File &output) const
The default (empty implementation).
double m_t_last
time of the last water flux update
void update_impl(double t, double dt, const Inputs &inputs)
Solves an implicit step of a highly-simplified ODE.
std::vector< double > m_time_bounds
Time bounds corresponding to records in the input file.
MaxTimestep max_timestep_impl(double t) const
std::string m_time_name
Name of the variable used to store the last update time.
void restart_impl(const File &input_file, int record)
bool m_bootstrap
Set to true in bootstrap_impl() if update_impl() has to bootstrap m_Q.
std::map< std::string, Diagnostic::Ptr > diagnostics_impl() const
std::shared_ptr< EmptyingProblem > m_emptying_problem
void define_model_state_impl(const File &output) const
The default (empty implementation).
std::vector< double > m_time
Times corresponding to records in the input file.
void initialization_message() const
SteadyState(std::shared_ptr< const Grid > g)
void bootstrap_impl(const File &input_file, const array::Scalar &ice_thickness)
void init_impl(const array::Scalar &W_till, const array::Scalar &W, const array::Scalar &P)
double m_t_eps
Temporal resolution to use when checking whether it's time to update.