19 #include "pism/coupler/ocean/GivenClimate.hh"
21 #include "pism/util/Grid.hh"
22 #include "pism/util/Time.hh"
24 #include "pism/coupler/util/options.hh"
25 #include "pism/util/array/Forcing.hh"
39 unsigned int buffer_size =
m_config->get_number(
"input.forcing.buffer_size");
60 .long_name(
"absolute temperature at ice shelf base")
64 .long_name(
"ice mass flux from ice shelf base (positive flux is loss from ice shelf)")
66 .output_units(
"kg m-2 year-1");
72 "* Initializing the ocean model reading base of the shelf temperature\n"
73 " and sub-shelf mass flux from a file...\n");
86 ice_density =
m_config->get_number(
"constants.ice.density"),
87 water_density =
m_config->get_number(
"constants.sea_water.density"),
88 g =
m_config->get_number(
"constants.standard_gravity");
107 ice_density =
m_config->get_number(
"constants.ice.density"),
108 water_density =
m_config->get_number(
"constants.sea_water.density"),
109 g =
m_config->get_number(
"constants.standard_gravity");
const Time & time() const
const Config::ConstPtr m_config
configuration database used by this component
const Logger::ConstPtr m_log
logger (for easy access)
const std::shared_ptr< const Grid > m_grid
grid used by this component
High-level PISM I/O class.
Combines the max. time step with the flag indicating if a restriction is active. Makes is possible to...
Given(std::shared_ptr< const Grid > g)
std::shared_ptr< array::Forcing > m_shelfbmassflux
std::shared_ptr< array::Scalar > m_shelf_base_temperature
std::shared_ptr< array::Scalar > m_shelf_base_mass_flux
void init_impl(const Geometry &geometry)
std::shared_ptr< array::Forcing > m_shelfbtemp
const array::Scalar & shelf_base_temperature_impl() const
MaxTimestep max_timestep_impl(double t) const
void update_impl(const Geometry &geometry, double t, double dt)
const array::Scalar & shelf_base_mass_flux_impl() 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)
void update(const Geometry &geometry, double t, double dt)
A very rudimentary PISM ocean model.
@ PISM_READONLY
open an existing file for reading only
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)