19 #ifndef PISM_PYOCEANMODEL_H
20 #define PISM_PYOCEANMODEL_H
22 #include "pism/coupler/ocean/CompleteOceanModel.hh"
43 void allocate(std::shared_ptr<const Grid> grid);
60 virtual void update(
const Geometry &geometry,
double t,
double dt);
92 std::shared_ptr<PyOceanModel>
m_impl;
std::shared_ptr< const Grid > grid() const
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 ~PyOceanModelAdapter()=default
void update_impl(const Geometry &geometry, double my_t, double my_dt)
void init_impl(const Geometry &geometry)
PyOceanModelAdapter(std::shared_ptr< const Grid > grid, std::shared_ptr< PyOceanModel > implementation)
MaxTimestep max_timestep_impl(double t) const
void write_model_state_impl(const File &output) const
The default (empty implementation).
void define_model_state_impl(const File &output) const
The default (empty implementation).
std::shared_ptr< PyOceanModel > m_impl
The adapter class for Python ocean models.
virtual ~PyOceanModel()=default
virtual void init(const Geometry &geometry)
virtual void write_model_state(const File &output) const
virtual void update(const Geometry &geometry, double t, double dt)
virtual MaxTimestep max_timestep(double t) const
std::shared_ptr< pism::array::Scalar > shelf_base_temperature
virtual void define_model_state(const File &output) const
std::shared_ptr< array::Scalar > water_column_pressure
std::shared_ptr< array::Scalar > shelf_base_mass_flux
void allocate(std::shared_ptr< const Grid > grid)
bool ocean(int M)
An ocean cell (floating ice or ice-free).