netxsimdg
Loading...
Searching...
No Matches
UnescoFreezing.hpp
Go to the documentation of this file.
1
8#ifndef SRC_INCLUDE_UNESCOFREEZING_HPP
9#define SRC_INCLUDE_UNESCOFREEZING_HPP
10
11#include <cmath>
12
13#include "IFreezingPoint.hpp"
14
15namespace Nextsim {
16
18// seawater.
20public:
29 inline double operator()(double sss) const override
30 {
31 // Fofonoff and Millard, Unesco technical papers in marine science 44, (1983)
32 const double a0 = -0.0575;
33 const double a1 = +1.710523e-3;
34 const double a2 = -2.154996e-4;
35 const double b = -7.53e-4;
36 const double p0 = 0; // Zero hydrostatic pressure
37
38 return sss * (a0 + a1 * std::sqrt(sss) + a2 * sss) + b * p0;
39 }
40};
41}
42
43#endif /* SRC_INCLUDE_UNESCOFREEZING_HPP */
The interface class for calculation of the freezing point of seawater.
The implementation class of the UNESCO model of the freezing point of.
double operator()(double sss) const override
Calculates the freezing point of seawater.