<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" dtd-version="3.0"><?xmltex \makeatother\@nolinetrue\makeatletter?>
  <front>
    <journal-meta>
<journal-id journal-id-type="publisher">BG</journal-id>
<journal-title-group>
<journal-title>Biogeosciences</journal-title>
<abbrev-journal-title abbrev-type="publisher">BG</abbrev-journal-title>
<abbrev-journal-title abbrev-type="nlm-ta">Biogeosciences</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub">1726-4189</issn>
<publisher><publisher-name>Copernicus GmbH</publisher-name>
<publisher-loc>Göttingen, Germany</publisher-loc>
</publisher>
</journal-meta>

    <article-meta>
      <article-id pub-id-type="doi">10.5194/bg-12-1483-2015</article-id><title-group><article-title><?xmltex \hack{\vspace{6mm}}?>Comparison of ten packages that compute ocean <?xmltex \hack{\newline}?>carbonate chemistry</article-title>
      </title-group><?xmltex \runningtitle{Comparison of ocean carbonate chemistry packages}?><?xmltex \runningauthor{J.~C.~Orr et~al.}?>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Orr</surname><given-names>J. C.</given-names></name>
          <email>james.orr@lsce.ipsl.fr</email>
        <ext-link>https://orcid.org/0000-0002-8707-7080</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Epitalon</surname><given-names>J.-M.</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3 aff4">
          <name><surname>Gattuso</surname><given-names>J.-P.</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-4533-4114</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>LSCE/IPSL, Laboratoire des Sciences du Climat et de l'Environnement,
CEA-CNRS-UVSQ, Gif-sur-Yvette, France</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Geoscientific Programming Services, Fanjeaux, France</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>CNRS-INSU, Laboratoire d'Océanographie de Villefrance, Villefranche-sur-mer, France</institution>
        </aff>
        <aff id="aff4"><label>4</label><institution>Sorbonne Universités, UPMC Univ. Paris 06, Observatoire Océanologique, Villefranche-sur-mer, France</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">J. C. Orr (james.orr@lsce.ipsl.fr)</corresp></author-notes><pub-date><day>9</day><month>March</month><year>2015</year></pub-date>
      
      <volume>12</volume>
      <issue>5</issue>
      <fpage>1483</fpage><lpage>1510</lpage>
      <history>
        <date date-type="received"><day>24</day><month>March</month><year>2014</year></date>
           <date date-type="rev-request"><day>4</day><month>April</month><year>2014</year></date>
           <date date-type="rev-recd"><day>24</day><month>January</month><year>2015</year></date>
           <date date-type="accepted"><day>31</day><month>January</month><year>2015</year></date>
           
      </history>
      <permissions>
<license license-type="open-access">
<license-p>This work is licensed under a Creative Commons Attribution 3.0 Unported License. To view a copy of this license, visit <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/3.0/">http://creativecommons.org/licenses/by/3.0/</ext-link></license-p>
</license>
</permissions><self-uri xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015.html">This article is available from https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015.html</self-uri>
<self-uri xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015.pdf">The full text article is available as a PDF file from https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015.pdf</self-uri>


      <abstract>
    <p>Marine scientists often use two measured or modeled carbonate system
variables to compute others.  These carbonate chemistry
calculations, based on well-known thermodynamic equilibria, are now
available in a dozen public packages.  Ten of those were compared
using common input data and the set of equilibrium constants
recommended for best practices.  Current versions of all 10 packages
agree within 0.2 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">µ</mml:mi></mml:math></inline-formula>atm for <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, 0.0002 units
for pH, and 0.1 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">µ</mml:mi></mml:math></inline-formula>mol kg<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> for <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> in
terms of surface zonal-mean values. That represents more than a
10-fold improvement relative to outdated versions of the same
packages.  Differences between packages grow with depth for some
computed variables but remain small.  Discrepancies derive largely
from differences in equilibrium constants.  Analysis of the
sensitivity of each computed variable to changes in each constant
reveals the general dominance of <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
but also the comparable sensitivity to <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> for the
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> input pair.  Best-practice
formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> are implemented
consistently among packages.  Yet with more recent formulations
designed to cover a wider range of salinity, packages disagree by up
to 8 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">µ</mml:mi></mml:math></inline-formula>atm in <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, 0.006 units in pH, and
1 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">µ</mml:mi></mml:math></inline-formula>mol kg<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> under typical surface
conditions.  They use different proposed sets of coefficients for
these formulations, all of which are inconsistent.  Users would do
well to use up-to-date versions of packages and the constants
recommended for best practices.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <title>Introduction</title>
      <p>Our ability to assess ocean carbon uptake and associated impacts from
ocean acidification relies on an accurate representation of the marine
carbonate system.  Fortunately, the seawater carbonate system is well
constrained, allowing any two of its variables to be used to calculate
all others, given associated temperature <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, salinity <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>, pressure
<inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>, and nutrient concentrations.  For example, it is common to
measure or simulate two conservative variables, dissolved inorganic
carbon <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and total alkalinity <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and then
compute from associated thermodynamics the corresponding pH, partial
pressure of carbon dioxide <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, concentrations of aqueous
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> as well as carbonate <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> and
bicarbonate <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HCO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> ions, and the related Revelle factor and
saturation states of aragonite <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and calcite
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.  It is the <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>-driven changes in these
variables that drive the biological impacts from ocean acidification
<xref ref-type="bibr" rid="bib1.bibx16 bib1.bibx27 bib1.bibx65" id="paren.1"/> and degrade most the
ocean's capacity to absorb <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> <xref ref-type="bibr" rid="bib1.bibx60 bib1.bibx45" id="paren.2"/>.</p>
      <p>These equilibrium computations are made with numerous software
packages, either those developed and used by individual scientists or,
more commonly, those that have been made available publicly.  The
latter have become indispensable for many ocean scientists, whether
they study marine chemistry or impacts of ocean acidification on
marine biota. Yet how packages differ is seldom addressed.
<xref ref-type="bibr" rid="bib1.bibx29" id="text.3"/> documented differences in basic variables among
three existing packages at a time when no such package was publicly
available.  Provided with the same input, computed output from the
three packages differed by 21 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>,
0.16 units for pH, and 15 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> as well as <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HCO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>.  Packages used
different pH scales, different formulations for some of the constants
(<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>), and different
definitions of total alkalinity, all apparently hard-coded. These
differences prompted <xref ref-type="bibr" rid="bib1.bibx29" id="text.4"/> to develop a publicly
available package, CO2SYS, which provides many options to select from
the available pH scales and constants while being based primarily on
recommendations from <xref ref-type="bibr" rid="bib1.bibx8" id="text.5"/>.  Since that time, other
packages have also been developed and released publicly, yet to this
day no study has been published that compares their results.  One may
assume, given continued efforts to establish and refine procedures for
best practices <xref ref-type="bibr" rid="bib1.bibx8 bib1.bibx12 bib1.bibx7" id="paren.6"/>, that
differences among currently available packages are less than what was
found 17 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">years</mml:mi></mml:math></inline-formula> ago. But even that poor level of agreement has
not been established.  A quantitative understanding of the
accuracy and precision of these packages is needed to rigorously compare
studies that aim to assess, e.g., air–sea <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> fluxes and
thresholds associated with ocean acidification.</p>
      <p>Ten publicly available software packages were included in this
comparison.  The first was CO2SYS, but that now exists in four
different variants: the original program written in QBasic and running
on DOS <xref ref-type="bibr" rid="bib1.bibx29" id="paren.7"/>, two variants as Excel spreadsheets
<xref ref-type="bibr" rid="bib1.bibx53 bib1.bibx51" id="paren.8"/>, and most recently a variant as
MATLAB scripts <?xmltex \hack{\mbox\bgroup}?><xref ref-type="bibr" rid="bib1.bibx63" id="paren.9"/><?xmltex \hack{\egroup}?>. We will refer to these packages
as CO2SYS-QBasic, CO2SYS-Excel-Pierrot, CO2SYS-Excel-Pelletier, and
CO2SYS-MATLAB.
Another package, csys, was also written in MATLAB, but it was released
a decade earlier as a supplement to the book by <xref ref-type="bibr" rid="bib1.bibx66" id="text.10"/>.
The development of csys inspired seacarb, an R library <xref ref-type="bibr" rid="bib1.bibx55" id="paren.11"/>
released 2 years later <xref ref-type="bibr" rid="bib1.bibx54" id="paren.12"/> and frequently improved with
new revisions <xref ref-type="bibr" rid="bib1.bibx18" id="paren.13"/>. About the same time as the release
of the two Excel variants of CO2SYS, the swco2 package was also
released with a similar spreadsheet interface but a distinct library
of core routines written in Visual Basic <xref ref-type="bibr" rid="bib1.bibx24" id="paren.14"/>.  Three
years later, oceanographers saw the release of two new carbonate
chemistry packages, CO2calc and ODV, both of which also exploit the
core CO2SYS code. While CO2calc provided a new tool for Mac, PC, and
iOS <xref ref-type="bibr" rid="bib1.bibx58" id="paren.15"/>, ODV provided carbonate chemistry
calculations as an add-on to an already widely used visualization and
analysis tool <xref ref-type="bibr" rid="bib1.bibx61" id="paren.16"/>.  Parallel to those developments
for the observational and experimental communities, the Ocean
Carbon-Cycle Model Intercomparison Project (OCMIP) provided routines
to compute surface <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and air–sea <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> fluxes
from simulated <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
<xref ref-type="bibr" rid="bib1.bibx48" id="paren.17"/>. Those were adapted to include the full suite of
other carbonate system variables <xref ref-type="bibr" rid="bib1.bibx49" id="paren.18"/>, then later improved
and released publicly as the mocsy package <xref ref-type="bibr" rid="bib1.bibx47" id="paren.19"/>.  To
assess the consistency of these packages, we compared results
generated by running them with common sets of constants, pH scales,
and input data.</p>
      <p>Two other public packages, AquaEnv <xref ref-type="bibr" rid="bib1.bibx22" id="paren.20"/> and SolveSAPHE
<xref ref-type="bibr" rid="bib1.bibx44" id="paren.21"/>, were not included in this comparison.  AquaEnv
is particularly suited to aquatic chemical model generation in
freshwater and estuaries; however, we found it to be designed for
high-end users, e.g., finding no examples to quickly convert all of
its results from its default free hydrogen ion scale to the total
hydrogen ion scale, as recommend for best practices. SolveSAPHE
defines the state of the art for the algorithm used to solve the
pH-alkalinity equation because of its greater efficiency and
stability. It always converges even under extreme conditions. Its
solver routines have already been adopted by one of the packages
(mocsy 2.0), but SolveSAPHE itself does not provide an adequate user
interface for simple use, as needed for this comparison.</p>
      <p>We limit this study to package comparison.  For brevity, we avoid
redocumenting the associated approaches and algorithms, which are now
commonly used and for which abundant literature already exists
<xref ref-type="bibr" rid="bib1.bibx12 bib1.bibx44" id="paren.22"><named-content content-type="pre">e.g.,</named-content></xref>. Likewise, we do not
address the debate raised by <xref ref-type="bibr" rid="bib1.bibx23" id="text.23"/> concerning poor
agreement between measured <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and that computed from
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, a disaccord found to be worse than
in previous studies by marine chemists
<xref ref-type="bibr" rid="bib1.bibx31" id="paren.24"><named-content content-type="pre">e.g.,</named-content></xref>. Nonetheless, we go beyond simply
identifying differences between packages; we also seek to identify
their causes.  Our goal was to inspire subsequent package developments
while facilitating evaluation and tightening agreement.  Once packages
are shown to provide essentially the same results, they can be
legitimately chosen based on convenience, efficiency, functionality,
and a user's programming experience.  Some users may well prefer
spreadsheet-based programs (CO2SYS-Excel-Pierrot,
CO2SYS-Excel-Pelletier, CO2calc, and swco2). Others who use ODV for
general oceanographic data analysis and visualization can easily
compute carbonate system variables using its predefined
derived-variable facility. Users with some programming experience may
prefer packages that are available in languages that they are already
familiar with. They can choose from CO2SYS-MATLAB and csys in MATLAB,
seacarb in R, swco2 in Visual Basic, and mocsy in Fortran. Python
programmers can use either mocsy or seacarb.</p>
</sec>
<sec id="Ch1.S2">
  <title>Methods</title>
      <p>To compare all publicly available packages, our approach was to
install them in one location, define common input data and
constants, and use those with each package to generate a data archive
for centralized analysis.</p><?xmltex \hack{\newpage}?>
<sec id="Ch1.S2.SS1">
  <title>Packages and reference</title>
      <p>All publicly available software packages (Table <xref ref-type="table" rid="Ch1.T1"/>)
take two ocean carbonate system variables as input and compute the
others from basic thermodynamics.  All 10 packages were first
downloaded in November 2012.  Our earliest findings led developers to
update two packages (CO2calc and seacarb). Another three packages
(csys, mocsy, and CO2SYS-Excel-Pelletier) were updated following
publication of our discussion paper <xref ref-type="bibr" rid="bib1.bibx50" id="paren.25"/>.  Different
results from some older versions of these packages are briefly shown
in one figure to illustrate the discrepancies associated with running
software that is out of date. The remaining comparison refers only to
the latest version of each package.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T1"><caption><p>Carbonate system software packages.</p></caption><oasis:table frame="topbot"><?xmltex \begin{scaleboxenv}{.80}[.80]?><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1">Package</oasis:entry>  
         <oasis:entry colname="col2">Language</oasis:entry>  
         <oasis:entry colname="col3">Version</oasis:entry>  
         <oasis:entry colname="col4">Reference</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1">CO2SYS<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">QBasic</oasis:entry>  
         <oasis:entry colname="col3">1.05</oasis:entry>  
         <oasis:entry colname="col4"><xref ref-type="bibr" rid="bib1.bibx29" id="text.26"/></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2SYS<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">Excel</oasis:entry>  
         <oasis:entry colname="col3">24</oasis:entry>  
         <oasis:entry colname="col4"><xref ref-type="bibr" rid="bib1.bibx51" id="text.27"/></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2SYS<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">Excel</oasis:entry>  
         <oasis:entry colname="col3">2.1</oasis:entry>  
         <oasis:entry colname="col4"><xref ref-type="bibr" rid="bib1.bibx53" id="text.28"/></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2SYS<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">MATLAB</oasis:entry>  
         <oasis:entry colname="col3">1.1</oasis:entry>  
         <oasis:entry colname="col4"><xref ref-type="bibr" rid="bib1.bibx63" id="text.29"/></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2calc<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">Visual Basic</oasis:entry>  
         <oasis:entry colname="col3">1.3.0</oasis:entry>  
         <oasis:entry colname="col4"><xref ref-type="bibr" rid="bib1.bibx58" id="text.30"/></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">csys<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>d</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">MATLAB</oasis:entry>  
         <oasis:entry colname="col3">04–2014</oasis:entry>  
         <oasis:entry colname="col4"><xref ref-type="bibr" rid="bib1.bibx66" id="text.31"/></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">ODV<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>e</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">C<inline-formula><mml:math display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mo>+</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3">4.5.0</oasis:entry>  
         <oasis:entry colname="col4"><xref ref-type="bibr" rid="bib1.bibx61" id="text.32"/></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">mocsy<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>f</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">Fortran 95</oasis:entry>  
         <oasis:entry colname="col3">2.0</oasis:entry>  
         <oasis:entry colname="col4"><xref ref-type="bibr" rid="bib1.bibx47" id="text.33"/></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">seacarb<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>g</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">R</oasis:entry>  
         <oasis:entry colname="col3">3.0.6</oasis:entry>  
         <oasis:entry colname="col4"><xref ref-type="bibr" rid="bib1.bibx18" id="text.34"/></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">swco2<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>h</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">Excel</oasis:entry>  
         <oasis:entry colname="col3">2</oasis:entry>  
         <oasis:entry colname="col4"><xref ref-type="bibr" rid="bib1.bibx24 bib1.bibx42" id="text.35"/></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">swco2<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>h</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">Visual Basic</oasis:entry>  
         <oasis:entry colname="col3">2</oasis:entry>  
         <oasis:entry colname="col4"><xref ref-type="bibr" rid="bib1.bibx24" id="text.36"/></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup><?xmltex \end{scaleboxenv}?></oasis:table><table-wrap-foot><p>
<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> <uri>http://cdiac.ornl.gov/oceans/co2rprt.html</uri><?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> <uri>http://www.ecy.wa.gov/programs/eap/models.html</uri><?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula> <uri>http://pubs.usgs.gov/of/2010/1280/</uri><?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>d</mml:mtext></mml:msup></mml:math></inline-formula> <ext-link xlink:href="http://www.soest.hawaii.edu/oceanography/faculty/zeebe_files/CO2_System_in_Seawater/csys.html">http://www.soest.hawaii.edu</ext-link><?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>e</mml:mtext></mml:msup></mml:math></inline-formula> <uri>http://odv.awi.de/</uri><?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>f</mml:mtext></mml:msup></mml:math></inline-formula> <uri>http://ocmip5.ipsl.jussieu.fr/mocsy</uri> <?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>g</mml:mtext></mml:msup></mml:math></inline-formula> <uri>http://cran.r-project.org/package=seacarb</uri><?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>h</mml:mtext></mml:msup></mml:math></inline-formula> <uri>http://neon.otago.ac.nz/research/mfc/people/keith_hunter/software/swco2/</uri>
</p></table-wrap-foot></table-wrap>

      <p>To compare packages, it was necessary to define a common reference.
Although check values exist for most of the equilibrium constants
<xref ref-type="bibr" rid="bib1.bibx12" id="paren.37"/>, none are available for computed variables.
Hence we chose CO2SYS as a relative reference for three reasons: (1)
it was the first publicly available package; (2) its core routines
already serve as the base code for two other packages (CO2calc and
ODV); and (3) its documentation and code reveal the intense effort
that its developers have put into ferreting out the right coefficients
from the literature and the most appropriate version of formulations
for the constants.</p>
      <p>Our choice of the reference had to be refined, however, because, as
mentioned, CO2SYS comes in four variants: the original in QBasic running
on DOS <xref ref-type="bibr" rid="bib1.bibx29" id="paren.38"/>, two others that run with Excel
<xref ref-type="bibr" rid="bib1.bibx51 bib1.bibx53" id="paren.39"/>, and finally MATLAB code
<?xmltex \hack{\mbox\bgroup}?><xref ref-type="bibr" rid="bib1.bibx63" id="paren.40"/><?xmltex \hack{\egroup}?>.  The original variant is still used by some,
but it does not provide options to use formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from <xref ref-type="bibr" rid="bib1.bibx31" id="normal.41"/>, as recommended for best practices
<xref ref-type="bibr" rid="bib1.bibx12" id="paren.42"/>.  Thus, we reduced our choices for the reference
to the other three variants of CO2SYS (MATLAB and both Excel
variants), all of which provide options to use all constants
recommended for best practices (with one minor exception). All three
versions give nearly identical results
(Fig. <xref ref-type="fig" rid="Ch1.F1"/>). But they differ significantly from
the original version run with the closest substitutes for
<xref ref-type="bibr" rid="bib1.bibx31" id="author.43"/>'s <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, namely the previous refits
by <xref ref-type="bibr" rid="bib1.bibx9" id="text.44"/> of the same measured constants from
<xref ref-type="bibr" rid="bib1.bibx33" id="text.45"/> (DM87). With that older set of <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, however,
the original version produces results that match those from
the Excel-Pierrot version when also run with DM87.
Another requirement was efficiency, since one aspect of our comparison
required use of a global-scale input data set with nearly 1 million
records (Table <xref ref-type="table" rid="Ch1.T2"/>).  Thus we further narrowed our
choice of the reference to the most efficient variants, CO2SYS-MATLAB
and CO2SYS-Excel-Pelletier.  Finally, we chose CO2SYS-MATLAB as the
reference because it was the most efficient and because its source
code was easiest for us to inspect, modify, and rerun for sensitivity
tests.  This arbitrary choice of the relative reference was necessary
for our comparison, but it does not imply that the chosen reference is
necessarily error free.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F1" specific-use="star"><caption><p>Differences (<inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">Δ</mml:mi></mml:math></inline-formula>) between the variants of CO2SYS
relative to the reference MATLAB code for variables computed from
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>. Differences are shown across
ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (left), <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> (center), and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> (right) for
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> (middle), and pH
(bottom). The three most recent variants (MATLAB and both Excel
versions) are run with constants recommended for best practices
(BP). The QBasic variant does not offer the same <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, so
we used an earlier refit by <xref ref-type="bibr" rid="bib1.bibx9" id="text.46"/> of the same data
(DM87) and compared it to one Excel version also with DM87.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f01.pdf"/>

        </fig>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T2"><caption><p>Computational time required to process the GLODAP-WOA2009 gridded data product<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula>.</p></caption><oasis:table frame="topbot"><?xmltex \begin{scaleboxenv}{.90}[.90]?><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1">Package</oasis:entry>  
         <oasis:entry colname="col2">Total time</oasis:entry>  
         <oasis:entry colname="col3">Run time</oasis:entry>  
         <oasis:entry colname="col4">Write time</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1">swco2 (Excel)</oasis:entry>  
         <oasis:entry colname="col2">897.1</oasis:entry>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2calc</oasis:entry>  
         <oasis:entry colname="col2">91.2</oasis:entry>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">ODV</oasis:entry>  
         <oasis:entry colname="col2">73.3</oasis:entry>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">seacarb (R)<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">58.3</oasis:entry>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">swco2 (Visual Basic)</oasis:entry>  
         <oasis:entry colname="col2">28.0</oasis:entry>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">csys   (MATLAB)<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">7.7</oasis:entry>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2SYS (Excel-Pelletier)<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>d</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">7.2</oasis:entry>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2SYS (MATLAB)<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">5.9</oasis:entry>  
         <oasis:entry colname="col3">5.5</oasis:entry>  
         <oasis:entry colname="col4">0.4</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">mocsy (Fortran 95)</oasis:entry>  
         <oasis:entry colname="col2">0.5</oasis:entry>  
         <oasis:entry colname="col3">0.2</oasis:entry>  
         <oasis:entry colname="col4">0.3</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup><?xmltex \end{scaleboxenv}?></oasis:table><table-wrap-foot><p>
<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> Time required in minutes to treat 958 557 ocean grid points.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> Time does not include calculation of the Revelle factor.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula> Time for code run under octave; it may run faster under MATLAB.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>d</mml:mtext></mml:msup></mml:math></inline-formula> CO2SYS-Excel-Pelletier run on a 2.2 GHz Intel Core 2 duo T7500 under<?xmltex \hack{\\}?>Windows 7 and Excel 2007.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>e</mml:mtext></mml:msup></mml:math></inline-formula> All other packages run on a 2.0 GHz Intel Pentium dual-core T4200 under Linux or Windows Vista.
</p></table-wrap-foot></table-wrap>

</sec>
<sec id="Ch1.S2.SS2">
  <title>Features</title>
      <p>The 10 packages compute results from the same thermodynamic
equilibria, but software features differ, including available input
pairs, pH scales, and constants. Package diversity covers all commonly
used operating systems: all packages run on Windows, eight packages on
Mac OSX, and five packages on Linux and Unix
(Table <xref ref-type="table" rid="Ch1.T3"/>). Source code is available in seven
packages in standard programming languages (QBasic, Visual Basic,
MATLAB, R, Fortran 95), thereby allowing code validation and
improvements by users on all three operating systems mentioned
above. The number of possible input pairs of carbonate system
variables varies widely between packages, from 1 to 20
(Table <xref ref-type="table" rid="Ch1.T4"/>).  The mocsy package treats only one
input pair: <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, the two carbonate system
variables carried by models.  The four CO2SYS variants and its two
derivatives (CO2calc and ODV) allow the user to select from six
commonly measured pairs (<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH, and
pH–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>); in addition, they allow equivalent pairs where
<inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> replaces <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>.  The csys package provides
10 more input pairs by allowing pair members to include one or more of
the three inorganic carbon species <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HCO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>,
and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>.  Although the two former species can only be
calculated, promising new techniques are being developed to measure
the latter <xref ref-type="bibr" rid="bib1.bibx2 bib1.bibx32 bib1.bibx13" id="paren.47"/>.  Yet despite
csys's enhanced number of input pairs, it limits <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> to
be used as input only when combined with pH.  The two remaining
packages, seacarb and swco2, include the same 16 pairs as csys but
also add four others, all including <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T3" specific-use="star"><caption><p>Operating system and code details for each package.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="10">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:colspec colnum="6" colname="col6" align="center"/>
     <oasis:colspec colnum="7" colname="col7" align="center"/>
     <oasis:colspec colnum="8" colname="col8" align="center"/>
     <oasis:colspec colnum="9" colname="col9" align="center"/>
     <oasis:colspec colnum="10" colname="col10" align="center"/>
     <oasis:thead>
       <oasis:row>  
         <oasis:entry colname="col1"/>  
         <oasis:entry rowsep="1" namest="col2" nameend="col4">CO2SYS </oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1">OS &amp; details</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col2">QBasic</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col3">Excel<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col4">Matlab</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col5">CO2calc</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col6">ODV</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col7">csys</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col8">seacarb</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col9">swco2</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col10">mocsy</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1">Linux/Unix</oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">Windows</oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">Mac OS</oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">iOS</oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">Public source code</oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">User programmable</oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mrow><mml:msup><mml:mo>•</mml:mo><mml:mtext>c</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">Software platform</oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mrow><mml:msup><mml:mtext>E</mml:mtext><mml:mtext>d</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mrow><mml:msup><mml:mtext>M</mml:mtext><mml:mtext>b</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mrow><mml:msup><mml:mtext>M</mml:mtext><mml:mtext>b</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mrow><mml:msup><mml:mtext>R</mml:mtext><mml:mtext>f, h</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mrow><mml:msup><mml:mtext>E</mml:mtext><mml:mtext>e</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10">F<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext> g, h</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p>
<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> Both variants: CO2SYS-Excel-Pierrot and CO2SYS-Excel-Pelletier.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> Package runs under MATLAB (commercial software) or octave (free software).<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula> Spreadsheet interface is not code; core library is callable (Visual Basic) but not modifiable.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>d</mml:mtext></mml:msup></mml:math></inline-formula> Package runs under Excel.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>e</mml:mtext></mml:msup></mml:math></inline-formula> Package runs under Excel (commercial) or LibreOffice (free and open source).<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>f</mml:mtext></mml:msup></mml:math></inline-formula> Package runs under R.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>g</mml:mtext></mml:msup></mml:math></inline-formula> Fortran 95 code.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>h</mml:mtext></mml:msup></mml:math></inline-formula> Also runs under Python.
</p></table-wrap-foot></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T4" specific-use="star"><caption><p>Available input pairs for each package.</p></caption><oasis:table frame="topbot"><?xmltex \begin{scaleboxenv}{.95}[.95]?><oasis:tgroup cols="10">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:colspec colnum="6" colname="col6" align="center"/>
     <oasis:colspec colnum="7" colname="col7" align="center"/>
     <oasis:colspec colnum="8" colname="col8" align="center"/>
     <oasis:colspec colnum="9" colname="col9" align="center"/>
     <oasis:colspec colnum="10" colname="col10" align="center"/>
     <oasis:thead>
       <oasis:row>  
         <oasis:entry colname="col1"/>  
         <oasis:entry rowsep="1" namest="col2" nameend="col4">CO2SYS<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1">Pair</oasis:entry>  
         <oasis:entry colname="col2">QBasic</oasis:entry>  
         <oasis:entry colname="col3">Excel<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4">Matlab</oasis:entry>  
         <oasis:entry colname="col5">CO2calc<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6">ODV<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">csys</oasis:entry>  
         <oasis:entry colname="col8">seacarb<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9">swco2<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10">mocsy</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH</oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mtext>b</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HCO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH</oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mtext>b</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HCO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>–pH</oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HCO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">pH–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">pH–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mtext>b</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">pH–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HCO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mtext>b</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HCO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mtext>b</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HCO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup><?xmltex \end{scaleboxenv}?></oasis:table><?xmltex \begin{scaleboxenv}{.95}[.95]?><table-wrap-foot><p>
<?xmltex \hack{\vspace*{2mm}}?>
<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> Both variants: CO2SYS-Excel-Pierrot and CO2SYS-Excel-Pelletier.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> CO2SYS, CO2calc, and ODV also allow input pairs containing <inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> instead of <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula> seacarb and swco2 include user-callable functions to convert between <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></inline-formula>
</p></table-wrap-foot><?xmltex \end{scaleboxenv}?></table-wrap>

      <p>Computed variables are affected by the choice of the pH scale and the
constants.  All packages allow users to work on the total pH scale as
recommended for best practices (Table <xref ref-type="table" rid="Ch1.T5"/>) and
as used for this comparison. The mocsy package provides only the total
scale, while the others allow for conversion to the free scale.  The
others also allow users to work on the seawater scale except for
csys. The 4 CO2SYS variants as well as CO2calc and swco2 also offer
the NBS scale.  The choice of the pH scale affects the values of the
constants for which <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msup><mml:mi mathvariant="normal">H</mml:mi><mml:mo>+</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> is part of the equilibrium
equation. For <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, the CO2SYS variants and derivatives
offer a large range of choices (Table <xref ref-type="table" rid="Ch1.T6"/>).
Yet most of those may now be considered out of date, having been
replaced by more recent assessments, sometimes with some of the same
data. All packages except CO2SYS-QBasic offer the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
formulations from <xref ref-type="bibr" rid="bib1.bibx31" id="text.48"/>, as recommended for best
practices. Six packages also offer the most recent formulations for
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> that have been proposed as more appropriate for
low-salinity waters <xref ref-type="bibr" rid="bib1.bibx38" id="paren.49"/>. The formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from the two latter studies are used individually in this
comparison to assess associated differences between packages. For the
other constants, all packages provide the formulations recommended for
best practices, except for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, a difference shown later to
have no consequence.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T5" specific-use="star"><caption><p>Available pH scales for each package.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="10">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:colspec colnum="6" colname="col6" align="center"/>
     <oasis:colspec colnum="7" colname="col7" align="center"/>
     <oasis:colspec colnum="8" colname="col8" align="center"/>
     <oasis:colspec colnum="9" colname="col9" align="center"/>
     <oasis:colspec colnum="10" colname="col10" align="center"/>
     <oasis:thead>
       <oasis:row>  
         <oasis:entry colname="col1"/>  
         <oasis:entry rowsep="1" namest="col2" nameend="col4">CO2SYS </oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1">pH scale</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col2">QBasic</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col3">Excel<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col4">Matlab</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col5">CO2calc</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col6">ODV</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col7">csys</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col8">seacarb<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col9">swco2<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col10">mocsy</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1">NBS</oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">Free</oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">Total</oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">Seawater</oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">Convert pH between scales</oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">Convert <inline-formula><mml:math display="inline"><mml:mi>K</mml:mi></mml:math></inline-formula>s between scales</oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> Both variants: CO2SYS-Excel-Pierrot and CO2SYS-Excel-Pelletier.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> All packages convert pH and <inline-formula><mml:math display="inline"><mml:mi>K</mml:mi></mml:math></inline-formula>s between scales, internally.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula> Some packages have user-callable routines to make these conversions between
scales.</p></table-wrap-foot></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T6" specific-use="star"><caption><p>Available constants for each package.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="10">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:colspec colnum="6" colname="col6" align="center"/>
     <oasis:colspec colnum="7" colname="col7" align="center"/>
     <oasis:colspec colnum="8" colname="col8" align="center"/>
     <oasis:colspec colnum="9" colname="col9" align="center"/>
     <oasis:colspec colnum="10" colname="col10" align="center"/>
     <oasis:thead>
       <oasis:row>  
         <oasis:entry colname="col1"/>  
         <oasis:entry rowsep="1" namest="col2" nameend="col4">CO2SYS </oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1">Constant</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col2">QBasic</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col3">Excel<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col4">Matlab</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col5">CO2calc</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col6">ODV</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col7">csys</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col8">seacarb</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col9">swco2</oasis:entry>  <?xmltex \rotentry?>
         <oasis:entry colname="col10">mocsy</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">
                    <xref ref-type="bibr" rid="bib1.bibx31" id="paren.51"/>
                  </oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">
                    <xref ref-type="bibr" rid="bib1.bibx59" id="paren.52"/>
                  </oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">
                    <xref ref-type="bibr" rid="bib1.bibx19" id="paren.53"/>
                  </oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">
                    <xref ref-type="bibr" rid="bib1.bibx20 bib1.bibx21" id="paren.54"/>
                  <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">(<xref ref-type="bibr" rid="bib1.bibx33" id="altparen.55"/>)<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">
                    <xref ref-type="bibr" rid="bib1.bibx34" id="paren.56"/>
                  </oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">
                    <xref ref-type="bibr" rid="bib1.bibx40" id="paren.57"/>
                  </oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">
                    <xref ref-type="bibr" rid="bib1.bibx3" id="paren.58"/>
                  </oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">
                    <xref ref-type="bibr" rid="bib1.bibx39" id="paren.59"/>
                  </oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">
                    <xref ref-type="bibr" rid="bib1.bibx38" id="paren.60"/>
                  </oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>  <xref ref-type="bibr" rid="bib1.bibx64" id="paren.61"/></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>  <xref ref-type="bibr" rid="bib1.bibx6" id="paren.62"/></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>  <xref ref-type="bibr" rid="bib1.bibx52" id="paren.63"/></oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>  <xref ref-type="bibr" rid="bib1.bibx11" id="paren.64"/></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>  <xref ref-type="bibr" rid="bib1.bibx36" id="paren.65"/></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>  <xref ref-type="bibr" rid="bib1.bibx5" id="paren.66"/></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>  <xref ref-type="bibr" rid="bib1.bibx26" id="paren.67"/></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>3P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>  <xref ref-type="bibr" rid="bib1.bibx36" id="paren.68"/></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>  <xref ref-type="bibr" rid="bib1.bibx36" id="paren.69"/></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>  <xref ref-type="bibr" rid="bib1.bibx43" id="paren.70"/></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>  <xref ref-type="bibr" rid="bib1.bibx43" id="paren.71"/></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mo>•</mml:mo></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p>
<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> Both variants: CO2SYS-Excel-Pierrot and CO2SYS-Excel-Pelletier.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> Refit by <xref ref-type="bibr" rid="bib1.bibx9" id="text.50"/>.</p></table-wrap-foot></table-wrap>

      <p>Some packages also offer additional features. For example, CO2SYS
variants and CO2calc allow users to compute variables at a temperature
that differs from the in situ value. Some also distinguish different
components of total alkalinity, including those from total B, P, and
Si.  The seacarb package provides explicit functions to the user to
allow conversion of pH and constants between the free, total, and
seawater scales; other packages make such conversions internally but
do not provide user-callable functions. The seacarb package also
offers functions to help design perturbation experiments to
investigate effects of ocean acidification <xref ref-type="bibr" rid="bib1.bibx17" id="paren.72"/>. Two
packages, mocsy and seacarb, allow users to account for pressure
effects on subsurface <inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> following
<xref ref-type="bibr" rid="bib1.bibx64" id="text.73"/>; other packages neglect these pressure effects.</p>
</sec>
<sec id="Ch1.S2.SS3">
  <title>Input data</title>
      <p>To compare packages, we used two different kinds of input data.
A first analysis compared variables computed in each package as
a function of latitude and depth using as input the three-dimensional
gridded data products for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from the
Global Ocean Data Analysis Project <xref ref-type="bibr" rid="bib1.bibx25" id="paren.74"><named-content content-type="pre">GLODAP;</named-content></xref>
combined with comparable products from the 2009 World Ocean Atlas
(WOA2009) for <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> <xref ref-type="bibr" rid="bib1.bibx30" id="paren.75"/>, <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>
<xref ref-type="bibr" rid="bib1.bibx1" id="paren.76"/>, and concentrations of total dissolved inorganic
phosphorus <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and total dissolved inorganic silicon
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">Si</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <?xmltex \hack{\mbox\bgroup}?><xref ref-type="bibr" rid="bib1.bibx15" id="paren.77"/><?xmltex \hack{\egroup}?>.  We will refer to this combined
gridded input data as GLODAP-WOA2009.  A second analysis focused on
comparing packages while separating the effects of physical input
variables (<inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>) on computed variables.  For that, we
started with five commonly used input pairs:
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH,
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH.  Then for each pair, we computed the other
carbonate system variables over ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>, assuming
zero nutrient concentrations.  More precisely, all other carbonate
system variables were first calculated with one package (seacarb) from
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn>2300</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow><mml:mo>=</mml:mo><mml:mn>400</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> at global average surface conditions
(<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>18</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C, <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mn>35</mml:mn></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">db</mml:mi></mml:mrow></mml:math></inline-formula>).  Then two surface
data sets were produced for each pair (and each package) by varying
<inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>, individually, and recalculating all other carbonate
system variables from the fixed input pair. For the first, <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> was
varied from <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2 to 50 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C, while for the second <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> was
varied from 0 to 50. In both cases, pressure was held at 0 db. To
assess how packages differ below the surface, we used the same
approach, varying pressure between 0 and 10 000 db and maintaining
<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mn>35</mml:mn></mml:mrow></mml:math></inline-formula>. But pressure corrections are highly sensitive to temperature
(Sect. <xref ref-type="sec" rid="Ch1.S2.SS7"/>), so for each package we made two
data sets: (1) holding <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (typical of the deep open
ocean) and (2) holding <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>13</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (typical of deep waters of
the Mediterranean Sea).</p>
</sec>
<sec id="Ch1.S2.SS4">
  <title>Best-practices comparison</title>
      <p>Comparisons were made using the total pH scale and constants
recommended for best practices by <xref ref-type="bibr" rid="bib1.bibx12" id="text.78"/>. The
equilibrium constant for the solubility of <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> in seawater
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is from <xref ref-type="bibr" rid="bib1.bibx64" id="text.79"/>.  The equilibrium constants <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> are from <xref ref-type="bibr" rid="bib1.bibx31" id="text.80"/>, who refit the constants determined
by <xref ref-type="bibr" rid="bib1.bibx33" id="text.81"/> to the total pH scale. The formulation for
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is from <xref ref-type="bibr" rid="bib1.bibx6" id="text.82"/> and is also on the total
pH scale.  Formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>3P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> are from
<xref ref-type="bibr" rid="bib1.bibx36" id="text.83"/>, who provides equations for the seawater scale,
and those are converted to the total scale.  The formulation for
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is from <xref ref-type="bibr" rid="bib1.bibx6" id="text.84"/> on the free scale (see
above).  The solubility products for aragonite <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and for
calcite <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> are from <xref ref-type="bibr" rid="bib1.bibx43" id="text.85"/>.  All these are
equilibrium constants given in terms of concentrations, not
activities.  The only constant for which the formulation was not that
recommended by <xref ref-type="bibr" rid="bib1.bibx12" id="text.86"/> is <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, because that
best-practices formulation <xref ref-type="bibr" rid="bib1.bibx52" id="paren.87"/> is not offered by most
CO2SYS variants, CO2calc, nor ODV. Instead, we used the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
formulation by <xref ref-type="bibr" rid="bib1.bibx11" id="text.88"/> on the total scale, which is
offered by all packages and recommended by <xref ref-type="bibr" rid="bib1.bibx8" id="text.89"/>.
<xref ref-type="bibr" rid="bib1.bibx12" id="text.90"/> state that results from the two formulations are
in reasonable agreement.</p>
      <p>Additionally, all packages used consistent formulations for total
concentrations of boron <xref ref-type="bibr" rid="bib1.bibx62" id="paren.91"/>, sulfur
<xref ref-type="bibr" rid="bib1.bibx41" id="paren.92"/>, fluoride <xref ref-type="bibr" rid="bib1.bibx56" id="paren.93"/>, and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msup><mml:mi mathvariant="normal">Ca</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>+</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>
<xref ref-type="bibr" rid="bib1.bibx57" id="paren.94"/>, each proportional to salinity.  Nine packages
compute saturation states for aragonite <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and calcite
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from the product of the concentrations of
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msup><mml:mi mathvariant="normal">Ca</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>+</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> divided by the corresponding
solubility product, either for aragonite <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> or calcite
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> <xref ref-type="bibr" rid="bib1.bibx43" id="paren.95"/>, respectively. Only the csys package
does not provide output for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.  To
simplify comparison, most figures plot results as absolute differences:
computed values are shown after subtracting off corresponding
results from the reference.</p>
</sec>
<sec id="Ch1.S2.SS5">
  <title>Sensitivity tests</title>
      <p>The most extensive comparison was made with
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> as input, the only pair that is
available in all packages. With that pair, packages were also compared
in terms of how their computed variables were affected by nutrient
concentrations, i.e., by varying <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">Si</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> across
their observed ranges in the ocean. Additionally, the same pair was
used to quantify effects of two important developments since the best
practices were published in 2007.  For the first, we quantified
effects on computed variables of Lee's (<xref ref-type="bibr" rid="bib1.bibx28" id="year.96"/>)
assessment that the total boron concentration in the ocean may be
4 % larger than considered previously <xref ref-type="bibr" rid="bib1.bibx62" id="paren.97"/>. For
the second, we assessed impacts of using Millero's
(<xref ref-type="bibr" rid="bib1.bibx38" id="year.98"/>) new <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> formulations, which are
designed to cover a wider range of input <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> relative to the
intended range for recommended constants <xref ref-type="bibr" rid="bib1.bibx31" id="paren.99"/>.</p>
</sec>
<sec id="Ch1.S2.SS6">
  <title>Constants</title>
      <p>To better assess the most likely causes of differences in computed
carbonate system variables, we also compared associated constants.
For the four packages where source code was available and easily
modified (CO2SYS-MATLAB, csys, seacarb, mocsy), we used existing
routines or slightly modified versions to output all the constants for
the same physical input data (<inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>) that we used for
computing variables.  For CO2SYS-Excel-Pelletier, the constants are
also available. For swco2, we retrieved its constants using its
documented parameter numbers and its routine to extract anything with
a parameter number.  For packages where source code was not available,
we computed constants from output variables when possible. With
output from CO2calc and CO2SYS-Excel-Pierrot, we computed its <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>; from ODV output, we computed its <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="Ch1.S2.SS7">
  <title>Pressure corrections</title>
      <p>Until recently, no public package accounted for pressure effects on
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (needed to convert <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) and the
corresponding fugacity coefficient <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (needed to convert
<inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) as originally proposed <xref ref-type="bibr" rid="bib1.bibx64" id="paren.100"><named-content content-type="post">Eqs. 5
and 9</named-content></xref>.  Instead, the total pressure term in those
equations was simply assigned to be that of the atmosphere only (1 atm).
Hence, their computed subsurface <inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> may be considered as being referenced to the
surface. These pressure effects are accounted for, however, in the latest
versions of two packages, mocsy 2.0 and seacarb 3.0.6.  Both allow
users to compute <inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> in three ways:
(1) the same “common” approach that computes <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> with
total pressure of 1 atm and in situ <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, (2) the “potential”
approach that likewise uses atmospheric pressure only but also uses
potential temperature <inline-formula><mml:math display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula> instead of in situ <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, and (3) the
“in situ” approach that uses the true total pressure (atmospheric +
hydrostatic) and in situ <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>. Other packages offer only the first
approach.</p>
      <p>For the other equilibrium constants, all packages make pressure
corrections following the approach of <xref ref-type="bibr" rid="bib1.bibx36" id="text.101"/>. That is,
the effect of <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> on each equilibrium constant <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is given
by the equation

                <disp-formula id="Ch1.E1" content-type="numbered"><mml:math display="block"><mml:mrow><mml:mtext>ln</mml:mtext><mml:mfenced close=")" open="("><mml:msubsup><mml:mi>K</mml:mi><mml:mi>i</mml:mi><mml:mi>P</mml:mi></mml:msubsup><mml:mo>/</mml:mo><mml:msubsup><mml:mi>K</mml:mi><mml:mi>i</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mfenced><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mi>R</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mfenced><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mfenced open="(" close=")"><mml:mn>0.5</mml:mn><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi mathvariant="italic">κ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mi>R</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mfenced><mml:msup><mml:mi>P</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where the left-hand side contains the ratio between <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> at depth
(<inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> in bars) and at the surface (<inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> at 0 bars), <inline-formula><mml:math display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> is the gas
constant, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is temperature in K, <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the partial molal
volume, and <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi mathvariant="italic">κ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the change in compressibility. The
latter two variables differ for each constant and were fitted
empirically by <xref ref-type="bibr" rid="bib1.bibx36" id="text.102"/> to be quadratic in temperature:

                <disp-formula specific-use="align" content-type="numbered"><mml:math display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E2"><mml:mtd/><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>T</mml:mi><mml:mtext>c</mml:mtext></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msubsup><mml:mi>T</mml:mi><mml:mtext>c</mml:mtext><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E3"><mml:mtd/><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi mathvariant="italic">κ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi>T</mml:mi><mml:mtext>c</mml:mtext></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msubsup><mml:mi>T</mml:mi><mml:mtext>c</mml:mtext><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

            where <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mtext>c</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is temperature in <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C.  Some of these
original coefficients <xref ref-type="bibr" rid="bib1.bibx36" id="paren.103"><named-content content-type="post">Table 9</named-content></xref> contained
typographical errors as identified in the code and documentation of
CO2SYS-QBasic <xref ref-type="bibr" rid="bib1.bibx29" id="paren.104"><named-content content-type="post">Appendix</named-content></xref>. Nonetheless, these errors
have persisted in some of the packages as well as in the literature
<xref ref-type="bibr" rid="bib1.bibx37" id="paren.105"><named-content content-type="pre">e.g.,</named-content></xref>. To help amend this situation,
Table <xref ref-type="table" rid="Ch1.T7"/> lists these coefficients for each
constant where known errors have been corrected.  To determine the
fidelity of packages to this array of coefficients, we studied
available source code and evaluated patterns of discrepancies in
results by carrying out sensitivity tests to decipher fingerprints
characteristic of previous errors.</p>
      <p>Although the same approach is used by all packages to make pressure
adjustments (Eqs. <xref ref-type="disp-formula" rid="Ch1.E2"/> and
<xref ref-type="disp-formula" rid="Ch1.E3"/>), it is based on extremely limited data. Thus
it may not be particularly accurate.  For example for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>,
there are differences of 3 and 8% between adjusted values from
<xref ref-type="bibr" rid="bib1.bibx35" id="text.106"/> and data from <xref ref-type="bibr" rid="bib1.bibx4" id="text.107"/> for deep
water at 2<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C at 10000 dbar.  Although improving the accuracy
of the pressure adjustments to equilibrium constants should be a high
priority for future research, our aim here is to assess package
precision.</p>
</sec>
<sec id="Ch1.S2.SS8">
  <title>What is significant?</title>
      <p>If software packages with identical input cannot agree to within much
less than the measurement precision of a computed variable (e.g.,
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>), then their varied use would add substantially to the
total uncertainty.  To avoid this situation, it is necessary for these
tools to have a numerical precision that is far superior to the
measurement precision.  By numerical precision, we mean their
agreement, including all coding differences and errors as well as the
usually much smaller numerical round-off error.  Therefore, we
arbitrarily define the cutoff level for numerical precision to be 10
times smaller than the best measurement uncertainty
<xref ref-type="bibr" rid="bib1.bibx7" id="paren.108"><named-content content-type="post">Table 1.5</named-content></xref>. A package that agrees with a given
variable from the reference package within the numerical cutoff
specified in Table <xref ref-type="table" rid="Ch1.T8"/> will be referred to
here as having a negligible discrepancy relative to the reference;
conversely, a package with a greater difference for a given variable
will be considered to have a significant discrepancy.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <title>Results</title>
      <p>Because the CO2SYS variants agree so closely
(Fig. <xref ref-type="fig" rid="Ch1.F1"/>), subsequent comparison usually shows
results only for CO2SYS-MATLAB (our reference). Packages were compared
in terms of how computed variables differed with latitude and depth
(using global gridded data) and how individual physical variables and
chemical choices affected results (using simplified data). Packages
were also compared in terms of computational efficiency.</p>
<sec id="Ch1.S3.SS1">
  <title>Global gridded data</title>
      <p>In this section, all variables are computed from the GLODAP-WOA2009
gridded input data. With those data, we first compare two new
approaches to the common approach of computing subsurface
<inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, in two packages.  Then we expand
comparison to all packages and other variables.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T7" specific-use="star"><caption><p>Coefficients used in Eqs. (<xref ref-type="disp-formula" rid="Ch1.E2"/>) and  (<xref ref-type="disp-formula" rid="Ch1.E3"/>) to correct for effect of pressure on equilibrium constants.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mi>K</mml:mi></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>25.50</oasis:entry>  
         <oasis:entry colname="col3">0.1271</oasis:entry>  
         <oasis:entry colname="col4">0</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.00308</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.877 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>15.82</oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.0219</oasis:entry>  
         <oasis:entry colname="col4">0</oasis:entry>  
         <oasis:entry colname="col5">0.00113</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1.475 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>29.48</oasis:entry>  
         <oasis:entry colname="col3">0.1622</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.002608</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.00284</oasis:entry>  
         <oasis:entry colname="col6">0</oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>20.02</oasis:entry>  
         <oasis:entry colname="col3">0.1119</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.001409</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.00513</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.794 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>18.03</oasis:entry>  
         <oasis:entry colname="col3">0.0466</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.000316</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.00453</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.900 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>9.78</oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.0090</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.000942</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.00391</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.540 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>48.76</oasis:entry>  
         <oasis:entry colname="col3">0.5304</oasis:entry>  
         <oasis:entry colname="col4">0</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.01176</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>3.692 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>45.96</oasis:entry>  
         <oasis:entry colname="col3">0.5304</oasis:entry>  
         <oasis:entry colname="col4">0</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.01176</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>3.692 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>14.51</oasis:entry>  
         <oasis:entry colname="col3">0.1211</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.000321</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.00267</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.427 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>23.12</oasis:entry>  
         <oasis:entry colname="col3">0.1758</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.002647</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.00515</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.900 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>3P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>26.57</oasis:entry>  
         <oasis:entry colname="col3">0.2020</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.003042</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.00408</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.714 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>HS</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>14.80</oasis:entry>  
         <oasis:entry colname="col3">0.0020</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.000400</oasis:entry>  
         <oasis:entry colname="col5">0.00289</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.540 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:msub><mml:mtext>NH</mml:mtext><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>26.43</oasis:entry>  
         <oasis:entry colname="col3">0.0889</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.000905</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.00503</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.814 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>29.48</oasis:entry>  
         <oasis:entry colname="col3">0.1622</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.002608</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.00284</oasis:entry>  
         <oasis:entry colname="col6">0</oasis:entry>  
         <oasis:entry colname="col7">0</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p>
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>HS</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:msub><mml:mtext>NH</mml:mtext><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are the constants for dissociation of hydrogen sulfide and ammonium <xref ref-type="bibr" rid="bib1.bibx36" id="paren.109"/>;<?xmltex \hack{\\}?>other constants are defined in the text.
</p></table-wrap-foot></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T8"><caption><p>Desired measurement and numerical uncertainties.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row>  
         <oasis:entry colname="col1"/>  
         <oasis:entry rowsep="1" namest="col2" nameend="col3" align="center">Uncertainties </oasis:entry>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1">Variable</oasis:entry>  
         <oasis:entry colname="col2">Measurement</oasis:entry>  
         <oasis:entry colname="col3">Numerical</oasis:entry>  
         <oasis:entry colname="col4">Units</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">1</oasis:entry>  
         <oasis:entry colname="col3">0.1</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">1</oasis:entry>  
         <oasis:entry colname="col3">0.1</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">1</oasis:entry>  
         <oasis:entry colname="col3">0.1</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">1</oasis:entry>  
         <oasis:entry colname="col3">0.1</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">pH</oasis:entry>  
         <oasis:entry colname="col2">0.003</oasis:entry>  
         <oasis:entry colname="col3">0.0003</oasis:entry>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">0.002</oasis:entry>  
         <oasis:entry colname="col3">0.0002</oasis:entry>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">0.01</oasis:entry>  
         <oasis:entry colname="col3">0.001</oasis:entry>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">0.02</oasis:entry>  
         <oasis:entry colname="col3">0.002</oasis:entry>  
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (other)</oasis:entry>  
         <oasis:entry colname="col2">0.01</oasis:entry>  
         <oasis:entry colname="col3">0.001</oasis:entry>  
         <oasis:entry colname="col4"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p>The mocsy and seacarb packages offer the three approaches to compute
<inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (Sect. <xref ref-type="sec" rid="Ch1.S2.SS7"/>).
Both packages agree within 0.008% (0.03 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">µ</mml:mi></mml:math></inline-formula>atm at the
surface) for each approach for each of the two variables
(Tables <xref ref-type="table" rid="Ch1.T9"/> and <xref ref-type="table" rid="Ch1.T10"/>).  While the
two packages always compare well throughout the water column, the
three approaches diverge as depth increases, as detailed in our
companion paper for one package <xref ref-type="bibr" rid="bib1.bibx47" id="paren.110"><named-content content-type="post">Figs. 1 and 3</named-content></xref>.
Differences between common and potential <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> reach
7 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">µ</mml:mi></mml:math></inline-formula>atm at 5000 m, while differences between potential and
in situ <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> are much larger.  The latter is 5% greater
than the former at 100 m but 18 times larger at 5000 m.  Differences
between potential and in situ <inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> are smaller because they
involve pressure corrections only to <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and not <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Yet they
still differ by more than a factor of 2 at 5000 m.  Subsequent
comparison of <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> shows just the common approach, the only
one offered by all packages.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T9" specific-use="star"><caption><p>Oceanic <inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> from three approaches<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> in two packages.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="9">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="left"/>
     <oasis:colspec colnum="9" colname="col9" align="left"/>
     <oasis:thead>
       <oasis:row>  
         <oasis:entry colname="col1"/>  
         <oasis:entry rowsep="1" namest="col2" nameend="col3" align="center">Common </oasis:entry>  
         <oasis:entry rowsep="1" namest="col4" nameend="col5" align="center">Potential </oasis:entry>  
         <oasis:entry rowsep="1" namest="col6" nameend="col7" align="center">In situ </oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1">Depth (m)</oasis:entry>  
         <oasis:entry colname="col2">mocsy</oasis:entry>  
         <oasis:entry colname="col3">seacarb</oasis:entry>  
         <oasis:entry colname="col4">mocsy</oasis:entry>  
         <oasis:entry colname="col5">seacarb</oasis:entry>  
         <oasis:entry colname="col6">mocsy</oasis:entry>  
         <oasis:entry colname="col7">seacarb</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1">0</oasis:entry>  
         <oasis:entry colname="col2">331.99</oasis:entry>  
         <oasis:entry colname="col3">331.97</oasis:entry>  
         <oasis:entry colname="col4">331.99</oasis:entry>  
         <oasis:entry colname="col5">331.97</oasis:entry>  
         <oasis:entry colname="col6">331.99</oasis:entry>  
         <oasis:entry colname="col7">331.97</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">10</oasis:entry>  
         <oasis:entry colname="col2">332.17</oasis:entry>  
         <oasis:entry colname="col3">332.15</oasis:entry>  
         <oasis:entry colname="col4">332.16</oasis:entry>  
         <oasis:entry colname="col5">332.13</oasis:entry>  
         <oasis:entry colname="col6">332.62</oasis:entry>  
         <oasis:entry colname="col7">332.59</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">50</oasis:entry>  
         <oasis:entry colname="col2">348.50</oasis:entry>  
         <oasis:entry colname="col3">348.48</oasis:entry>  
         <oasis:entry colname="col4">348.42</oasis:entry>  
         <oasis:entry colname="col5">348.40</oasis:entry>  
         <oasis:entry colname="col6">350.85</oasis:entry>  
         <oasis:entry colname="col7">350.83</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">100</oasis:entry>  
         <oasis:entry colname="col2">399.82</oasis:entry>  
         <oasis:entry colname="col3">399.79</oasis:entry>  
         <oasis:entry colname="col4">399.65</oasis:entry>  
         <oasis:entry colname="col5">399.62</oasis:entry>  
         <oasis:entry colname="col6">405.28</oasis:entry>  
         <oasis:entry colname="col7">405.25</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">500</oasis:entry>  
         <oasis:entry colname="col2">628.72</oasis:entry>  
         <oasis:entry colname="col3">628.68</oasis:entry>  
         <oasis:entry colname="col4">627.67</oasis:entry>  
         <oasis:entry colname="col5">627.62</oasis:entry>  
         <oasis:entry colname="col6">674.20</oasis:entry>  
         <oasis:entry colname="col7">674.15</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">1000</oasis:entry>  
         <oasis:entry colname="col2">671.15</oasis:entry>  
         <oasis:entry colname="col3">671.10</oasis:entry>  
         <oasis:entry colname="col4">669.24</oasis:entry>  
         <oasis:entry colname="col5">669.19</oasis:entry>  
         <oasis:entry colname="col6">773.06</oasis:entry>  
         <oasis:entry colname="col7">773.01</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">2000</oasis:entry>  
         <oasis:entry colname="col2">551.12</oasis:entry>  
         <oasis:entry colname="col3">551.08</oasis:entry>  
         <oasis:entry colname="col4">548.18</oasis:entry>  
         <oasis:entry colname="col5">548.14</oasis:entry>  
         <oasis:entry colname="col6">733.22</oasis:entry>  
         <oasis:entry colname="col7">733.17</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">5000</oasis:entry>  
         <oasis:entry colname="col2">438.05</oasis:entry>  
         <oasis:entry colname="col3">438.02</oasis:entry>  
         <oasis:entry colname="col4">430.74</oasis:entry>  
         <oasis:entry colname="col5">430.71</oasis:entry>  
         <oasis:entry colname="col6">900.90</oasis:entry>  
         <oasis:entry colname="col7">900.83</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> Area-weighted global means computed from the GLODAP-WOA2009 gridded data set.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> Following <xref ref-type="bibr" rid="bib1.bibx64" id="text.111"/>,
<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mfenced><mml:mo>/</mml:mo><mml:mfenced close=")" open="("><mml:mspace width="0.33em" linebreak="nobreak"/><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub><mml:mspace width="0.33em" linebreak="nobreak"/><mml:mtext>exp</mml:mtext><mml:mfenced open="[" close="]"><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>P</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>v</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:mover><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mi>R</mml:mi><mml:mi>T</mml:mi></mml:mfenced></mml:mfenced></mml:mrow></mml:math></inline-formula>,<?xmltex \hack{\\}?>The exponential term vanishes when <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> is set to 1 atm (common and potential approaches) but<?xmltex \hack{\\}?>is intended to represent total pressure (in situ approach).
The potential approach uses <inline-formula><mml:math display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula> in<?xmltex \hack{\\}?>place of in situ <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (common and in situ approaches) in the above equation and in the calculation<?xmltex \hack{\\}?>of <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.</p></table-wrap-foot></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T10" specific-use="star"><caption><p>Oceanic <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> from three approaches<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> in two packages.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="9">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="left"/>
     <oasis:colspec colnum="9" colname="col9" align="left"/>
     <oasis:thead>
       <oasis:row>  
         <oasis:entry colname="col1"/>  
         <oasis:entry rowsep="1" namest="col2" nameend="col3" align="center">Common </oasis:entry>  
         <oasis:entry rowsep="1" namest="col4" nameend="col5" align="center">Potential </oasis:entry>  
         <oasis:entry rowsep="1" namest="col6" nameend="col7" align="center">In situ </oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1">Depth (m)</oasis:entry>  
         <oasis:entry colname="col2">mocsy</oasis:entry>  
         <oasis:entry colname="col3">seacarb</oasis:entry>  
         <oasis:entry colname="col4">mocsy</oasis:entry>  
         <oasis:entry colname="col5">seacarb</oasis:entry>  
         <oasis:entry colname="col6">mocsy</oasis:entry>  
         <oasis:entry colname="col7">seacarb</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1">0</oasis:entry>  
         <oasis:entry colname="col2">333.15</oasis:entry>  
         <oasis:entry colname="col3">333.12</oasis:entry>  
         <oasis:entry colname="col4">333.15</oasis:entry>  
         <oasis:entry colname="col5">333.12</oasis:entry>  
         <oasis:entry colname="col6">333.1</oasis:entry>  
         <oasis:entry colname="col7">333.1</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">10</oasis:entry>  
         <oasis:entry colname="col2">333.33</oasis:entry>  
         <oasis:entry colname="col3">333.30</oasis:entry>  
         <oasis:entry colname="col4">333.31</oasis:entry>  
         <oasis:entry colname="col5">333.28</oasis:entry>  
         <oasis:entry colname="col6">334.9</oasis:entry>  
         <oasis:entry colname="col7">334.9</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">50</oasis:entry>  
         <oasis:entry colname="col2">349.73</oasis:entry>  
         <oasis:entry colname="col3">349.70</oasis:entry>  
         <oasis:entry colname="col4">349.65</oasis:entry>  
         <oasis:entry colname="col5">349.62</oasis:entry>  
         <oasis:entry colname="col6">358.3</oasis:entry>  
         <oasis:entry colname="col7">358.3</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">100</oasis:entry>  
         <oasis:entry colname="col2">401.27</oasis:entry>  
         <oasis:entry colname="col3">401.24</oasis:entry>  
         <oasis:entry colname="col4">401.09</oasis:entry>  
         <oasis:entry colname="col5">401.06</oasis:entry>  
         <oasis:entry colname="col6">421.6</oasis:entry>  
         <oasis:entry colname="col7">421.6</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">500</oasis:entry>  
         <oasis:entry colname="col2">631.24</oasis:entry>  
         <oasis:entry colname="col3">631.20</oasis:entry>  
         <oasis:entry colname="col4">630.19</oasis:entry>  
         <oasis:entry colname="col5">630.14</oasis:entry>  
         <oasis:entry colname="col6">826.0</oasis:entry>  
         <oasis:entry colname="col7">825.9</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">1000</oasis:entry>  
         <oasis:entry colname="col2">673.95</oasis:entry>  
         <oasis:entry colname="col3">673.90</oasis:entry>  
         <oasis:entry colname="col4">672.03</oasis:entry>  
         <oasis:entry colname="col5">671.98</oasis:entry>  
         <oasis:entry colname="col6">1175.3</oasis:entry>  
         <oasis:entry colname="col7">1175.2</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">2000</oasis:entry>  
         <oasis:entry colname="col2">553.48</oasis:entry>  
         <oasis:entry colname="col3">553.44</oasis:entry>  
         <oasis:entry colname="col4">550.53</oasis:entry>  
         <oasis:entry colname="col5">550.49</oasis:entry>  
         <oasis:entry colname="col6">1729.7</oasis:entry>  
         <oasis:entry colname="col7">1729.6</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">5000</oasis:entry>  
         <oasis:entry colname="col2">439.95</oasis:entry>  
         <oasis:entry colname="col3">439.92</oasis:entry>  
         <oasis:entry colname="col4">432.62</oasis:entry>  
         <oasis:entry colname="col5">432.58</oasis:entry>  
         <oasis:entry colname="col6">7976.1</oasis:entry>  
         <oasis:entry colname="col7">7975.6</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p>
<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> Area-weighted global means from same gridded input data as in Table <xref ref-type="table" rid="Ch1.T9"/>.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> Following <xref ref-type="bibr" rid="bib1.bibx64" id="text.112"/>,
<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow><mml:mo>/</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mtext>f</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, where
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mtext>exp</mml:mtext><mml:mfenced open="[" close="]"><mml:mfenced open="(" close=")"><mml:mi>B</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msubsup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mn>12</mml:mn></mml:msub></mml:mfenced><mml:mi>P</mml:mi><mml:mo>/</mml:mo><mml:mi>R</mml:mi><mml:mi>T</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula>
and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> is<?xmltex \hack{\\}?>the total pressure (atmospheric + hydrostatic) as adopted for the in situ approach; the other two <?xmltex \hack{\\}?>approaches assume that <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> is only atmospheric pressure. The potential approach also uses <inline-formula><mml:math display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula> in<?xmltex \hack{\\}?>place of in situ <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>.</p></table-wrap-foot></table-wrap>

      <p>More generally, surface zonal means from all packages agree within
0.2 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">µ</mml:mi></mml:math></inline-formula>atm for <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>CO<inline-formula><mml:math display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>, 0.006 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">µ</mml:mi></mml:math></inline-formula>mol kg<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> for
CO<inline-formula><mml:math display="inline"><mml:mrow><mml:msubsup><mml:mi/><mml:mn mathvariant="normal">2</mml:mn><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, 0.0002 units for pH, 0.1 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">µ</mml:mi></mml:math></inline-formula>mol kg<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> for
CO<inline-formula><mml:math display="inline"><mml:mrow><mml:msubsup><mml:mi/><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, 0.004 for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and 0.1 for the Revelle factor
(Fig. <xref ref-type="fig" rid="Ch1.F2"/>). Packages diverge as pressure increases,
but agreement generally remain within a factor of 2 of that seen at
the surface (Fig. <xref ref-type="fig" rid="Ch1.F3"/>).  There are two
exceptions: the disagreement in pH is 5 times larger at 5000 m, where
csys is 0.001 larger than other packages, which agree within 0.0003;
for the Revelle factor <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, packages agree within 0.02 throughout
the water column except for seacarb, whose discrepancy grows to 0.2 at
5000 m.  Although seacarb computes <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> with an efficient analytical
formula <xref ref-type="bibr" rid="bib1.bibx14" id="paren.113"/>, that approach neglects effects of
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">Si</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> on total alkalinity, unlike the less
efficient numerical approach used in other packages <xref ref-type="bibr" rid="bib1.bibx47" id="paren.114"/>.
Overall, discrepancies among packages are larger at depth, but they
remain negligible (Table <xref ref-type="table" rid="Ch1.T8"/>) except for pH
and <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>.</p>

      <?xmltex \floatpos{p}?><fig id="Ch1.F2" specific-use="star"><caption><p>Global zonal-mean surface values for variables computed from
gridded data products for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from
GLODAP <xref ref-type="bibr" rid="bib1.bibx25" id="paren.115"/> combined with <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>, and nutrients from
the 2009 World Ocean Atlas (WOA2009)
<xref ref-type="bibr" rid="bib1.bibx30 bib1.bibx1 bib1.bibx15" id="paren.116"/>.  Curves are shown
for each package and variable after subtracting off corresponding
results for the CO2SYS-MATLAB reference.  The csys package does not provide
results for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and the Revelle factor.  It also neglects nutrient
alkalinity, but its curves were adjusted to include the effects of
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">Si</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> as computed by mocsy.</p></caption>
          <?xmltex \igopts{width=398.338583pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f02.pdf"/>

        </fig>

      <?xmltex \floatpos{p}?><fig id="Ch1.F3" specific-use="star"><caption><p>Global-mean vertical profiles of variables computed from the
same gridded data products as in Fig. <xref ref-type="fig" rid="Ch1.F2"/>.  For
each software package, corresponding results from the reference
(CO2SYS-MATLAB) have been subtracted. The csys curves are adjusted as
in Fig. <xref ref-type="fig" rid="Ch1.F2"/>. In all comparisons, the csys
results are computed with the option <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>ocdflag</mml:mtext><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>; its
discrepancies would be larger with <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>ocdflag</mml:mtext><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>.</p></caption>
          <?xmltex \igopts{width=398.338583pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f03.pdf"/>

        </fig>

      <p>Yet agreement was not always so close. For some perspective, the same
CO2SYS-MATLAB reference was also compared to older versions of four
packages: CO2calc (version 1.0.4 revised on 18 June 2013), csys
(version revised on 3 February 2010), seacarb (version 2.3.3 revised
on 2 April 2010), and an early predecessor of mocsy developed by
<xref ref-type="bibr" rid="bib1.bibx49" id="text.117"/> but not released publicly.  Discrepancies relative to
the same reference were once larger, e.g., more than 10 times as much
for <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, pH, and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>
(Fig. <xref ref-type="fig" rid="Ch1.F4"/>).  With the mocsy
precursor, there are significant discrepancies in <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>
reaching up to 1.5 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> at the surface.  Those grow with
depth, e.g., reaching 4 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> at 5000 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">m</mml:mi></mml:math></inline-formula>.  At the
same depth, there are discrepancies in <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> reaching
0.5 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and in pH up to 0.007. Subsurface
discrepancies are mainly due to two common modeling approximations
that were corrected in the first public release of mocsy
<xref ref-type="bibr" rid="bib1.bibx46" id="paren.118"/>.  With CO2calc v1.0.4, surface discrepancies reach
up to 2 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, up to
1.3 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.25em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, and up to 0.007
in pH.  Those discrepancies are associated with coding errors in the
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> formulations from <xref ref-type="bibr" rid="bib1.bibx31" id="text.119"/>, errors that
were corrected in CO2calc version 1.2.0.  With the previous version of
csys, surface <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is about 1 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> lower than
the reference because that variable was mislabeled; it was actually
<inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>.  As for seacarb v2.3.3, there are no significant
discrepancies. However, with an even earlier version of seacarb
(v2.0.3 released in 2008, not shown), the only package that maintains
public access to all previous versions, discrepancies at depth are
much larger (e.g., <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>7 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.25em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.165 in pH at 4000 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">m</mml:mi></mml:math></inline-formula>).  Because
earlier versions of packages often have much larger discrepancies,
users would be wise to keep their carbonate system software up to
date.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F4" specific-use="star"><caption><p>Global zonal-mean surface values (top) and global-mean
vertical profiles (bottom) from outdated versions of packages for
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (left), <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> (middle), and pH (right)
as computed from GLODAP <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> as in
Figs. <xref ref-type="fig" rid="Ch1.F3"/> and <xref ref-type="fig" rid="Ch1.F2"/>.  The four
older versions include CO2calc (v1.0.4), csys (from 3 February
2010), seacarb (v2.3.3), and mocsy <xref ref-type="bibr" rid="bib1.bibx49" id="paren.120"><named-content content-type="pre">non public predecessor
from</named-content></xref>. As before, results are shown after subtracting
off corresponding results from the same CO2SYS-MATLAB reference.</p></caption>
          <?xmltex \igopts{width=398.338583pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f04.pdf"/>

        </fig>

      <p>Previous analysis has illustrated how discrepancies vary spatially
across the global ocean, but the realistic gridded input data sets
that were exploited did not allow us to isolate how discrepancies vary
with individual physical variables and chemical input options. We will
now focus on those factors, individually, by exploiting simple
artificial input data.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <title>Physical factors</title>
      <p>Packages were compared with five common input pairs with the same simple
data sets where <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> were varied individually.  All
packages were compared with the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
pair. Comparison with the four other pairs excluded the mocsy package, which
is designed to use only <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.  Comparison
with two of the pairs, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, excluded the csys package, which does
offer <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> as an input variable but only when paired with
pH.</p>
<sec id="Ch1.S3.SS2.SSS1">
  <?xmltex \opttitle{$A_{\text{T}}$--$C_{\text{T}}$}?><title><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></title>
      <p>With the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> pair, packages agree within
0.2 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>,
0.05 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, and 0.0004 in pH
across the observed ranges of ocean <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> at surface pressure
(Fig. <xref ref-type="fig" rid="Ch1.F5"/>).  Surface discrepancies are significant only
for one variable from one package, <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> from ODV, but
those remain quite small (less than twice our arbitrary numerical
cutoff of 0.1 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula>).  Away from the surface, in the open
ocean with its cold deep waters at around 2 <inline-formula><mml:math display="inline"><mml:mrow><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup><mml:mi mathvariant="normal">C</mml:mi></mml:mrow></mml:math></inline-formula>,
pressure corrections in all packages do not add significantly to the
discrepancies seen at the surface.  Yet some deep waters can be
warmer, for instance around 13 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C in the Mediterranean
Sea. At that temperature, inconsistencies would be more apparent if
they were due to errors in coefficients of pressure corrections, which are quadratic
functions of temperature (Eqs. <xref ref-type="disp-formula" rid="Ch1.E2"/> and
<xref ref-type="disp-formula" rid="Ch1.E3"/>). One package, swco2, does indeed exhibit
substantial discrepancies with deep water at 13<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C but only
negligible discrepancies at 2<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C.  At 5000 db, its
discrepancies at 13 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C reach <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> for
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>1 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>0.002 for pH.  Discrepancies in other
packages remain negligible even at 13<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C.</p>
</sec>
<sec id="Ch1.S3.SS2.SSS2">
  <?xmltex \opttitle{$A_{\text{T}}$--pH}?><title><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH</title>
      <p>With the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH input pair (Fig. <xref ref-type="fig" rid="Ch1.F6"/>), surface
discrepancies between packages remain negligible for all
variables. All packages agree within 0.02 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> in
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, 0.02 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, and 0.08 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> across ranges of observed <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>.  Below the
surface, the swco2 package's subsurface discrepancies remain
negligible with the pressure correction at 2 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C, but for
water at 13 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C they start to become significant below
4000 db.  For the other packages, pressure corrections lead to
negligible discrepancies for all variables.</p>

      <?xmltex \floatpos{p}?><fig id="Ch1.F5" specific-use="star"><caption><p>Variables computed from <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> for
each package minus corresponding results from CO2SYS-MATLAB.  The
computed <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> (middle), and pH
(bottom) are shown across ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (column 1), <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> (column 2),
and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> when <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 3) and when
<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>13</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 4). For each range, there is one curve
per package and per variable.</p></caption>
            <?xmltex \igopts{width=426.791339pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f05.pdf"/>

          </fig>

      <?xmltex \floatpos{p}?><fig id="Ch1.F6" specific-use="star"><caption><p>Variables computed from <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and pH with each package
minus corresponding results from CO2SYS-MATLAB.  Shown are computed
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> (middle), and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (bottom) across ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (column 1), <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> (column
2), and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> when <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 3) and when
<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>13</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 4).</p></caption>
            <?xmltex \igopts{width=426.791339pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f06.pdf"/>

          </fig>

</sec>
<sec id="Ch1.S3.SS2.SSS3">
  <?xmltex \opttitle{$A_{\text{T}}$--$p${$\chem{CO_{2}}$}}?><title><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></title>
      <p>With the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> input pair
(Fig. <xref ref-type="fig" rid="Ch1.F7"/>), surface discrepancies are always
negligible. The five packages differ by less than
0.05 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and
0.015 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>.  Likewise for
pH, packages generally agree within 0.0001; only CO2calc exhibits
larger variability (within <inline-formula><mml:math display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>0.0004), but those variations are
randomly distributed with a mean near zero, a consequence of CO2calc's
limited output precision of only 3 decimal places for pH.  The
pressure correction when performed at <inline-formula><mml:math display="inline"><mml:mn mathvariant="normal">2</mml:mn></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C does not add
significant discrepancies, unlike that performed at <inline-formula><mml:math display="inline"><mml:mn>13</mml:mn></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C,
for which discrepancies in swco2 grow linearly with pressure, e.g.,
reaching <inline-formula><mml:math display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>1 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>0.1 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>0.0002
in pH at 5000 db.</p>

      <?xmltex \floatpos{p}?><fig id="Ch1.F7" specific-use="star"><caption><p>Variables computed from <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>
with each package minus corresponding results from CO2SYS-MATLAB.
Shown are computed <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>
(middle), and pH (bottom) across ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (column 1), <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>
(column 2), and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> when <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 3) and when
<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>13</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 4) for each package.  Packages not
included are mocsy, which allows only the
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> pair, and csys, which does not allow
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> as an input variable.</p></caption>
            <?xmltex \igopts{width=426.791339pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f07.pdf"/>

          </fig>

      <?xmltex \floatpos{p}?><fig id="Ch1.F8" specific-use="star"><caption><p>Variables computed from <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and pH with each
package minus corresponding results from CO2SYS-MATLAB.  Shown are
computed <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> (middle), and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (bottom) across ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (column 1), <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> (column
2), and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> when <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 3) and when
<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>13</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 4) for each software package.</p></caption>
            <?xmltex \igopts{width=426.791339pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f08.pdf"/>

          </fig>

</sec>
<sec id="Ch1.S3.SS2.SSS4">
  <?xmltex \opttitle{$C_{\text{T}}$--pH}?><title><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH</title>
      <p>With the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH input pair (Fig. <xref ref-type="fig" rid="Ch1.F8"/>),
there is similar agreement for all packages across ranges of surface
<inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>.  Packages agree within 0.0015 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> for
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, 0.007 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, and 0.1 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> at surface pressure.  With <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH, unlike
with previously analyzed pairs, the swco2 package's pressure
corrections do not induce substantial discrepancies in computed
subsurface <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, even at
13 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C. Yet swco2 does have significant discrepancies in
computed subsurface <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (e.g., 1 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>
at 4000 db); conversely, with the pressure correction at
<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C, swco2's <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> discrepancies are
negligible, consistent with previous patterns.  In contrast, there is
little temperature sensitivity associated with the slight yet always
negligible subsurface discrepancies from ODV.</p>
</sec>
<sec id="Ch1.S3.SS2.SSS5">
  <?xmltex \opttitle{$C_{\text{T}}$--$p${$\chem{CO_{2}}$}}?><title><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></title>
      <p>With the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> input pair
(Fig. <xref ref-type="fig" rid="Ch1.F9"/>), all of the five packages have negligible surface
discrepancies for computed <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math display="inline"><mml:mrow><mml:mo>≤</mml:mo><mml:mn>0.1</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>), <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math display="inline"><mml:mrow><mml:mo>≤</mml:mo><mml:mn>0.01</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>), and pH (<inline-formula><mml:math display="inline"><mml:mrow><mml:mo>≤</mml:mo><mml:mn>0.003</mml:mn></mml:mrow></mml:math></inline-formula> units).  Out of
the five packages offering both the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and
the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH input pairs (excluding csys and mocsy), only
swco2 develops significant subsurface discrepancies and only at
13 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C for one variable, in both cases.  At that
temperature, the swco2 package's discrepancies in computed
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> grow linearly with depth, reaching
1 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> at 4000 db, similar to those seen with
the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH input pair (Fig. <xref ref-type="fig" rid="Ch1.F8"/>). As before
with the low-temperature correction, discrepancies in swco2's
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> remain negligible.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F9" specific-use="star"><caption><p>Variables computed from <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>
with each package minus corresponding results from CO2SYS-MATLAB.
Shown are computed <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>
(middle), and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:mi mathvariant="normal">pH</mml:mi></mml:mrow></mml:math></inline-formula> (bottom) across ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (column 1),
<inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> (column 2), and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> when <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 3) and when
<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>13</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 4) for each package.</p></caption>
            <?xmltex \igopts{width=426.791339pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f09.pdf"/>

          </fig>

      <p>Considering results from the five input pairs together, we can now make
several general comments.  For all intents and purposes, surface
discrepancies remain negligible.  The only exception is <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>
computed by ODV with the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> input pair,
but its discrepancies still remains less than one-fifth of the best
measurement precision.  Subsurface discrepancies are not significantly
worse than those at the surface, i.e., for common deep waters at
2<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C. Conversely, with deep waters at 13<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C,
characteristic of the Mediterranean Sea, one package (swco2) does
exhibit significant subsurface discrepancies. Yet even under those
extreme conditions, swco2 discrepancies above 1000 m remain less than
the best measurement precision. They concern either computed <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
or other variables computed when <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is a member of the
input pair.</p>
</sec>
</sec>
<sec id="Ch1.S3.SS3">
  <title>Chemical factors</title>
      <p>In Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>, we compared differences among packages while
varying physical input for different input pairs.  Here we assess
differences due to chemical factors, namely accounting for alkalinity
from silicic and phosphoric acids (nutrient alkalinity) and opting for
potentially important developments since publication of the
best-practices guide <xref ref-type="bibr" rid="bib1.bibx12" id="paren.121"/>.</p>
<sec id="Ch1.S3.SS3.SSS1">
  <title>Nutrients</title>
      <p>Both <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">Si</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> contribute to the total alkalinity.
Thus they affect computed carbonate alkalinity <italic>A<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi/><mml:mi mathvariant="normal">C</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></italic>
when their concentrations are significant and one member of the input
pair is <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.  One of the packages, csys, neglects this
nutrient alkalinity, assuming <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">Si</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>
concentrations are always zero.  All other packages account for
nutrient alkalinity.  Two of those exhibit discrepancies relative to
CO2SYS-MATLAB that become significant as nutrient concentrations are
increased to the maxima observed in the ocean
(Fig. <xref ref-type="fig" rid="Ch1.F10"/>). Discrepancies for swco2 grow
linearly with nutrient concentrations, reaching
<inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.2 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>0.07 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>0.0002
units in pH.  These discrepancies are largely associated with
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">Si</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>; those from <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are more than 10 times smaller.
For CO2calc, discrepancies in pH seem to reach up to nearly 0.001, but
those are due to the precision in CO2calc's pH output (given to only
three decimal places).</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F10" specific-use="star"><caption><p>Effect of nutrients on variables computed from <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> with each package minus results for
CO2SYS-MATLAB. Shown are effects on computed <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (top),
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> (middle), and pH (bottom) across the observed
oceanic ranges of <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (right), <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">Si</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (center), and
their combined effect (left) for each package.  Results from the two
CO2SYS Excel variants are not shown, but both agree with the
reference.  Results for csys are not included as it assumes that
nutrient concentrations are always zero.</p></caption>
            <?xmltex \igopts{width=369.885827pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f10.pdf"/>

          </fig>

      <p>These differences between packages are at least 70 times smaller than
the actual changes in computed variables attributable to alkalinity
from <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">Si</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.  With the
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> input pair, this nutrient alkalinity
increases computed <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> by 6 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> for average
surface waters in the Southern Ocean and by 12 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> for
average deep waters (below 2000 <inline-formula><mml:math display="inline"><mml:mi mathvariant="normal">m</mml:mi></mml:math></inline-formula>); simultaneously,
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> is reduced by about 2 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in
the same waters <xref ref-type="bibr" rid="bib1.bibx47" id="paren.122"/>.</p>
</sec>
<sec id="Ch1.S3.SS3.SSS2">
  <title>Total boron</title>
      <p>Relative to the standard formulation for total boron
<xref ref-type="bibr" rid="bib1.bibx62" id="paren.123"/>, the new formulation <xref ref-type="bibr" rid="bib1.bibx28" id="paren.124"/> represents
about a 3% increase of borate alkalinity throughout the ocean.
Hence we first assessed whether or not packages gave consistent
responses when changing from the standard to the new formulation.  For
the six packages that allow for the new formulation (CO2SYS-MATLAB,
both CO2SYS-Excel variants, CO2calc, mocsy, and seacarb), computed
changes agree within 0.15 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>,
0.02 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, and
0.00006 for pH, i.e., with the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
pair across observed ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>
(Fig. <xref ref-type="fig" rid="Ch1.F11"/>).  With other input pairs, agreement is
closer still, but the comparison is limited to fewer packages (mocsy
treats only <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>).  Much larger are the
actual changes themselves.  With the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
pair, given global average surface conditions (<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mn>18</mml:mn><mml:mo>∘</mml:mo></mml:msup><mml:mi>C</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mn>35</mml:mn></mml:mrow></mml:math></inline-formula>), changing from the standard to the
new formulation for total boron increases <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> by
5.7 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula>, decreases <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> by
2.1 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, and decreases pH by 0.0056 units.
Changes are generally smaller with the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> pairs (e.g., <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.3 and
<inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.4 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>,
respectively). Conversely, with the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–pH and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> pairs, changes are negligible for all
computed carbonate system variables except total alkalinity.</p>

      <?xmltex \floatpos{p}?><fig id="Ch1.F11" specific-use="star"><caption><p>Effect of increased total boron on variables computed from
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> with each package minus results for
CO2SYS-MATLAB. Shown are the effects of the increased boron
(<xref ref-type="bibr" rid="bib1.bibx28" id="text.125"/> minus <xref ref-type="bibr" rid="bib1.bibx62" id="text.126"/>) on computed
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> (middle), and pH (bottom)
across ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (left), <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> (center), and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> (right).  The
<xref ref-type="bibr" rid="bib1.bibx28" id="text.127"/> formulation is included in six packages:
CO2SYS-MATLAB, CO2calc, seacarb, mocsy, and both CO2SYS Excel
variants. The latter two are not shown but agree with the
reference. The recommendation to use the <xref ref-type="bibr" rid="bib1.bibx62" id="text.128"/>
formulation by <xref ref-type="bibr" rid="bib1.bibx12" id="text.129"/> came before the <xref ref-type="bibr" rid="bib1.bibx28" id="text.130"/>
study.</p></caption>
            <?xmltex \igopts{width=398.338583pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f11.pdf"/>

          </fig>

<?xmltex \floatpos{p}?><table-wrap id="Ch1.T11" specific-use="star"><caption><p>Ratio of relative change<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a,b</mml:mtext></mml:msup></mml:math></inline-formula> between output and input variables<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c, d</mml:mtext></mml:msup></mml:math></inline-formula>
<inline-formula><mml:math display="inline"><mml:mrow><mml:mfenced open="(" close=")"><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>/</mml:mo><mml:mi>y</mml:mi></mml:mfenced><mml:mo>/</mml:mo><mml:mfenced close=")" open="("><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mfenced></mml:mrow></mml:math></inline-formula>.</p></caption><oasis:table frame="topbot"><?xmltex \begin{scaleboxenv}{.95}[.95]?><oasis:tgroup cols="12">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="center"/>
     <oasis:colspec colnum="10" colname="col10" align="center"/>
     <oasis:colspec colnum="11" colname="col11" align="center"/>
     <oasis:colspec colnum="12" colname="col12" align="center"/>
     <oasis:thead>
       <oasis:row>  
         <oasis:entry colname="col1"/>  
         <oasis:entry rowsep="1" namest="col2" nameend="col12" align="center">Input </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1">Output</oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col9"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col10"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col11"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col12"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>9.5</oasis:entry>  
         <oasis:entry colname="col3">11.7</oasis:entry>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.92</oasis:entry>  
         <oasis:entry colname="col6">0.63</oasis:entry>  
         <oasis:entry colname="col7">0.28</oasis:entry>  
         <oasis:entry colname="col8">0.02</oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>  
         <oasis:entry colname="col11"/>  
         <oasis:entry colname="col12"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HCO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.7</oasis:entry>  
         <oasis:entry colname="col3">1.7</oasis:entry>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5">0.01</oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.03</oasis:entry>  
         <oasis:entry colname="col7">0.02</oasis:entry>  
         <oasis:entry colname="col8"/>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>  
         <oasis:entry colname="col11"/>  
         <oasis:entry colname="col12"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">8.8</oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>7.4</oasis:entry>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.05</oasis:entry>  
         <oasis:entry colname="col6">0.30</oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.24</oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.01</oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>  
         <oasis:entry colname="col11"/>  
         <oasis:entry colname="col12"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msup><mml:mi mathvariant="normal">H</mml:mi><mml:mo>+</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>8.8</oasis:entry>  
         <oasis:entry colname="col3">9.8</oasis:entry>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5">0.06</oasis:entry>  
         <oasis:entry colname="col6">0.66</oasis:entry>  
         <oasis:entry colname="col7">0.26</oasis:entry>  
         <oasis:entry colname="col8">0.01</oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>  
         <oasis:entry colname="col11"/>  
         <oasis:entry colname="col12"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>9.5</oasis:entry>  
         <oasis:entry colname="col3">11.7</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.99</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.92</oasis:entry>  
         <oasis:entry colname="col6">0.63</oasis:entry>  
         <oasis:entry colname="col7">0.28</oasis:entry>  
         <oasis:entry colname="col8">0.02</oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>  
         <oasis:entry colname="col11"/>  
         <oasis:entry colname="col12"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>9.5</oasis:entry>  
         <oasis:entry colname="col3">11.7</oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.99</oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.92</oasis:entry>  
         <oasis:entry colname="col6">0.63</oasis:entry>  
         <oasis:entry colname="col7">0.28</oasis:entry>  
         <oasis:entry colname="col8">0.02</oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>  
         <oasis:entry colname="col11"/>  
         <oasis:entry colname="col12"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">8.8</oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>7.4</oasis:entry>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.05</oasis:entry>  
         <oasis:entry colname="col6">0.30</oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.24</oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.01</oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>  
         <oasis:entry colname="col11"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.99</oasis:entry>  
         <oasis:entry colname="col12"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">8.8</oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>7.4</oasis:entry>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.05</oasis:entry>  
         <oasis:entry colname="col6">0.30</oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.24</oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.01</oasis:entry>  
         <oasis:entry colname="col9"/>  
         <oasis:entry colname="col10"/>  
         <oasis:entry colname="col11"/>  
         <oasis:entry colname="col12"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.99</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup><?xmltex \end{scaleboxenv}?></oasis:table><?xmltex \begin{scaleboxenv}{.95}[.95]?><table-wrap-foot><p>
<?xmltex \hack{\vspace*{2mm}}?>
<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> Percent change in output (<inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>y</mml:mi><mml:mo>/</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula>) computed from a 1 % change in input (<inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula>).<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> Missing values indicate changes of less then 0.001 %.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>c</mml:mtext></mml:msup></mml:math></inline-formula> Ratios were computed under the standard conditions described in Sect. <xref ref-type="sec" rid="Ch1.S4.SS1"/>.<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>d</mml:mtext></mml:msup></mml:math></inline-formula> Ratios are sensitive to solution composition.
</p></table-wrap-foot><?xmltex \end{scaleboxenv}?></table-wrap>

</sec>
<sec id="Ch1.S3.SS3.SSS3">
  <?xmltex \opttitle{$K_{\text{1}}$ and $K_{\text{2}}$}?><title><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></title>
      <p>The formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from <xref ref-type="bibr" rid="bib1.bibx31" id="text.131"/> are
recommended for best practices <xref ref-type="bibr" rid="bib1.bibx12" id="paren.132"/>, but they
are intended to be restricted to waters with <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> between 19 and 43
and <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> between 2 and 35 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C.
For waters with physical conditions outside of those ranges, there are
no recommended <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> formulations. However, formulations
exist, such as those from the most recent reassessment by
<xref ref-type="bibr" rid="bib1.bibx38" id="text.133"/>, which are applicable over wider ranges of <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>
(1–50) and <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (0–50 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C).</p>
      <p>With an analysis analogous to that shown in Fig. <xref ref-type="fig" rid="Ch1.F5"/>
(Sect. <xref ref-type="sec" rid="Ch1.S3.SS2.SSS1"/>), we replaced formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
from <xref ref-type="bibr" rid="bib1.bibx31" id="text.134"/> with those from <xref ref-type="bibr" rid="bib1.bibx38" id="text.135"/> to
assess the consistency of computed variables in the six packages that
include this newer option (CO2SYS-MATLAB, both CO2SYS-Excel variants,
CO2calc, seacarb, and mocsy). With the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
pair, four out of six packages agree closely at surface pressure
across ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>
(Fig. <xref ref-type="fig" rid="Ch1.F12"/>). Conversely, CO2calc differs from the
CO2SYS-MATLAB reference by up to <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>12 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> in
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1.2 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>0.006 units in pH. Discrepancies are also
found for seacarb, reaching up to <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>20 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> in
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>0.2 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.0025 units in pH.  However, seacarb's
discrepancies at the surface are inconsistent with its negligible
subsurface discrepancies.  Pressure corrections alter CO2calc's
discrepancies by less than <inline-formula><mml:math display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>1 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.05 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.001
units in pH, changes that are notably less than its surface
discrepancies.  Although fewer packages offer the <xref ref-type="bibr" rid="bib1.bibx38" id="text.136"/>
formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, the resulting differences between
packages reach levels that are orders of magnitude larger than with
the <xref ref-type="bibr" rid="bib1.bibx31" id="normal.137"/> formulations.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F12" specific-use="star"><caption><p>Variables computed from <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> with
each package minus corresponding results from CO2SYS-MATLAB, as in
Fig. <xref ref-type="fig" rid="Ch1.F5"/> but with <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from
<xref ref-type="bibr" rid="bib1.bibx38" id="text.138"/> instead of from <xref ref-type="bibr" rid="bib1.bibx31" id="text.139"/>.  Shown are
computed <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> (middle), and pH
(bottom) across ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (column 1), <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> (column 2), and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>
when <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 3) and when <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>13</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C
(column 4).</p></caption>
            <?xmltex \igopts{width=426.791339pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f12.pdf"/>

          </fig>

</sec>
</sec>
<sec id="Ch1.S3.SS4">
  <title>Computational efficiency</title>
      <p>Besides the accuracy and precision of the different packages that
compute carbonate system variables, some users with large data sets
may be concerned with computational efficiency.  To assess differences
in computation time between packages, we chose to use the global
gridded data set described in Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>.  With nearly 1
million ocean grid points, the computational time needed to compute
all carbonate system variables varies by more than a factor of 1800
between packages (Table <xref ref-type="table" rid="Ch1.T2"/>).  The slowest package
(swco2-Excel) required more than half a day, while the fastest (mocsy)
needed 30 s. Packages based on spreadsheets are
generally slower than those run by directly calling routines with
programming languages (Fortran 95, MATLAB, Visual Basic).  The latter
are usually coded so that the equilibrium calculations are made one
time for each set of input data, whereas spreadsheets often repeat the
same set of calculations for each computed variable (each cell).  An
exception is CO2SYS-Excel-Pelletier, whose execution time rivals that
of CO2SYS-MATLAB.  Fortunately, even with the slowest of the packages
shown in Table <xref ref-type="table" rid="Ch1.T2"/>, the computational time is trivial
for most observational analysis efforts, because the number of samples
is much smaller.  Hence developers of most packages have not concerned
themselves with computational efficiency. Nonetheless, for very large
data sets and for models, which may have millions of grid cells to
treat every time step, computational efficiency is critical.</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <title>Discussion</title>
      <p>To diagnose why computed variables differ between packages, we
computed their sensitivities to each constant, assessed errors in
individual constants, and used both to assign causes.</p>
<sec id="Ch1.S4.SS1">
  <title>Sensitivity to individual constants</title>
      <p>A computed variable <inline-formula><mml:math display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> is affected by errors in all input variables
(including constants as well as members of the input pair), each
denoted here as <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (for <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>).  Thus, we calculated
the sensitivity ratio as the relative change of <inline-formula><mml:math display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> to the relative
change in each <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, namely <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>/</mml:mo><mml:mi>y</mml:mi><mml:mo>:</mml:mo><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.
These sensitivity ratios were determined numerically in three
successive steps. First, we calculated variables with seacarb under
our standard conditions
(<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mn>35</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>18</mml:mn></mml:mrow></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C, <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> db, and
zero nutrients, along with <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn>2058.185</mml:mn></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn>2300</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">mol</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>).
Then, we increased
each input variable by 1 % (<inline-formula><mml:math display="inline"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>0.01</mml:mn></mml:mrow></mml:math></inline-formula>),
individually, and recalculated output variables with seacarb for each
perturbation. Finally, we took the difference between the first and
second computations to obtain the proportional change in the computed
variable <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>/</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
      <p>Table <xref ref-type="table" rid="Ch1.T11"/> shows these sensitivity ratios for each
variable and constant.  Sensitivities of computed variables to input
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> are much like those
from <xref ref-type="bibr" rid="bib1.bibx10" id="text.140"/>, who used the same approach but with
different software, input data, and values for constants.  Yet our
sensitivities to <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> differ.  Although only <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn>30</mml:mn></mml:mrow></mml:math></inline-formula> % smaller
for computed <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msup><mml:mi mathvariant="normal">H</mml:mi><mml:mo>+</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>, they are
7 times larger for <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> as well as <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.  The former moderate reductions occur because the
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from <xref ref-type="bibr" rid="bib1.bibx31" id="text.141"/> at standard conditions is 30 %
greater than <xref ref-type="bibr" rid="bib1.bibx10" id="author.142"/>'s (<inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn>9.115</mml:mn></mml:mrow></mml:math></inline-formula>). Conversely,
our sevenfold-greater sensitivity of <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is
mysterious.  It does not appear to come from our numerical derivative,
which we have verified by computing analytical solutions by hand in
other pairs when feasible.  However, part of the difference could
derive from slightly different approaches: <xref ref-type="bibr" rid="bib1.bibx10" id="text.143"/> used
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> as an input variable, while we used <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
      <p>With the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> input pair, the sensitivities
to <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> generally dominate, as expected from
<xref ref-type="bibr" rid="bib1.bibx10" id="text.144"/>.  There is a similarly large sensitivity to <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
when computing <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>.  The
sensitivities to other constants have not been discussed previously.
We find a large sensitivity to <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, even surpassing that to
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> for computed <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msup><mml:mi mathvariant="normal">H</mml:mi><mml:mo>+</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HCO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.  The sensitivity to
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is also significant but remains 14 to 26 times smaller
than that for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>. The sensitivity to other constants
remain small (absolute values less than 0.001), except for the
solubility products <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, which are
inversely proportional to <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (large
negative sensitivities of <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1).  Sensitivities differ with other
input pairs as shown by <xref ref-type="bibr" rid="bib1.bibx10" id="text.145"/>.</p>
      <p>These sensitivities are fundamental to the classic propagation of
relative errors that has already been applied to the carbonate system
<xref ref-type="bibr" rid="bib1.bibx10 bib1.bibx12" id="paren.146"/>. In that, the uncertainty <inline-formula><mml:math display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula> of
computed variable <inline-formula><mml:math display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> is expressed as

                <disp-formula id="Ch1.E4" content-type="numbered"><mml:math display="block"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi>y</mml:mi></mml:mfrac><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msup><mml:mfenced close=")" open="("><mml:mfrac><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>/</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msup><mml:mfenced open="(" close=")"><mml:mfrac><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msqrt><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where the left-hand side is the relative error in <inline-formula><mml:math display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>, a function of
the right-hand side's individual relative errors of each input
variable and constant (<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>/</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) multiplied by the square of the
associated sensitivity term <inline-formula><mml:math display="inline"><mml:mrow><mml:mfenced open="(" close=")"><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>/</mml:mo><mml:mi>y</mml:mi></mml:mfenced><mml:mo>/</mml:mo><mml:mfenced open="(" close=")"><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mfenced></mml:mrow></mml:math></inline-formula>
(Table <xref ref-type="table" rid="Ch1.T11"/>).  Hence to assess the relative importance
of each input variable, we need not only its sensitivity but also its
uncertainty.  For the case where relative errors for each of the
constants are assumed to be similar
(Table <xref ref-type="table" rid="Ch1.T8"/>), it is largely the
sensitivity term which determines the relative contribution of each
constant to the overall error.  Yet numerical errors in computed
constants are neither identical nor entirely negligible in all
packages.</p>
</sec>
<sec id="Ch1.S4.SS2">
  <title>Errors in equilibrium constants</title>
      <p>In order to identify sources of error, equilibrium constants were
plotted in the same manner as computed variables.  By characterizing
errors graphically, we were able to use patterns in discrepancies to
help isolate problems and eventually identify causes, particularly in
packages where source code was available. For packages without source
code, we attempted to reproduce discrepancy patterns by making temporary
modifications to another package where source code was available.</p>
<sec id="Ch1.S4.SS2.SSS1">
  <?xmltex \opttitle{$K_{\text{0}}$, $K_{\text{1}}$, and $K_{\text{2}}$: best practices}?><title><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: best practices</title>
      <p>The constants that have the greatest potential to cause the
differences in computed variables seen in Fig. <xref ref-type="fig" rid="Ch1.F5"/> are
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (Table <xref ref-type="table" rid="Ch1.T11"/>), simply because of
their prominence in the fundamental equilibria.  For <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, all
packages have negligible discrepancies relative to CO2SYS-MATLAB
across ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>, and all packages agree with the check
value from <xref ref-type="bibr" rid="bib1.bibx12" id="text.147"/> to its fourth and final
decimal place
(Table <xref ref-type="table" rid="Ch1.T12"/>).  For <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> with
the <xref ref-type="bibr" rid="bib1.bibx31" id="text.148"/> formulation, the story is the same
(Fig. <xref ref-type="fig" rid="Ch1.F13"/>).  None of these three best-practices
constants can be responsible for significant discrepancies in computed
variables.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T12" specific-use="star"><caption><p>Check values vs. computed equilibrium constants (<inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:mi>K</mml:mi></mml:mrow></mml:math></inline-formula>s) at <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C, <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mn>35</mml:mn></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="8">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:colspec colnum="6" colname="col6" align="left"/>
     <oasis:colspec colnum="7" colname="col7" align="left"/>
     <oasis:colspec colnum="8" colname="col8" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1"/>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col8"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1">Check value</oasis:entry>  
         <oasis:entry colname="col2">1.5468</oasis:entry>  
         <oasis:entry colname="col3">5.8472</oasis:entry>  
         <oasis:entry colname="col4">8.966</oasis:entry>  
         <oasis:entry colname="col5">8.5975</oasis:entry>  
         <oasis:entry colname="col6">13.217</oasis:entry>  
         <oasis:entry colname="col7">0.999</oasis:entry>  
         <oasis:entry colname="col8">2.627</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">swco2</oasis:entry>  
         <oasis:entry colname="col2">1.54681</oasis:entry>  
         <oasis:entry colname="col3">5.84715</oasis:entry>  
         <oasis:entry colname="col4">8.96595</oasis:entry>  
         <oasis:entry colname="col5">8.59747</oasis:entry>  
         <oasis:entry colname="col6">13.2204</oasis:entry>  
         <oasis:entry colname="col7">0.9987</oasis:entry>  
         <oasis:entry colname="col8">2.6261</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">mocsy</oasis:entry>  
         <oasis:entry colname="col2">1.54681</oasis:entry>  
         <oasis:entry colname="col3">5.84715</oasis:entry>  
         <oasis:entry colname="col4">8.96595</oasis:entry>  
         <oasis:entry colname="col5">8.59747</oasis:entry>  
         <oasis:entry colname="col6">13.2204</oasis:entry>  
         <oasis:entry colname="col7">0.9987</oasis:entry>  
         <oasis:entry colname="col8">2.6261</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2SYS-MATLAB</oasis:entry>  
         <oasis:entry colname="col2">1.54681</oasis:entry>  
         <oasis:entry colname="col3">5.84715</oasis:entry>  
         <oasis:entry colname="col4">8.96595</oasis:entry>  
         <oasis:entry colname="col5">8.59747</oasis:entry>  
         <oasis:entry colname="col6">13.2204</oasis:entry>  
         <oasis:entry colname="col7">0.9987</oasis:entry>  
         <oasis:entry colname="col8">2.6261</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2SYS-Excel-Pelletier</oasis:entry>  
         <oasis:entry colname="col2">1.54681</oasis:entry>  
         <oasis:entry colname="col3">5.84715</oasis:entry>  
         <oasis:entry colname="col4">8.96595</oasis:entry>  
         <oasis:entry colname="col5">8.59747</oasis:entry>  
         <oasis:entry colname="col6">13.2204</oasis:entry>  
         <oasis:entry colname="col7">0.9987</oasis:entry>  
         <oasis:entry colname="col8">2.6261</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">csys</oasis:entry>  
         <oasis:entry colname="col2">1.54681</oasis:entry>  
         <oasis:entry colname="col3">5.84715</oasis:entry>  
         <oasis:entry colname="col4">8.96595</oasis:entry>  
         <oasis:entry colname="col5">8.59747</oasis:entry>  
         <oasis:entry colname="col6">13.2204</oasis:entry>  
         <oasis:entry colname="col7">0.9987</oasis:entry>  
         <oasis:entry colname="col8">2.6261</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">seacarb</oasis:entry>  
         <oasis:entry colname="col2">1.54681</oasis:entry>  
         <oasis:entry colname="col3">5.84715</oasis:entry>  
         <oasis:entry colname="col4">8.96595</oasis:entry>  
         <oasis:entry colname="col5">8.59747</oasis:entry>  
         <oasis:entry colname="col6">13.2204</oasis:entry>  
         <oasis:entry colname="col7">0.9987</oasis:entry>  
         <oasis:entry colname="col8">2.6261</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2calc</oasis:entry>  
         <oasis:entry colname="col2">1.5468</oasis:entry>  
         <oasis:entry colname="col3">5.847<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4">8.966<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5">8.597</oasis:entry>  
         <oasis:entry colname="col6">13.220</oasis:entry>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">ODV</oasis:entry>  
         <oasis:entry colname="col2">1.54680</oasis:entry>  
         <oasis:entry colname="col3">5.84715</oasis:entry>  
         <oasis:entry colname="col4">8.96595</oasis:entry>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>  
         <oasis:entry colname="col8"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p>
<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>a</mml:mtext></mml:msup></mml:math></inline-formula> Free scale (all other p<inline-formula><mml:math display="inline"><mml:mi>K</mml:mi></mml:math></inline-formula>s are on the total
scale).<?xmltex \hack{\\}?><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mtext>b</mml:mtext></mml:msup></mml:math></inline-formula> All CO2calc constants shown here are computed
from other output variables; the p<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and p<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> calculated
directly by CO2calc, provided by its developers, agree with the
reference to beyond six decimal places (L. Robbins, personal
communication, 2014).  </p></table-wrap-foot></table-wrap>

<?xmltex \hack{\addtocounter{table}{-1}}?><?xmltex \floatpos{t}?><table-wrap id="Ch1.T13" specific-use="star"><caption><p>Continued.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:colspec colnum="6" colname="col6" align="left"/>
     <oasis:colspec colnum="7" colname="col7" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1"/>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col4"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>1P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col5"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>2P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col6"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>3P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col7"><inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1">Check value</oasis:entry>  
         <oasis:entry colname="col2"/>  
         <oasis:entry colname="col3"/>  
         <oasis:entry colname="col4">1.61</oasis:entry>  
         <oasis:entry colname="col5">5.962</oasis:entry>  
         <oasis:entry colname="col6">8.79</oasis:entry>  
         <oasis:entry colname="col7">9.39</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">swco2</oasis:entry>  
         <oasis:entry colname="col2">6.3693</oasis:entry>  
         <oasis:entry colname="col3">6.1883</oasis:entry>  
         <oasis:entry colname="col4">1.6215</oasis:entry>  
         <oasis:entry colname="col5">5.9714</oasis:entry>  
         <oasis:entry colname="col6">8.799</oasis:entry>  
         <oasis:entry colname="col7">9.393</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">mocsy</oasis:entry>  
         <oasis:entry colname="col2">6.3693</oasis:entry>  
         <oasis:entry colname="col3">6.1883</oasis:entry>  
         <oasis:entry colname="col4">1.6150</oasis:entry>  
         <oasis:entry colname="col5">5.9649</oasis:entry>  
         <oasis:entry colname="col6">8.792</oasis:entry>  
         <oasis:entry colname="col7">9.387</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2SYS-MATLAB</oasis:entry>  
         <oasis:entry colname="col2">6.3693</oasis:entry>  
         <oasis:entry colname="col3">6.1883</oasis:entry>  
         <oasis:entry colname="col4">1.6150</oasis:entry>  
         <oasis:entry colname="col5">5.9649</oasis:entry>  
         <oasis:entry colname="col6">8.793</oasis:entry>  
         <oasis:entry colname="col7">9.387</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2SYS-Excel-Pelletier</oasis:entry>  
         <oasis:entry colname="col2">6.3693</oasis:entry>  
         <oasis:entry colname="col3">6.1883</oasis:entry>  
         <oasis:entry colname="col4">1.6150</oasis:entry>  
         <oasis:entry colname="col5">5.9649</oasis:entry>  
         <oasis:entry colname="col6">8.792</oasis:entry>  
         <oasis:entry colname="col7">9.387</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">csys</oasis:entry>  
         <oasis:entry colname="col2">6.3693</oasis:entry>  
         <oasis:entry colname="col3">6.1883</oasis:entry>  
         <oasis:entry colname="col4">1.6150</oasis:entry>  
         <oasis:entry colname="col5">5.9649</oasis:entry>  
         <oasis:entry colname="col6">8.792</oasis:entry>  
         <oasis:entry colname="col7"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">seacarb</oasis:entry>  
         <oasis:entry colname="col2">6.3693</oasis:entry>  
         <oasis:entry colname="col3">6.1883</oasis:entry>  
         <oasis:entry colname="col4">1.6150</oasis:entry>  
         <oasis:entry colname="col5">5.9649</oasis:entry>  
         <oasis:entry colname="col6">8.792</oasis:entry>  
         <oasis:entry colname="col7">9.387</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">CO2calc</oasis:entry>  
         <oasis:entry colname="col2">6.369</oasis:entry>  
         <oasis:entry colname="col3">6.188</oasis:entry>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1">ODV</oasis:entry>  
         <oasis:entry colname="col2">6.3693</oasis:entry>  
         <oasis:entry colname="col3">6.1883</oasis:entry>  
         <oasis:entry colname="col4"/>  
         <oasis:entry colname="col5"/>  
         <oasis:entry colname="col6"/>  
         <oasis:entry colname="col7"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <?xmltex \floatpos{p}?><fig id="Ch1.F13" specific-use="star"><caption><p>The <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
(middle), and <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (bottom) computed with each
package minus corresponding values for CO2SYS-MATLAB. Formulations
are those recommended for best practices, namely <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>0</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from
<xref ref-type="bibr" rid="bib1.bibx64" id="text.149"/> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from
<xref ref-type="bibr" rid="bib1.bibx31" id="text.150"/>. Constants were computed across the same ranges
of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (column 1), <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> (column 2), and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> when <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C
(column 3) and when <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>13</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 4) as used in
previous figures.  Constants from CO2calc and ODV were not directly
available but are estimated from variables computed with the
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> pair.  The filled black circles
indicate the check values (Table <xref ref-type="table" rid="Ch1.T12"/>). Line
signatures are as in Fig. <xref ref-type="fig" rid="Ch1.F5"/>.</p></caption>
            <?xmltex \igopts{width=426.791339pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f13.pdf"/>

          </fig>

</sec>
<sec id="Ch1.S4.SS2.SSS2">
  <?xmltex \opttitle{Alternative $K_{\text{1}}$ and $K_{\text{2}}$ for low salinities}?><title>Alternative <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> for low salinities</title>
      <p>Section <xref ref-type="sec" rid="Ch1.S3.SS3.SSS3"/> detailed the large discrepancies among
packages, in terms of computed variables, that were generated simply
by replacing the <xref ref-type="bibr" rid="bib1.bibx31" id="text.151"/> formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
with those from <xref ref-type="bibr" rid="bib1.bibx38" id="text.152"/>, i.e., the most recent
alternative for low-salinity waters and the one based on the greatest
number of measurements.  Hence the implementation of the
<xref ref-type="bibr" rid="bib1.bibx38" id="text.153"/> formulations must be done inconsistently between
the different packages.  Indeed, six packages (three CO2SYS variants
and three others) offer that new option, but three of them show
significant surface discrepancies in <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> relative to those
computed by CO2SYS-MATLAB
(Fig. <xref ref-type="fig" rid="Ch1.F14"/>). Patterns of those discrepancies
are qualitatively consistent with patterns of computed variables found
with the same option (Fig. <xref ref-type="fig" rid="Ch1.F12"/>).  A comparison
of the source code in three packages
revealed that their implemented formulations are strictly identical;
however, the sets of coefficients differ.  More precisely,
<xref ref-type="bibr" rid="bib1.bibx38" id="author.154"/> fit 551 measurements of <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and 590
measurements of <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> on the seawater pH scale to basic equations of
the form

                  <disp-formula id="Ch1.E5" content-type="numbered"><mml:math display="block"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mtext>p</mml:mtext><mml:msubsup><mml:mi>K</mml:mi><mml:mi>i</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mtext>ln</mml:mtext><mml:mo>(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msubsup><mml:mi>K</mml:mi><mml:mi>i</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> was from his previous fit of the same form for pure
water <xref ref-type="bibr" rid="bib1.bibx39" id="paren.155"/>; <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the absolute temperature; and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>B</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are functions of salinity:

                  <disp-formula id="Ch1.E6" content-type="numbered"><mml:math display="block"><mml:mtable columnspacing="1em" rowspacing="0.2ex" class="aligned" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>A</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:msup><mml:mi>S</mml:mi><mml:mn>0.5</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mi>S</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msup><mml:mi>S</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>B</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:msup><mml:mi>S</mml:mi><mml:mn>0.5</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub><mml:mi>S</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>C</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub><mml:msup><mml:mi>S</mml:mi><mml:mn>0.5</mml:mn></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

            <xref ref-type="bibr" rid="bib1.bibx38" id="text.156"/> provides this set of the six <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> coefficients
for each of <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> on the original seawater pH scale but also
on the free and total scales, i.e., by making analogous fits after
converting the measured constants to each of those other scales
<xref ref-type="bibr" rid="bib1.bibx38" id="normal.157"><named-content content-type="post">Eqs. 9 to 12</named-content></xref>.</p>

      <?xmltex \floatpos{p}?><fig id="Ch1.F14" specific-use="star"><caption><p>The <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (top) and <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (bottom) computed in each of four
packages minus corresponding values for CO2SYS-MATLAB, as in
Fig. <xref ref-type="fig" rid="Ch1.F13"/> except that formulations are from
<xref ref-type="bibr" rid="bib1.bibx38" id="text.158"/>, not <xref ref-type="bibr" rid="bib1.bibx31" id="text.159"/>. The filled black
circles indicate the check values (Table <xref ref-type="table" rid="Ch1.T12"/>).  Six
packages include this option. Only CO2SYS-MATLAB, CO2calc, seacarb,
and mocsy are shown. Both CO2SYS Excel variants agree with the
reference, but when CO2SYS-Excel-Pelletier is switched from the
published to the unpublished seawater-scale coefficients, it
resembles CO2calc.</p></caption>
            <?xmltex \igopts{width=455.244094pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f14.pdf"/>

          </fig>

      <p>With the <xref ref-type="bibr" rid="bib1.bibx38" id="text.160"/> formulation, the four packages with
internally consistent results are CO2SYS-MATLAB, CO2SYS-Excel-Pierrot,
CO2SYS-Excel-Pelletier, and mocsy
(Fig. <xref ref-type="fig" rid="Ch1.F14"/>). All use the coefficients for
his formulation on the seawater scale.  In seacarb, however, it is more
complicated.  At the surface, seacarb uses Millero's set of
coefficients on the total scale to compute <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>;
conversely, below the surface seacarb uses Millero's coefficients for
the seawater scale and then converts the resulting constants to the
total scale after making the pressure correction (as is appropriate).
Although the two approaches should yield equivalent results, seacarb's
constants computed for the surface differ from those calculated by
the reference.
Conversely, below the surface, seacarb agrees with the
reference. Because seacarb's formulations and coefficients are
strictly identical to those published by <xref ref-type="bibr" rid="bib1.bibx38" id="text.161"/>, which
we have verified closely, the surface discrepancies imply an
inconsistency between Millero's sets of coefficients for the total and
seawater scales. Both sets should yield the same results for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and
for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, e.g., once the results from the seawater set are converted
back to the total scale. Yet they do not.  Indeed when <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
were computed separately from <xref ref-type="bibr" rid="bib1.bibx38" id="author.162"/>'s published
sets of coefficients, we found similar patterns of surface
discrepancies as already seen between seacarb and CO2SYS-MATLAB
(Fig. <xref ref-type="fig" rid="Ch1.F15"/>). Patterns matched exactly when we also
accounted for the differences in <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>. That is, Millero
converted <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> on the measured seawater scale to the
total scale using <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from <xref ref-type="bibr" rid="bib1.bibx52" id="normal.163"/>, whereas for
this study all packages use <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from
<xref ref-type="bibr" rid="bib1.bibx11" id="normal.164"/>. Thus seacarb shows surface discrepancies
(relative to CO2SYS-MATLAB) primarily because it uses Millero's
coefficients on the total scale, which are inconsistent with those on
the seawater scale, and secondly because the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> used by
Millero is inconsistent with that used in this study.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F15"><caption><p>Relative differences between four formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
(top) as well as <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (bottom), i.e., between values computed from
four different sets of coefficients from <xref ref-type="bibr" rid="bib1.bibx38" id="text.165"/> over
ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (left) and <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> (right).  Two sets of coefficients are
from <xref ref-type="bibr" rid="bib1.bibx38" id="author.166"/>'s (<xref ref-type="bibr" rid="bib1.bibx38" id="year.167"/>) Tables 2
and 3, i.e., for the total scale (<inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, orange dotted line) and the
seawater scale (SWS, blue dotted line). The two other sets, also on
the <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> and SWS scales (solid lines), have greater precision, coming
from the spreadsheet used for calculations in the same publication
(F. J. Millero, personal communication 2013). For consistent
comparison, both SWS curves were converted to the total scale using
the standard approach <xref ref-type="bibr" rid="bib1.bibx38" id="paren.168"><named-content content-type="post">Eqs. 11 and 12</named-content></xref> and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from <xref ref-type="bibr" rid="bib1.bibx52" id="text.169"/>. Curves are shown after
subtracting values from the preferred formulation (spreadsheet
coefficients for the SWS scale converted to the <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> scale).</p></caption>
            <?xmltex \igopts{width=241.848425pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f15.pdf"/>

          </fig>

      <p>The second package that differs substantially from CO2SYS-MATLAB is
CO2calc, but only for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.  Although CO2calc's main code was taken
from CO2SYS, the CO2calc developers included the <xref ref-type="bibr" rid="bib1.bibx38" id="text.170"/>
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> formulations themselves, before they were available in
CO2SYS. Lacking the CO2calc source code, we studied discrepancy
patterns and made sensitivity tests. These differences appear to come
from a different number of significant figures in one of the
coefficients. More precisely, Fig. <xref ref-type="fig" rid="Ch1.F15"/> compares
the constants computed from the published set of coefficients
<xref ref-type="bibr" rid="bib1.bibx38" id="paren.171"><named-content content-type="post">Tables 2 and 3</named-content></xref> to those computed with the
unpublished yet more precise set of coefficients used by Millero,
i.e., his spreadsheet for the same publication (F. J. Millero,
personal communication 2013). Only the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> coefficient differs,
being given with one additional decimal place in the spreadsheet
(Table <xref ref-type="table" rid="Ch1.T14"/>).  The difference between constants
computed with the published coefficients and those computed with
unpublished coefficients, i.e., the spreadsheet coefficients on the
seawater scale, match the pattern and magnitude of the differences
between CO2calc and CO2SYS-MATLAB (compare
Figs. <xref ref-type="fig" rid="Ch1.F15"/> and
Fig. <xref ref-type="fig" rid="Ch1.F14"/>). Hence CO2calc developers appear
to have used the set of seawater-scale coefficients from Millero's
spreadsheet.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T14"><caption><p>Coefficients from <xref ref-type="bibr" rid="bib1.bibx38" id="text.172"/> for formulations of <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (seawater scale).</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">  
         <oasis:entry colname="col1"/>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">13.4038</oasis:entry>  
         <oasis:entry colname="col3">21.3728</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2">0.03206</oasis:entry>  
         <oasis:entry colname="col3">0.1218</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>5.242 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>3.688 <inline-formula><mml:math display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>530.659</oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>788.289</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>5.8210</oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>19.189</oasis:entry>
       </oasis:row>
       <oasis:row>  
         <oasis:entry colname="col1"><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>  
         <oasis:entry colname="col2"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.0664</oasis:entry>  
         <oasis:entry colname="col3"><inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>3.374<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∗</mml:mo></mml:msup></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p>
<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∗</mml:mo></mml:msup></mml:math></inline-formula> Value is <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>3.3738 in Millero's spreadsheet (F. J. Millero, personal communication, 2013).</p></table-wrap-foot></table-wrap>

      <?xmltex \floatpos{t}?><fig id="Ch1.F16"><caption><p>The ratio of <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> for each set of coefficients from
<xref ref-type="bibr" rid="bib1.bibx38" id="text.173"/> over the same ratio for the reference. We refer
to that ratio of ratios as the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> quotient.  The reference
is chosen arbitrarily as Millero's set of coefficients on SWS scale
from his spreadsheet. Curve colors and line patterns are as in
Fig. <xref ref-type="fig" rid="Ch1.F15"/>.  </p></caption>
            <?xmltex \igopts{width=241.848425pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f16.pdf"/>

          </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F17" specific-use="star"><caption><p>The <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (middle), and
<inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (bottom) computed from each package minus
corresponding values from CO2SYS-MATLAB.  Formulations are from
<xref ref-type="bibr" rid="bib1.bibx36" id="text.174"/>, as recommended for best practices. The filled
black circles indicate the check values
(Table <xref ref-type="table" rid="Ch1.T12"/>).</p></caption>
            <?xmltex \igopts{width=426.791339pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f17.pdf"/>

          </fig>

      <p>To further confirm that the different sets of coefficients yield
fundamentally different results, we made two additional
comparisons. First, we compared their <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> ratios
(Fig. <xref ref-type="fig" rid="Ch1.F16"/>).  By definition, that ratio should be
independent of the pH scale, yet with different sets of coefficients
it differs by up to 1.5% over the observed range of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>.
Secondly, we made a sensitivity test with CO2SYS-Excel-Pelletier's two
options for the <xref ref-type="bibr" rid="bib1.bibx38" id="text.175"/> formulation (two sets of
coefficients), both of which became available after our discussion
paper was published.  With that package, users choose to use either
the published seawater-scale coefficients (as in the CO2SYS-MATLAB) or
the unpublished seawater-scale coefficients from the spreadsheet (as
used by CO2calc).  With the former, CO2SYS-Excel-Pelletier agrees with
the reference; with the latter, results are like those for CO2calc.
Therefore, all three simple analyses indicate that it
is the different sets of coefficients that cause substantial
differences in computed variables.</p>
      <p>It is tempting to conclude that all package developers should simply
adopt the spreadsheet's more precise set of coefficients on the
seawater scale, given their greater precision and their consistency
with original results <xref ref-type="bibr" rid="bib1.bibx38" id="paren.176"><named-content content-type="post">Fig. 3</named-content></xref>.  However, even
that set of unpublished coefficients, which is more precise than those
published, may have two few significant figures To test that concern,
we exploited the same spreadsheet's coefficients for the total scale,
which are given to more decimal places than its seawater-scale
coefficients.  By incrementally reducing the number of decimal places
in each unpublished total-scale coefficient (one at a time), we
determined the point at which calculated variables change
significantly.  Thus we found that the published <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
for the total scale would need to be extended from 4 to 5 decimal
places, while the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> as well as that for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
would both need to be extended from 4 to 6 decimal places before
results match those computed with the unpublished spreadsheet's
total-scale coefficients.  It follows that the published
seawater-scale coefficients should be extended likewise, because they
have similar magnitudes and the same number of significant figures as
the published total-scale coefficients.  The much larger disagreement
among packages found when changing from the <xref ref-type="bibr" rid="bib1.bibx31" id="text.177"/>
formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> to those from <xref ref-type="bibr" rid="bib1.bibx38" id="text.178"/>
emphasizes the danger of applying conclusions from one comparison to
cases with different sets of constants.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F18" specific-use="star"><caption><p>The <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (middle), and
<inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (bottom) computed from each package minus
corresponding values from CO2SYS-MATLAB.  The formulation for
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is from <xref ref-type="bibr" rid="bib1.bibx11" id="text.179"/> as recommended by
<xref ref-type="bibr" rid="bib1.bibx8" id="text.180"/>, with all packages on the free scale.  The
formulation for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is from <xref ref-type="bibr" rid="bib1.bibx5" id="text.181"/> and on
the free scale, while that for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is from
<xref ref-type="bibr" rid="bib1.bibx43" id="text.182"/> with no scale, as recommended for best
practices. The filled black circles indicate check values
(Table <xref ref-type="table" rid="Ch1.T12"/>).</p></caption>
            <?xmltex \igopts{width=426.791339pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f18.pdf"/>

          </fig>

</sec>
<sec id="Ch1.S4.SS2.SSS3">
  <?xmltex \opttitle{$K_{\text{B}}$ and $K_{\text{W}}$: principal
non-carbonate alkalinity constants}?><title><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: principal
non-carbonate alkalinity constants</title>
      <p>Previous comparison revealed significant discrepancies in subsurface
variables computed from the swco2 package
(Fig. <xref ref-type="fig" rid="Ch1.F5"/>–<xref ref-type="fig" rid="Ch1.F9"/>), which are not due to
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (Fig. <xref ref-type="fig" rid="Ch1.F13"/>).  These discrepancies
occur only when <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is a member of the input pair or when
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is computed, suggesting that they stem from the need to
correct from total to carbonate alkalinity.  The largest factor to
correct for is borate alkalinity; hence it is also the most likely
cause. Indeed, comparison of <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> computed by the different
packages does reveal discrepancies for swco2
(Fig. <xref ref-type="fig" rid="Ch1.F17"/>). Furthermore, swco2's divergence from
CO2SYS-MATLAB increases linearly with depth, consistent with
discrepancies in computed variables. Although we do not have access to
the code for swco2, this discrepancy is consistent with a sign error
in its <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> pressure-correction coefficient for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, as
verified by sensitivity tests in seacarb. This same error was only
identified and corrected in other packages (e.g., in csys and seacarb)
in 2010, whereas the current version of swco2 (v2) dates from
2007. Because the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> coefficient is multiplied by the square of
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mtext>c</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (Eq. <xref ref-type="disp-formula" rid="Ch1.E2"/>), the swco2
discrepancies associated with the pressure correction of
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> are about 2 orders of magnitude smaller and become
negligible when carried out at 2 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C rather than
13 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C.</p>
      <p>Regarding <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, none of the packages diverges significantly
from CO2SYS-MATLAB. Although CO2calc's <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> appears to
oscillate about the reference, the extremes of those oscillations
remain negligible. Moreover, our estimates of CO2calc's
equilibrium constants are not precise. Having to compute them from
output variables with limited precision, we were unable to estimate
CO2calc's equilibrium constants typically beyond the third place after
the decimal.</p>
</sec>
<sec id="Ch1.S4.SS2.SSS4">
  <?xmltex \opttitle{$K_{\text{F}}$ and $K_{\text{S}}$: constants to change pH scales}?><title><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: constants to change pH scales</title>
      <p>For <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, all packages agree with the check value to its
third and final digit after the decimal.  The <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from the
swco2 package does diverge from the others as salinity increases, but
it still agrees with CO2SYS-MATLAB within <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>F</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mtext>0.00006</mml:mtext></mml:mrow></mml:math></inline-formula>, and its discrepancies do not change with
temperature or pressure (Fig. <xref ref-type="fig" rid="Ch1.F18"/>).</p>
      <p>For <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, all packages agree with the check value, again to
its third and final digit after the decimal. Beyond that, packages
agree even more tightly, with the largest divergence reaching <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn>0.0002</mml:mn></mml:mrow></mml:math></inline-formula> for swco2.  There are visible differences for
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>S</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> computed from the different packages that merit further
investigation (e.g., positive excursions under surface conditions for
swco2), but they remain quite small. Given the negligible consequences,
we leave their resolution to future work.</p>
</sec>
<sec id="Ch1.S4.SS2.SSS5">
  <?xmltex \opttitle{$K_{\text{A}}$ and $K_{\text{C}}$: solubility products}?><title><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: solubility products</title>
      <p>For <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, the situation is similar at the surface but not at
depth (Fig. <xref ref-type="fig" rid="Ch1.F18"/>). Under surface conditions, no
packages have significant discrepancies. Although CO2calc appears to
have discrepancies larger than other packages (average <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub><mml:mo>∼</mml:mo><mml:mn>0.0002</mml:mn></mml:mrow></mml:math></inline-formula>), they remain quite small; moreover, they
may be exaggerated because we had to calculate them from computed
variables with limited output precision (2 decimal places for
CO<inline-formula><mml:math display="inline"><mml:mrow><mml:msubsup><mml:mi/><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>).  Pressure-correction discrepancies are negligible in all
packages but one, swco2. At 5000 db, the discrepancy for
13 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C water reaches <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn>0.015</mml:mn></mml:mrow></mml:math></inline-formula>,
thereby biasing <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> to be 3.4 % too low and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> to be 3.4 % too high. However, for more typical
deep waters at 2 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C, those discrepancies are reduced by
a factor of 7.  The form of the swco2 discrepancy curve, quadratic
with pressure, suggests an error in the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> pressure-correction
coefficient. Without access to the swco2 source code, we made
sensitivity tests with seacarb. Inversing the sign of its <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>
coefficient reproduced the form and magnitude of the swco2
discrepancies.  Thus it appears that swco2's <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> coefficient for
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> needs to be changed to <inline-formula><mml:math display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>0.0003692.  Other swco2
pressure-correction coefficients for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> appear to be
correct.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F19" specific-use="star"><caption><p>The <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>1P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (top), <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>2P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (middle), and
<inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>3P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (bottom) computed from each package minus
corresponding values from CO2SYS-MATLAB.  Formulations are from
<xref ref-type="bibr" rid="bib1.bibx36" id="text.183"/>, as recommended for best practices.  Constants
are computed across the same ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> (column 1), <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> (column
2), and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> when <inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 3) and when
<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>13</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C (column 4) as used in previous figures. The
filled black circles indicate the check values
(Table <xref ref-type="table" rid="Ch1.T12"/>).</p></caption>
            <?xmltex \igopts{width=398.338583pt}?><graphic xlink:href="https://www.biogeosciences.net/12/1483/2015/bg-12-1483-2015-f19.pdf"/>

          </fig>

</sec>
<sec id="Ch1.S4.SS2.SSS6">
  <?xmltex \opttitle{$K_{\text{1P}}$, $K_{\text{2P}}$, and $K_{\text{3P}}$: constants for phosphoric and silicic acids}?><title><inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>3P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: constants for phosphoric and silicic acids</title>
      <p>Constants for phosphoric and silicic acids enter into the calculations
only when nutrient concentrations are significant and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
is a member of the input pair. Under those conditions, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
must be corrected for nutrient alkalinity to provide an accurate
estimate of <italic>A<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi/><mml:mi mathvariant="normal">C</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></italic>, as needed to compute other variables.
For <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>3P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, three packages
(seacarb, mocsy, and CO2SYS-Excel-Pelletier) agree with results from
CO2SYS-MATLAB across ranges of <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>
(Fig. <xref ref-type="fig" rid="Ch1.F19"/>).  Three other packages
(CO2SYS-Excel-Pierrot, CO2calc, and ODV) do not provide these
constants as output, nor could they be calculated from available
variables. Yet they exhibit negligible discrepancies
for computed variables as a function of nutrient concentrations
(Fig. <xref ref-type="fig" rid="Ch1.F10"/>), suggesting that their
discrepancies in associated equilibrium constants must
also be negligible.</p>
      <p>The remaining package, swco2, differs significantly from
CO2SYS-MATLAB, with a constant shift of 0.006 for each of
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>3P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> across ranges of
<inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>.  Sensitivity tests with seacarb suggest that this
constant shift is caused by swco2 making the necessary conversion from
the seawater pH scale to the total pH scale, but doing so twice. The
original formulations of these constants are from <xref ref-type="bibr" rid="bib1.bibx36" id="normal.184"/>
and are on the seawater scale. For their conversion to the total
scale, the best-practices approach simply subtracts 0.015
<xref ref-type="bibr" rid="bib1.bibx8 bib1.bibx12" id="paren.185"><named-content content-type="post">Chap. 5, footnote 5</named-content></xref>, i.e., a constant
correction. Conversely, the more rigorous approach to convert between
those two pH scales <xref ref-type="bibr" rid="bib1.bibx38" id="paren.186"><named-content content-type="pre">e.g.,</named-content><named-content content-type="post">Eq. 6</named-content></xref> results in an
offset that varies with the hydrogen fluoride concentration
<inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:mfenced open="[" close="]"><mml:mi mathvariant="normal">HF</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula>.  For example, with <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mi>F</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> from
<xref ref-type="bibr" rid="bib1.bibx52" id="text.187"/> the offset ranges from 0 to 0.032 across observed
ocean <inline-formula><mml:math display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>; with <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mi>F</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> from <xref ref-type="bibr" rid="bib1.bibx11" id="text.188"/>, it ranges
from 0 to 0.024.  Our tests suggest that all packages make the
variable correction but only swco2 does not first remove the 0.015
offset (equivalent to a 0.006 shift in <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:mi>K</mml:mi></mml:mrow></mml:math></inline-formula>).</p>
      <p>For <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, only the swco2 package reveals any discrepancies
relative to CO2SYS-MATLAB (Fig. <xref ref-type="fig" rid="Ch1.F17"/>). Out of the
other packages, three agree with <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from CO2SYS-MATLAB
(seacarb, mocsy, and CO2SYS-Excel-Pelletier), three do not provide
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> as output (CO2calc, ODV, and CO2SYS-Excel-Pierrot),
and one does not compute <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (csys). Discrepancies for
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> in swco2 under surface conditions are identical to
those for its <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>3P</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>. The
constant positive excursion of 0.006 appears due to the same cause,
correcting the equilibrium constant from the seawater to the total
scale two times.  Below the surface, swco2's discrepancy for
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> grows linearly with pressure, just as does its
discrepancy for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (Sect. <xref ref-type="sec" rid="Ch1.S4.SS2.SSS3"/>). And the cause
appears to be identical, a sign error in the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> pressure correction
coefficient, based on our sensitivity tests in seacarb. Thus we
recommend that swco2's <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> coefficient should be checked and changed
if necessary to <inline-formula><mml:math display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.002608. Just as for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, discrepancies
in swco2's pressure correction for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> are lower when
carried out at 2<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C rather than at 13<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C. The
total discrepancies in <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>Si</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> are 0.007 and 0.015,
respectively (at 4000 db). That implies that pressure-correction
discrepancies are about 10 times larger at 13<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C than
at 2<inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C, after removing the 0.006 constant offset at
surface conditions.</p>
</sec>
</sec>
</sec>
<sec id="Ch1.S5" sec-type="conclusions">
  <title>Conclusions</title>
      <p>To assess the consistency of carbonate chemistry software packages, we
have compared computed variables from 10 publicly available
distributions, identifying discrepancies and causes.  This comparison
has led to improved agreement. Since our discussion paper was
published <xref ref-type="bibr" rid="bib1.bibx50" id="paren.189"/>, there has been a fivefold reduction in
discrepancies in <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> when all
packages use the set of constants recommended for best practices
<xref ref-type="bibr" rid="bib1.bibx12" id="paren.190"/>. The small discrepancies that currently exist
remain insignificant even after pressure adjustments are made for the
cold waters that pervade the deep ocean.  Only in warm deep waters,
such as found in the Mediterranean Sea, are there significant
discrepancies and only for one package (swco2), e.g., when
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">3</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> are computed from the
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mtext>T</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> input pair.  Those discrepancies appear
to derive from a sign error in a pressure-correction coefficient for
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>B</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>. Similar sign errors in pressure-correction
coefficients for swco2's <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> appear to
cause its <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>A</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>C</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> to be underestimated by
3 % at 4000 db when at 13 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C but only 0.5 %
when at 2 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C.</p>
      <p>The choice of equilibrium constants affects package agreement.
Despite the excellent agreement found when packages use the
best-practices set of equilibrium constants, their accuracy under
extreme conditions is questionable.  Best-practices formulations for
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> <xref ref-type="bibr" rid="bib1.bibx31" id="paren.191"/> are based on measurements that did
not include conditions such as found in estuaries (<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>S</mml:mi><mml:mo>&lt;</mml:mo><mml:mn>19</mml:mn></mml:mrow></mml:math></inline-formula>) nor in the
ocean's coldest waters (<inline-formula><mml:math display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C), which comprise 11% of its
global surface area and 42% of its global volume, based on an
annual climatology <xref ref-type="bibr" rid="bib1.bibx30" id="paren.192"/>.  Thus we also compared
packages changing only the formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> to those
that consider low-salinity and low-temperature waters
<xref ref-type="bibr" rid="bib1.bibx38" id="paren.193"/>.  Out of the six packages where that newer option
is available, three agreed with the reference, while three others
differed, e.g., by up to 7 <inline-formula><mml:math display="inline"><mml:mrow><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">atm</mml:mi></mml:mrow></mml:math></inline-formula> in surface
<inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>.  One package differs because it uses the set of
published coefficients to compute the salinity dependence of <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> on the total scale; conversely, the reference uses another set
to compute those constants on the seawater scale, later converting to
the total scale.  Their disagreement after conversion indicates
a fundamental inconsistency between the two published sets of
coefficients. Two other packages differ because one coefficient, also
for the seawater scale, has an additional significant figure taken
from an unpublished spreadsheet.  Other published coefficients may
lack up to 2 significant figures based on our tests with the same
spreadsheet's coefficients on the total scale, which have still
greater precision.  These discrepancies emphasize the fundamental need
for new measurements of <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> at low salinities, low
temperatures, and high pressures.</p>
      <p>To limit future inconsistencies, we offer several practical
recommendations.  Users are encouraged to use up-to-date software, to
use the set of constants recommended for best practices
<xref ref-type="bibr" rid="bib1.bibx12" id="paren.194"/>, and to avoid the <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from
<xref ref-type="bibr" rid="bib1.bibx38" id="text.195"/> until discrepancies are resolved.  For now, users
are also advised to avoid the new total boron-to-salinity ratio
<xref ref-type="bibr" rid="bib1.bibx28" id="paren.196"/> and favor the “best-practices” ratio
<xref ref-type="bibr" rid="bib1.bibx62" id="paren.197"/>, which was used to compute <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from
laboratory measurements <xref ref-type="bibr" rid="bib1.bibx33" id="paren.198"><named-content content-type="post">Eq. 8</named-content></xref>.  For
reproducibility, users should cite not only the package name but also
its version number and all chosen equilibrium constants as well as any
other selected package options.  Developers would facilitate future
comparison and reproducibility by providing computed constants as
output, releasing their source code, and offering access to older
versions, ideally through a public revision control system.
Developers are also encouraged to consider providing results for
potential and in situ <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, which differ greatly in deep
waters.  Although our focus has been on public packages, it is just as
necessary to validate privately developed code.  To facilitate such
validation, we provide a supplement containing a subset of the data
produced for this comparison.</p>
</sec>

      
      </body>
    <back><app-group>
        <supplementary-material position="anchor"><p><bold>The Supplement related to this article is available online at <inline-supplementary-material xlink:href="http://dx.doi.org/10.5194/bg-12-1483-2015-supplement" xlink:title="zip">doi:10.5194/bg-12-1483-2015-supplement</inline-supplementary-material>.</bold></p></supplementary-material>
        </app-group><ack><title>Acknowledgements</title><p>This comparison was conceived by the SOLAS-IMBER Ocean Acidification
Working Group (SIOA). Design of the comparison, data production, and
preliminary analysis was originally supported by the International
Ocean Carbon Coordination Project (IOCCP) with funds from the
U.S. National Science Foundation (grant OCE-1243377) to the
Scientific Committee on Oceanic Research (SCOR).  Follow-up support
came from the Ocean Acidification International Coordination Centre
(OA-ICC), a project of the Peaceful Uses Initiative of the
International Atomic Energy Agency (IAEA).  Final analysis and the
publication of this article were supported by the French ANR project
MACROES (MACRoscope for Oceanic Earth System ANR-09-CEP-003) and two
EU FP7 projects, CARBOCHANGE (grant 264879) and MedSeA (grant
265103).  We thank F. J. Millero for providing the spreadsheet
associated with his 2010 publication, with which we were able
decipher causes of some differences in implementations of his
formulations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>. We are indebted to A. Dickson and
J. Ólafsson, who provided reviews that helped to improve this
study. We also appreciate the many helpful comments from E. Lewis,
D. Wallace, L. Robbins, R. Zeebe, and D. Wolf-Gladrow.
<?xmltex \hack{\newline}?><?xmltex \hack{\newline}?>
Edited by:  L. Cotrim da Cunha</p></ack><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Antonov et al.(2010)Antonov, Seidov, Boyer, Locarnini,
Mishonov, Garcia, Baranova, Zweng, and Johnson</label><mixed-citation>
Antonov, J. I., Seidov, D., Boyer, T. P., Locarnini, R. A.,
Mishonov, A. V., Garcia, H. E., Baranova, O. K., Zweng, M. M., and
Johnson, D. R.: World Ocean Atlas 2009, Volume 2: Salinity, edited
by: Levitus, S., Atlas NESDIS 69, NOAA, US Government Printing
Office, Washington DC, 184 pp., 2010.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Byrne and Yao(2008)</label><mixed-citation> Byrne, R. H. and Yao, W.:
Procedures for measurement of carbonate ion concentrations in
seawater by direct spectrophotometric observations of Pb (II)
complexation, Mar. Chem., 112, 128–135, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Cai and Wang(1998)</label><mixed-citation> Cai, W.-J. and Wang, Y.: The
chemistry, fluxes, and sources of carbon dioxide in the estuarine
waters of the Satilla and Altamaha Rivers, Georgia,
Limnol. Oceanogr., 43, 657–668, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Culberson and Pytkowicz(1968)</label><mixed-citation>
Culberson, C. and Pytkowicz, R. M.: Effect of pressure on carbonic acid, boric
acid and the pH in seawater, Limnol. Oceanogr., 13, 403–417, 1968.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Dickson(1990a)</label><mixed-citation>Dickson, A. G.:
Standard potential of the reaction:
<inline-formula><mml:math display="inline"><mml:mrow><mml:mrow class="chem"><mml:mi mathvariant="normal">AgCl</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="normal">s</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">H</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="normal">g</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow class="chem"><mml:mi mathvariant="normal">Ag</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="normal">s</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow class="chem"><mml:mi mathvariant="normal">HCl</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="normal">aq</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>, and
the standard acidity constant of the ion <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msubsup><mml:mi mathvariant="normal">HSO</mml:mi><mml:mn mathvariant="normal">4</mml:mn><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> in
synthetic seawater from 273.15 to 318.15 K, Chemical
Thermodynamics, 22,
113–127, 1990a.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Dickson(1990b)</label><mixed-citation> Dickson, A. G.:
Thermodynamics of the dissociation of boric acid in synthetic
seawater from 273.15 to 318.15 K, Deep-Sea Res.,
37, 755–766,
1990b.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Dickson(2010)</label><mixed-citation> Dickson, A. G.: The carbon
dioxide system in seawater: equilibrium chemistry and measurements,
in: Guide to Best Practices for Ocean Acidification Research and
Data Reporting, edited by: Riebesell, U., Fabry, V. J., Hansson, L.,
and Gattuso, J.-P., Publications Office of the European Union,
17–40, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Dickson and Goyet(1994)</label><mixed-citation> Dickson, A. G. and
Goyet, C.: Handbook of methods for the analysis of the various
parameters of the carbon dioxide system in seawater; version 2,
ORNL/CDIAC-74, ORNL, 1994.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Dickson and Millero(1987)</label><mixed-citation> Dickson, A. G. and
Millero, F.: A comparison of the equilibrium constants for the
dissociation of carbonic acid in seawater media, Deep-Sea Res., 34,
1733–1743, 1987.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Dickson and Riley(1978)</label><mixed-citation> Dickson, A. G. and
Riley, J. P.: The effect of analytical error on the evaluation of
the components of the aquatic carbon-dioxide system, Mar. Chem., 6,
77–85, 1978.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Dickson and Riley(1979)</label><mixed-citation>Dickson, A. G. and
Riley, J. P.: The estimation of acid dissociation constants in
seawater media from potentiometric titrations with strong base,
I. The ionic product of water – <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mtext>W</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, Mar. Chem.,
7, 89–99,
1979.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Dickson et al.(2007)Dickson, Sabine, and
Christian</label><mixed-citation>Dickson, A. G., Sabine, C. L., and
Christian, J. R.: Guide to best practices for ocean <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>
measurements, PICES Special Publication 3, 191 pp., 2007.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Easley et al.(2013)Easley, Patsavas, Byrne, Liu, Feely, and
Mathis</label><mixed-citation> Easley, R. A., Patsavas, M. C.,
Byrne, R. H., Liu, X., Feely, R. A., and Mathis, J. T.:
Spectrophotometric Measurement of Calcium Carbonate Saturation
States in Seawater, Environ. Sci. Technol., 47, 1468–1477, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Frankignoulle(1994)</label><mixed-citation>Frankignoulle, M.:
A complete set of buffer factors for acid/base <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> system
in seawater, J. Marine Syst., 5, 111–118, 1994.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Garcia et al.(2010)Garcia, Locarnini, Boyer, Antonov, Zweng,
Baranova, and Johnson</label><mixed-citation> Garcia, H. E.,
Locarnini, R. A., Boyer, T. P., Antonov, J. I., Zweng, M. M.,
Baranova, O. K., and Johnson, D. R.: World Ocean Atlas 2009, Volume
4: Nutrients (Phosphate, Nitrate, Silicate), edited by:
Levitus, S., Atlas NESDIS 71, NOAA, US Government Printing
Office, Washington DC, 398 pp., 2010.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Gattuso and Hansson(2011)</label><mixed-citation> Gattuso, J.-P. and
Hansson, L. (Eds.): Ocean Acidification, Oxford Univ. Press, Oxford,
UK, 408 pp., 2011.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Gattuso and Lavigne(2009)</label><mixed-citation>Gattuso, J.-P. and
Lavigne, H.: Technical Note: Approaches and software tools to
investigate the impact of ocean acidification, Biogeosciences, 6,
2121–2133, <ext-link xlink:href="http://dx.doi.org/10.5194/bg-6-2121-2009" ext-link-type="DOI">10.5194/bg-6-2121-2009</ext-link>,
2009.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Gattuso et al.(2015)</label><mixed-citation>Gattuso, J.-P.,
Epitalon, J.-M. and Lavigne, H.  : seacarb: seawater carbonate
chemistry with R. R package version 3.0.6, The Comprehensive R
Archive Network, <uri>http://CRAN.R-project.org/package=seacarb</uri>
(last access: 24 February 2015), 2015.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Goyet and Poisson(1989)</label><mixed-citation> Goyet, C. and
Poisson, A.: New determination of carbonic acid dissociation
constants in seawater as a function of temperature and salinity,
Deep-Sea Res., 36, 1635–1654, 1989.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Hansson(1973a)</label><mixed-citation> Hansson, I.:
A new set of acidity constants for carbonic acid and boric acid in
sea water, Deep-Sea Res., 20, 461–478, 1973a.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Hansson(1973b)</label><mixed-citation>Hansson, I.:
The determination of dissociation constants of carbonic acid in
synthetic sea water in the salinity range of 20–40 ‰ and
temperature range of 5–30 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C, Acta Chemica
Scandanavia, 27,
931–944, 1973b.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Hofmann et al.(2010)Hofmann, Soetaert, Middelburg, and
Meysman</label><mixed-citation> Hofmann, A. F., Soetaert, K.,
Middelburg, J. J., and Meysman, F. J.: AquaEnv: An Aquatic Acid-Base
Modelling Environment in: R. Aquatic Geochemistry, 16, 507–546,
2010.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Hoppe et al.(2012)Hoppe, Langer, Rokitta, Wolf-Gladrow, and
Rost</label><mixed-citation>Hoppe, C. J. M., Langer, G., Rokitta, S. D.,
Wolf-Gladrow, D. A., and Rost, B.: Implications of observed
inconsistencies in carbonate chemistry measurements for ocean
acidification studies, Biogeosciences, 9, 2401–2405,
<ext-link xlink:href="http://dx.doi.org/10.5194/bg-9-2401-2012" ext-link-type="DOI">10.5194/bg-9-2401-2012</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Hunter(2007)</label><mixed-citation>Hunter, K. A.: XLCO2 –
Seawater CO<inline-formula><mml:math display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula> Equilibrium Calculations Using Excel Version 2,
University of Otago, New Zealand, available at:
<uri>http://neon.otago.ac.nz/research/mfc/people/keith_hunter/software/swco2/</uri>
(last access: 24 February 2015), 2007.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Key et al.(2004)Key, Sabine., Lee, Wanninkhof, Bullister,
Feely, Millero, Mordy, and Peng</label><mixed-citation>Key, R. M.,
Sabine., C. L., Lee, K., Wanninkhof, R., Bullister, J.,
Feely, R. A., Millero, F. J., Mordy, C., and Peng, T.-H.: A Global
Ocean carbon climatology: results from Global Data Analysis Project
(GLODAP), Global Biogeochem. Cy., 18, GB4031,
<ext-link xlink:href="http://dx.doi.org/10.1029/2004GB002247" ext-link-type="DOI">10.1029/2004GB002247</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Khoo et al.(1977)Khoo, Ramette, Culberson, and
Bates</label><mixed-citation>Khoo, K. H., Ramette, R. W., Culberson, C. H.,
and Bates, R. G.: Determination of hydrogen ion concentrations in
seawater from 5 to 40 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C: standard potentials at salinities
from 20 to 45 ‰, Anal. Chem., 49, 29–34, 1977.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Kroeker et al.(2013)Kroeker, Kordas, Crim, Hendriks, Ramajo,
Singh, Duarte, and Gattuso</label><mixed-citation> Kroeker, K. J.,
Kordas, R. L., Crim, R., Hendriks, I. E., Ramajo, L., Singh, G. S.,
Duarte, C. M., and Gattuso, J.-P.: Impacts of ocean acidification on
marine organisms: quantifying sensitivities and interaction with
warming, Glob. Change Biol., 19, 156–159, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Lee et al.(2010)Lee, Kim, Byrne, Millero, Feely, and
Liu</label><mixed-citation>Lee, K., Kim, T.-W., Byrne, R. H., Millero, F. J.,
Feely, R. A., and Liu, Y.-M.: The universal ratio of boron to
chlorinity for the North Pacific and North Atlantic oceans,
Geochim. Cosmochim. Ac., 74, 1801–1811,
<ext-link xlink:href="http://dx.doi.org/10.1016/j.gca.2009.12.027" ext-link-type="DOI">10.1016/j.gca.2009.12.027</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Lewis and Wallace(1998)</label><mixed-citation>Lewis, E. and
Wallace, D. W. R.: Program Developed for <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> System
Calculations, ORNL/CDIAC-105, Carbon Dioxide Inf. Anal. Cent., Oak
Ridge Natl. Lab., Oak Ridge, Tenn., 38 pp., 1998.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Locarnini et al.(2010)Locarnini, Mishonov, Antonov, Boyer,
Garcia, Baranova, Zweng, and Johnson</label><mixed-citation>
Locarnini, R., Mishonov, A., Antonov, J., Boyer, T., Garcia, H.,
Baranova, O., Zweng, M., and Johnson, D.: World Ocean Atlas 2009,
Volume 1: Temperature, edited by: Levitus, S., Atlas NESDIS 68,
NOAA, US Government Printing Office, Washington DC, 184 pp.,
2010.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Lueker et al.(2000)Lueker, Dickson, and
Keeling</label><mixed-citation>Lueker, T. J., Dickson, A. G., and
Keeling, C. D.: Ocean <inline-formula><mml:math display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula><inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> calculated from dissolved
inorganic carbon, alkalinity, and equations for <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>:
validation based on laboratory measurements of <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> in gas
and seawater at equilibrium, Mar. Chem., 70, 105–119,
2000.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Martz et al.(2009)Martz, Jannasch, and Johnson</label><mixed-citation>
Martz, T. R., Jannasch, H. W., and Johnson, K. S.: Determination of
carbonate ion concentration and inner sphere carbonate ion pairs in
seawater by ultraviolet spectrophotometric titration, Mar. Chem.,
115, 145–154, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Mehrbach et al.(1973)Mehrbach, Culberson, Hawley, and
Pytkowicz</label><mixed-citation> Mehrbach, C., Culberson, C. H.,
Hawley, J. E., and Pytkowicz, R. M.: Measurement of the apparent
dissociation constants of carbonic acid in seawater at atmospheric
pressure, Limnol. Oceanogr., 18, 897–907, 1973.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Millero(1979)</label><mixed-citation> Millero, F. J.: The
thermodynamics of the carbonate system in seawater,
Geochim. Cosmochim.  Ac., 43, 1651–1661, 1979.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Millero(1983)</label><mixed-citation> Millero, F. J.: Influence of
pressure on chemical processes in the sea, in: Chemical
Oceanography, edited by: Riley, J. P. and Chester, R., 1–88,
Academic Press, New York, 1983.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Millero(1995)</label><mixed-citation> Millero, F. J.: Thermodynamics
of the carbon dioxide system in the oceans, Geochim. Cosmochim.
Ac., 59, 661–677, 1995.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Millero(2007)</label><mixed-citation> Millero, F. J.: The marine
inorganic carbon cycle, Chem. Rev., 107, 308–341, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Millero(2010)</label><mixed-citation>Millero, F. J.: Carbonate
constants for estuarine waters, Mar. Freshwater Res., 61,
139–142, <ext-link xlink:href="http://dx.doi.org/10.1071/MF09254" ext-link-type="DOI">10.1071/MF09254</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Millero et al.(2006)Millero, Graham, Huang, Bustos-Serrano,
and Pierrot</label><mixed-citation>Millero, F. J., Graham, T. B.,
Huang, F., Bustos-Serrano, H., and Pierrot, D.: Dissociation
constants of carbonic acid in seawater, Mar. Chem., 100, 80–94,
<ext-link xlink:href="http://dx.doi.org/10.1016/j.marchem.2005.12.001" ext-link-type="DOI">10.1016/j.marchem.2005.12.001</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Mojica Prieto and Millero(2002)</label><mixed-citation>Mojica Prieto, F. J. and Millero, F. J.: The values of <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>1</mml:mtext></mml:msub><mml:mo>+</mml:mo><mml:mtext>p</mml:mtext><mml:msub><mml:mi>K</mml:mi><mml:mtext>2</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>
for the dissociation of carbonic acid in seawater,
Geochim. Cosmochim. Ac., 66, 2529–2540, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Morris and Riley(1966)</label><mixed-citation> Morris, A. and
Riley, J.: The bromide/chlorinity and sulphate/chlorinity ratio in
sea water, Deep-Sea Res., 13, 699–705, 1966.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Mosley et al.(2010)Mosley, Peake, and Hunter</label><mixed-citation>
Mosley, L. M., Peake, B. M., and Hunter, K. A.: Modelling of pH and
inorganic carbon speciation in estuaries using the composition of
the river and seawater end members, Environ. Modell.
Softw., 25, 1658–1663, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Mucci(1983)</label><mixed-citation> Mucci, A.: The solubility of
calcite and aragonite in seawater at various salinities,
temperatures, and one atmosphere total pressure,
Am. J. Sc., 283,
780–799, 1983.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>Munhoven(2013)</label><mixed-citation>Munhoven, G.: Mathematics of
the total alkalinity-pH equation – pathway to robust and universal
solution algorithms: the SolveSAPHE package v1.0.1, Geosci. Model
Dev., 6, 1367–1388, <ext-link xlink:href="http://dx.doi.org/10.5194/gmd-6-1367-2013" ext-link-type="DOI">10.5194/gmd-6-1367-2013</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>Orr(2011)</label><mixed-citation> Orr, J. C.: Recent and future changes
in ocean carbonate chemistry, in: Ocean Acidification, edited by:
Gattuso, J.-P., and Hansson, L., chap. 3, 41–66, Oxford
Univ. Press, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>Orr and Epitalon(2014)</label><mixed-citation>Orr, J. C. and Epitalon,
J.-M.: Improved routines to model the ocean carbonate system: mocsy
1.0, Geosci. Model Dev. Discuss., 7, 2877–2902,
<ext-link xlink:href="http://dx.doi.org/10.5194/gmdd-7-2877-2014" ext-link-type="DOI">10.5194/gmdd-7-2877-2014</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Orr and Epitalon(2015)</label><mixed-citation>Orr, J. C. and Epitalon, J.-M.: Improved routines to model the ocean carbonate
system: mocsy 2.0, Geosci. Model Dev., 8, 485–499, <ext-link xlink:href="http://dx.doi.org/10.5194/gmd-8-485-2015" ext-link-type="DOI">10.5194/gmd-8-485-2015</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Orr et al.(1999)Orr, Najjar, Sabine, and Joos</label><mixed-citation>
Orr, J. C., Najjar, R., Sabine, C. L., and Joos, F.:
Abiotic-HOWTO. Internal OCMIP Report, LSCE/CEA Saclay,
Gif-sur-Yvette, France, 25 pp., 1999.</mixed-citation></ref>
      <ref id="bib1.bibx49"><label>Orr et al.(2005)Orr, Fabry, Aumont, Bopp, Doney, Feely,
Gnanadesikan, Gruber, Ishida, Joos, Key, Lindsay, Maier-Reimer,
Matear, Monfray, Mouchet, Najjar, Plattner, Rodgers, Sabine,
Sarmiento, Schlitzer, Slater, Totterdell, Weirig, Yamanaka, and
Yool</label><mixed-citation>Orr, J. C., Fabry, V. J., Aumont, O., Bopp, L.,
Doney, S. C., Feely, R. A., Gnanadesikan, A., Gruber, N.,
Ishida, A., Joos, F., Key, R. M., Lindsay, K., Maier-Reimer, E.,
Matear, R., Monfray, P., Mouchet, A., Najjar, R. G.,
Plattner, G.-K., Rodgers, K. B., Sabine, C. L., Sarmiento, J. L.,
Schlitzer, R., Slater, R. D., Totterdell, I. J., Weirig, M.-F.,
Yamanaka, Y., and Yool, A.: Anthropogenic ocean acidification over
the twenty-first century and its impact on calcifying organisms,
Nature, 437, 681–686, <ext-link xlink:href="http://dx.doi.org/10.1038/nature04095" ext-link-type="DOI">10.1038/nature04095</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx50"><label>Orr et al.(2014)Orr, Epitalon, and Gattuso</label><mixed-citation>Orr,
J. C., Epitalon, J.-M., and Gattuso, J.-P.: Comparison of seven
packages that compute ocean carbonate chemistry, Biogeosciences
Discuss., 11, 5327–5397, <ext-link xlink:href="http://dx.doi.org/10.5194/bgd-11-5327-2014" ext-link-type="DOI">10.5194/bgd-11-5327-2014</ext-link>, 2014.
2014.</mixed-citation></ref>
      <ref id="bib1.bibx51"><label>Pelletier et al.(2007)Pelletier, Lewis, and
Wallace</label><mixed-citation>Pelletier, G., Lewis, E., and
Wallace, D.: CO2SY S.XLS: A calculator for the <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> system
in seawater for Microsoft Excel/VBA, Wash. State Dept. of
Ecology/Brookhaven Nat. Lab., Olympia, WA/Upton, NY, USA,
2007.</mixed-citation></ref>
      <ref id="bib1.bibx52"><label>Perez and Fraga(1987)</label><mixed-citation> Perez, F. F. and
Fraga, F.: Association constant of fluoride and hydrogen ions in
seawater, Mar.  Chem., 21, 161–168, 1987.</mixed-citation></ref>
      <ref id="bib1.bibx53"><label>Pierrot et al.(2006)Pierrot, Lewis, and
Wallace</label><mixed-citation>Pierrot, D., Lewis, E., and
Wallace, D. W. R.: MS Excel Program Developed for <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> System
Calculations, Tech. rep., Carbon Dioxide Inf. Anal. Cent., Oak Ridge
Natl. Lab., US DOE, Oak Ridge, Tenn., 2006.</mixed-citation></ref>
      <ref id="bib1.bibx54"><label>Proye and Gattuso(2003)</label><mixed-citation> Proye, A. and
Gattuso, J.-P.: Seacarb, an R package to calculate parameters of
the seawater carbonate system, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx55"><label>R Development Core Team(2012)</label><mixed-citation> R Development
Core Team: R: A Language and Environment for Statistical
Computing, R Foundation for Statistical Computing, Vienna, Austria,
ISBN 3-900051-07-0, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx56"><label>Riley(1965)</label><mixed-citation> Riley, J. P.: The occurrence of
anomalously high fluoride concentrations in the North Atlantic,
Deep-Sea Res., 12, 219–220, 1965.</mixed-citation></ref>
      <ref id="bib1.bibx57"><label>Riley and Tongudai(1967)</label><mixed-citation> Riley, J. and
Tongudai, M.: The major cation/chlorinity ratios in sea water, Chem.
Geol., 2, 263–269, 1967.</mixed-citation></ref>
      <ref id="bib1.bibx58"><label>Robbins et al.(2010)Robbins, Hansen, Kleypas, and
Meylan</label><mixed-citation> Robbins, L. L., Hansen, M. E.,
Kleypas, J. A., and Meylan, S. C.: CO2calc: a user-friendly carbon
calculator for Windows, Mac OS X, and iOS (iPhone), USGS Open-File
Report, 2010–1280, 17, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx59"><label>Roy et al.(1993)Roy, Roy, Vogel, Porter-Moore, Pearson,
Good, Millero, and Campbell</label><mixed-citation>Roy, R. N., Roy, L. N.,
Vogel, K. M., Porter-Moore, C., Pearson, T., Good, C. E.,
Millero, F. J., and Campbell, D. M.: The dissociation constants of
carbonic acid in seawater at salinities 5 to 45 and temperatures 0
to 45 <inline-formula><mml:math display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>C, Mar. Chem., 44, 249–267, 1993.</mixed-citation></ref>
      <ref id="bib1.bibx60"><label>Sarmiento et al.(1995)Sarmiento, Le Quéré, and
Pacala</label><mixed-citation> Sarmiento, J. L., Le Quéré, C.,
and Pacala, S.: Limiting future atmospheric carbon dioxide, Global
Biogeochem. Cy., 9, 121–137, 1995.</mixed-citation></ref>
      <ref id="bib1.bibx61"><label>Schlitzer(2002)</label><mixed-citation> Schlitzer, R.:
Interactive analysis and visualization of geoscience data with
Ocean Data View, Comput.  Geosci., 28, 1211–1218,
2002.</mixed-citation></ref>
      <ref id="bib1.bibx62"><label>Uppström(1974)</label><mixed-citation> Uppström, L. R.: The
Boron/Chlorinity Ratio of Deep-Sea Water from the Pacific Ocean, in:
Deep-Sea Research and Oceanographic Abstracts, 21, 161–162,
Elsevier, 1974.</mixed-citation></ref>
      <ref id="bib1.bibx63"><label>van Heuven et al.(2011)</label><mixed-citation>van Heuven, S., Pierrot,
D., Rae, J. W. B., Lewis, E., and Wallace, D. W. R.: MATLAB program
developed for <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> system calculations, ORNL/CDIAC-105b,
Carbon Dioxide Inf. Anal.  Cent., Oak Ridge Natl. Lab., US DOE, Oak
Ridge, Tenn., 2011.</mixed-citation></ref>
      <ref id="bib1.bibx64"><label>Weiss(1974)</label><mixed-citation> Weiss, R. F.: Carbon dioxide in
water and seawater: the solubility of a non-ideal gas, Mar. Chem.,
2, 203–215, 1974.</mixed-citation></ref>
      <ref id="bib1.bibx65"><label>Wittmann and Pörtner(2013)</label><mixed-citation>
Wittmann, A. C. and Pörtner, H.-O.: Sensitivities of extant
animal taxa to ocean acidification, Nature Climate
Change, 3,
995–1001, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx66"><label>Zeebe and Wolf-Gladrow(2001)</label><mixed-citation>Zeebe, R. E. and
Wolf-Gladrow, D. A.: <inline-formula><mml:math display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> in Seawater: Equilibrium,
Kinetics, Isotopes, Elsevier, Amsterdam, 346 pp., 2001.</mixed-citation></ref>

  </ref-list><app-group content-type="float"><app><title/>

    </app></app-group></back>
    </article>
