|
8 | 8 | from ..utilities import match_args_return, strip_mask, read_data |
9 | 9 |
|
10 | 10 | __all__ = ['deltaSA_atlas', |
| 11 | + 'enthalpy_SSO_0', |
11 | 12 | 'enthalpy_SSO_0_p', |
12 | 13 | 'entropy_part', |
13 | 14 | 'entropy_part_zerop', |
|
24 | 25 | 'SP_from_SA_Baltic'] |
25 | 26 |
|
26 | 27 |
|
| 28 | +h006 = -2.1078768810e-9 |
| 29 | +h007 = 2.8019291329e-10 |
| 30 | + |
| 31 | + |
27 | 32 | class SA_table(object): |
28 | 33 | """ |
29 | 34 | TODO: Write docstring. |
@@ -694,6 +699,52 @@ def enthalpy_SSO_0_CT25(p): |
694 | 699 | return np.ma.array(enthalpy_SSO_0_CT25, mask=mask, copy=False) |
695 | 700 |
|
696 | 701 |
|
| 702 | +def enthalpy_SSO_0(p): |
| 703 | + """ |
| 704 | + Enthalpy at SSO and CT(T=0) (75-term equation) |
| 705 | +
|
| 706 | + This function calculates enthalpy at the Standard Ocean Salinty, SSO, |
| 707 | + and at a Conservative Temperature of zero degrees C, as a function of |
| 708 | + pressure, p, in dbar, using a streamlined version of the 75-term |
| 709 | + computationally-efficient expression for specific volume, that is, a |
| 710 | + streamlined version of the code "enthalpy(SA,CT,p)". |
| 711 | +
|
| 712 | + Parameters |
| 713 | + ---------- |
| 714 | + p : array_like |
| 715 | + pressure [dbar] |
| 716 | +
|
| 717 | + Returns |
| 718 | + ------- |
| 719 | + enthalpy_SSO_0 : array_like |
| 720 | + enthalpy at (SSO, CT=0, p) |
| 721 | + [J kg :sup:`-1`] |
| 722 | +
|
| 723 | + Examples |
| 724 | + -------- |
| 725 | + >>> import gsw |
| 726 | + >>> p = np.array([10, 50, 125, 250, 600, 1000]) |
| 727 | + >>> gsw.library.enthalpy_SSO_0(p) |
| 728 | + array([ 97.26388583, 486.27439853, 1215.47517122, 2430.24907325, |
| 729 | + 5827.90879421, 9704.32030926]) |
| 730 | +
|
| 731 | + References |
| 732 | + ---------- |
| 733 | + .. [1] Roquet, F., G. Madec, T.J. McDougall, P.M. Barker, 2015: Accurate |
| 734 | + polynomial expressions for the density and specifc volume of |
| 735 | + seawater using the TEOS-10 standard. Ocean Modelling. |
| 736 | + """ |
| 737 | + |
| 738 | + z = p * 1e-4 |
| 739 | + |
| 740 | + dynamic_enthalpy_SSO_0_p = z * (9.726613854843870e-4 + z * ( |
| 741 | + -2.252956605630465e-5 + z * (2.376909655387404e-6 + z * ( |
| 742 | + -1.664294869986011e-7 + z * (-5.988108894465758e-9 + z * ( |
| 743 | + h006 + h007 * z)))))) |
| 744 | + |
| 745 | + return dynamic_enthalpy_SSO_0_p * db2Pascal * 1e4 |
| 746 | + |
| 747 | + |
697 | 748 | # FIXME: Check if this is still used and remove it. |
698 | 749 | def enthalpy_SSO_0_p(p): |
699 | 750 | """ |
|
0 commit comments