19 #ifndef __PISMOceanModel_hh
20 #define __PISMOceanModel_hh
24 #include "pism/util/Component.hh"
36 OceanModel(std::shared_ptr<const Grid>
g, std::shared_ptr<OceanModel> input);
79 double water_density,
double standard_gravity,
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...
std::shared_ptr< OceanModel > m_input_model
virtual MaxTimestep max_timestep_impl(double t) const
const array::Scalar & shelf_base_mass_flux() const
std::shared_ptr< array::Scalar > m_water_column_pressure
virtual void define_model_state_impl(const File &output) const
The default (empty implementation).
static std::shared_ptr< array::Scalar > allocate_shelf_base_temperature(std::shared_ptr< const Grid > g)
static std::shared_ptr< array::Scalar > allocate_shelf_base_mass_flux(std::shared_ptr< const Grid > g)
const array::Scalar & average_water_column_pressure() const
static std::shared_ptr< array::Scalar > allocate_water_column_pressure(std::shared_ptr< const Grid > g)
virtual DiagnosticList diagnostics_impl() const
virtual TSDiagnosticList ts_diagnostics_impl() const
void update(const Geometry &geometry, double t, double dt)
virtual const array::Scalar & shelf_base_temperature_impl() const
virtual const array::Scalar & shelf_base_mass_flux_impl() const
virtual void init_impl(const Geometry &geometry)
void init(const Geometry &geometry)
virtual void write_model_state_impl(const File &output) const
The default (empty implementation).
virtual ~OceanModel()=default
OceanModel(std::shared_ptr< const Grid > g, std::shared_ptr< OceanModel > input)
virtual void update_impl(const Geometry &geometry, double t, double dt)
virtual const array::Scalar & average_water_column_pressure_impl() const
const array::Scalar & shelf_base_temperature() const
A very rudimentary PISM ocean model.
bool ocean(int M)
An ocean cell (floating ice or ice-free).
void compute_average_water_column_pressure(const Geometry &geometry, double ice_density, double water_density, double g, array::Scalar &result)
std::map< std::string, TSDiagnostic::Ptr > TSDiagnosticList
std::map< std::string, Diagnostic::Ptr > DiagnosticList