22#include "pism/coupler/ocean/CompleteOceanModel.hh"
29 GivenTH(std::shared_ptr<const Grid>
g);
69 double sea_water_potential_temperature,
double ice_thickness,
70 double *shelf_base_temperature_out,
71 double *shelf_base_melt_rate_out);
74 double sea_water_potential_temperature,
double ice_thickness,
75 double *shelf_base_salinity);
78 double sea_water_potential_temperature,
double ice_thickness,
79 double *shelf_base_salinity);
82 double sea_water_potential_temperature,
83 double ice_thickness,
double *shelf_base_salinity);
86 double sea_water_salinity,
87 double sea_water_potential_temperature,
88 double ice_thickness,
double *shelf_base_salinity);
A class for storing and accessing PISM configuration flags and parameters.
Combines the max. time step with the flag indicating if a restriction is active. Makes is possible to...
double gamma_S
Turbulent salt transfer coefficient:
double ice_thermal_diffusivity
double water_latent_heat_fusion
double shelf_top_surface_temperature
double ice_specific_heat_capacity
bool limit_salinity_range
double sea_water_specific_heat_capacity
double gamma_T
Turbulent heat transfer coefficient:
virtual ~GivenTH()=default
static void subshelf_salinity_diffusion_only(const Constants &constants, double sea_water_salinity, double sea_water_potential_temperature, double ice_thickness, double *shelf_base_salinity)
Compute basal salinity in the case of no basal melt and no freeze-on, with the diffusion-only tempera...
static void subshelf_salinity_melt(const Constants &constants, double sea_water_salinity, double sea_water_potential_temperature, double ice_thickness, double *shelf_base_salinity)
std::shared_ptr< array::Forcing > m_salinity_ocean
std::shared_ptr< array::Forcing > m_theta_ocean
static void subshelf_salinity_freeze_on(const Constants &constants, double sea_water_salinity, double sea_water_potential_temperature, double ice_thickness, double *shelf_base_salinity)
MaxTimestep max_timestep_impl(double t) const
static void pointwise_update(const Constants &constants, double sea_water_salinity, double sea_water_potential_temperature, double ice_thickness, double *shelf_base_temperature_out, double *shelf_base_melt_rate_out)
Compute temperature and melt rate at the base of the shelf. Based on [HellmerOlbers1989] and [Holland...
static void subshelf_salinity(const Constants &constants, double sea_water_salinity, double sea_water_potential_temperature, double ice_thickness, double *shelf_base_salinity)
Compute the basal salinity and make sure that it is consistent with the basal melt rate.
void update_impl(const Geometry &geometry, double t, double dt)
void init_impl(const Geometry &geometry)
bool ocean(int M)
An ocean cell (floating ice or ice-free).