19#ifndef __PISMOceanModel_hh
20#define __PISMOceanModel_hh
24#include "pism/util/Component.hh"
41 OceanModel(std::shared_ptr<const Grid>
g, std::shared_ptr<OceanModel> input);
49 void update(
const Inputs &geometry,
double t,
double dt);
67 virtual std::set<VariableMetadata>
state_impl()
const;
84 double water_density,
double standard_gravity,
A class defining a common interface for most PISM sub-models.
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
void update(const Inputs &geometry, double t, double dt)
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
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 void write_state_impl(const OutputFile &output) const
The default (empty implementation).
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)
virtual DiagnosticList spatial_diagnostics_impl() const
void init(const Geometry &geometry)
virtual ~OceanModel()=default
virtual const array::Scalar & average_water_column_pressure_impl() const
virtual TSDiagnosticList scalar_diagnostics_impl() const
virtual void update_impl(const Inputs &inputs, double t, double dt)
virtual std::set< VariableMetadata > state_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 standard_gravity, array::Scalar &result)
std::map< std::string, TSDiagnostic::Ptr > TSDiagnosticList
std::map< std::string, Diagnostic::Ptr > DiagnosticList