PISM, A Parallel Ice Sheet Model
stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
|
◆ enthalpy_permissive()
Compute enthalpy more permissively than enthalpy(). Computes enthalpy from absolute temperature, liquid water fraction, and pressure. Use this form of enthalpy() when outside sources (e.g. information from a coupler) might generate a temperature above the pressure melting point or generate cold ice with a positive water fraction. Treats temperatures above pressure-melting point as at the pressure-melting point. Interprets contradictory case of \(T < T_m(p)\) and \(\omega > 0\) as cold ice, ignoring the water fraction ( \(\omega\)) value. Calls enthalpy(), which validates its inputs. Computes: \[ E = \begin{cases} E(T,0.0,p), & T < T_m(p) \quad \text{and} \quad \omega \ge 0, \\ E(T_m(p),\omega,p), & T \ge T_m(p) \quad \text{and} \quad \omega \ge 0, \end{cases} \] but ensures \( 0 \le \omega \le 1 \) in second case. Calls enthalpy() for \( E(T,\omega,p) \). Definition at line 273 of file EnthalpyConverter.cc. References enthalpy(), pism::array::max(), melting_temperature(), and pism::array::min(). Referenced by pism::enthalpy_from_temperature_cold(). |