23 #include "pism/coupler/ocean/PicoPhysics.hh"
25 #include "pism/util/ConfigInterface.hh"
97 TocBox1 result = {
false, 0.0 };
107 double D = 0.25 * p * p - q;
115 result.
value = Toc_box0 - (-0.5 * p + sqrt(
D));
120 double PicoPhysics::Toc(
double area,
double temperature,
double T_star,
double overturning,
double salinity)
const {
134 double PicoPhysics::Soc(
double salinity,
double temperature_in_boundary,
double Toc)
const {
136 return salinity - salinity * (temperature_in_boundary -
Toc) / (
m_nu *
m_lambda);
double get_number(const std::string &name, UseFlag flag=REMEMBER_THIS_USE) const
A class for storing and accessing PISM configuration flags and parameters.
double pressure(double ice_thickness) const
double overturning_coeff() const
double ice_density() const
TocBox1 Toc_box1(double area, double T_star, double Soc_box0, double Toc_box0) const
double Toc(double box_area, double temperature, double T_star, double overturning, double salinity) const
double m_continental_shelf_depth
double continental_shelf_depth() const
double p_coeff(double g1, double s1) const
double melt_rate(double pm_point, double Toc) const
equation 8 in the PICO paper.
double overturning(double Soc_box0, double Soc, double Toc_box0, double Toc) const
equation 3 in the PICO paper. See also equation 4.
double theta_pm(double salinity, double pressure) const
double Soc_box1(double Toc_box0, double Soc_box0, double Toc) const
double T_pm(double salinity, double pressure) const
double melt_rate_beckmann_goosse(double pot_pm_point, double Toc) const
Beckmann & Goosse meltrate.
double T_star(double salinity, double temperature, double pressure) const
See equation A6 and lines before in PICO paper.
double m_sea_water_density
double m_overturning_coeff
PicoPhysics(const Config &config)
double Soc(double salinity, double temperature, double Toc) const
bool ocean(int M)
An ocean cell (floating ice or ice-free).