<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Nucl. Eng.</journal-id>
<journal-title>Frontiers in Nuclear Engineering</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Nucl. Eng.</abbrev-journal-title>
<issn pub-type="epub">2813-3412</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1295995</article-id>
<article-id pub-id-type="doi">10.3389/fnuen.2023.1295995</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Nuclear Engineering</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Real-time infrared spectroscopy coupled with blind source separation for nuclear waste process monitoring</article-title>
<alt-title alt-title-type="left-running-head">Crouse et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fnuen.2023.1295995">10.3389/fnuen.2023.1295995</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Crouse</surname>
<given-names>Steven H.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2564480/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Kocevska</surname>
<given-names>Stefani</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Noble</surname>
<given-names>Sean</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Prasad</surname>
<given-names>Rupanjali</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Howe</surname>
<given-names>Anthony M.</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Lambert</surname>
<given-names>Dan P.</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Rousseau</surname>
<given-names>Ronald W.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Grover</surname>
<given-names>Martha A.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/239702/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Georgia Institute of Technology</institution>, <institution>School of Chemical and Biomolecular Engineering</institution>, <addr-line>Atlanta</addr-line>, <addr-line>GA</addr-line>, <country>United States</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Savannah River National Laboratory</institution>, <institution>Environmental and Legacy Management Directorate</institution>, <addr-line>Aiken</addr-line>, <addr-line>SC</addr-line>, <country>United States</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2170088/overview">Luke Sadergaski</ext-link>, Oak Ridge National Laboratory (DOE), United States</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1718979/overview">Shingo Tamaki</ext-link>, Osaka University, Japan</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2544502/overview">Jennifer Neu</ext-link>, Oak Ridge National Laboratory (DOE), United States</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Martha A. Grover, <email>martha.grover@chbe.gatech.edu</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>30</day>
<month>11</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>2</volume>
<elocation-id>1295995</elocation-id>
<history>
<date date-type="received">
<day>17</day>
<month>09</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>13</day>
<month>11</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Crouse, Kocevska, Noble, Prasad, Howe, Lambert, Rousseau and Grover.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Crouse, Kocevska, Noble, Prasad, Howe, Lambert, Rousseau and Grover</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>On-line infrared absorbance spectroscopy enables rapid measurement of solution-phase molecular species. Many spectra-to-concentration models exist for spectral data, with some models able to handle overlapping spectral bands and nonlinearities. However, model accuracy is limited by the quality of training data used in model fitting. The process spectra of nuclear waste simulants at the Savannah River Site display incongruity between training and process spectra; the glycolate spectral signature in the training data does not match the glycolate signature in Savannah River National Laboratory process data. A novel blind source separation algorithm is proposed that preprocesses spectral data so that process spectra more closely resemble training spectra, thereby improving model quantification accuracy when unexpected sources of variation appear in process spectra. The novel blind source separation preprocessing algorithm is shown to improve nitrate quantification from an R<sup>2</sup> of 0.934 to 0.988 and from 0.267 to 0.978 in two instances analyzing nuclear waste simulants from the Slurry Receipt Adjustment Tank and Slurry Mix Evaporator cycle at the Savannah River Site.</p>
</abstract>
<kwd-group>
<kwd>ATR-FTIR</kwd>
<kwd>blind source separation</kwd>
<kwd>nuclear waste</kwd>
<kwd>chemometrics</kwd>
<kwd>Savannah River Site</kwd>
<kwd>glycolate</kwd>
<kwd>process monitoring</kwd>
<kwd>preprocessing</kwd>
</kwd-group>
<contract-sponsor id="cn001">U.S. Department of Energy<named-content content-type="fundref-id">10.13039/100000015</named-content>
</contract-sponsor>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Nuclear Materials</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>The Savannah River Site, located in Aiken, South Carolina, has been immobilizing nuclear waste since 1996. The site operates the Defense Waste Processing Facility (DWPF), which processes and vitrifies high-level radioactive waste into borosilicate glass (<xref ref-type="bibr" rid="B13">Lambert et al., 2016</xref>; <xref ref-type="bibr" rid="B12">2021</xref>; <xref ref-type="bibr" rid="B18">Ray et al., 2018</xref>; <xref ref-type="bibr" rid="B11">Lambert and Howe, 2021</xref>; <xref ref-type="bibr" rid="B24">Woodham et al., 2021</xref>). Approximately 35 million gallons of high-level waste containing insoluble solids of long-lived radionuclides remain to be stabilized. As part of the DWPF, sludge waste from the tank farm and effluent from the Salt Waste Processing Facility undergo feed preparation in the Sludge Receipt and Adjustment Tank (SRAT). From the SRAT, the waste is added to the Slurry Mix Evaporator (SME). The SME represents the primary control point for DWPF processing for a variety of processing factors; it is the last processing point where chemical additions occur to alter batch composition and where batches can be evaluated without disrupting melter operation (<xref ref-type="bibr" rid="B18">Ray et al., 2018</xref>). Because of the feed preparation at the SRAT and the qualifying and regulatory measurements made at the SME, implementation of real-time sensors at these vessels could improve decision-making for waste processing.</p>
<p>During SRAT processing, nitric acid and glycolic acid are fed to the current waste batch in accordance with the nitric-glycolic acid flowsheet (<xref ref-type="bibr" rid="B13">Lambert et al., 2016</xref>; <xref ref-type="bibr" rid="B24">Woodham et al., 2021</xref>) to neutralize the alkaline sludge waste and reduce mercury (HgO &#x2192; Hg<sup>0</sup>) for recovery. The system begins with a caustic solution phase (pH 13), which becomes acidic (pH 4) as nitric acid and glycolic acid are introduced. The next batch process occurs in the Slurry Mix Evaporator (SME), where water is evaporated to concentrate the waste, and frit (glass formers) is added to create the feed supplied to the melter. The species&#x2019; concentrations change during the process due to ongoing reactions, such as mercury reduction and nitrite conversion to nitrate (<xref ref-type="bibr" rid="B24">Woodham et al., 2021</xref>). The waste also has high solids content, which reaches 25&#xa0;wt% in the SRAT and 50&#xa0;wt% in the SME (reported as total solids at 110&#xb0;C) (<xref ref-type="bibr" rid="B24">Woodham et al., 2021</xref>). Furthermore, during batch processing, the heels from previous batches are incorporated into successive batches, which results in deviations of batch compositions from feed streams.</p>
<p>In this work, chemical constituents are classified by whether they are quantified by the spectra-to-concentration model. <italic>Targets</italic> are quantified species, while <italic>non-targets</italic> are not quantified despite possibly existing in solution. Species may be labeled non-targets because they are: at insignificant concentrations, not relevant for processing, or difficult to quantify because of model and data mismatch. The presence of non-target species can disrupt the quantification of target species, particularly if non-target species are not considered during model fitting. To deal with overlapping non-target species, a blind source separation (BSS) algorithm is proposed. The first and second steps of the BSS algorithm use classical least squares (CLS) followed by principal component analysis (PCA) to identify spectral estimates from mixture spectra. The third and final step of the algorithm uses multivariate curve resolution&#x2014;alternating least squares (MCR-ALS) to iterate the estimates from the first two steps and any available reference spectra into a bilinear mixture model that matches available process spectra. The proposed BSS algorithm improves the estimation of target species by removing non-target contributions from mixture spectra. In this work, the BSS algorithm removes non-targets given only reference spectra of the target species, nitrate and nitrite, and a poor reference spectrum (a reference spectrum that does not match the shape of the component&#x2019;s spectrum at process conditions) of the most abundant non-target species, glycolate.</p>
<p>The proposed BSS algorithm improves upon similar algorithms by introducing the CLS and PCA steps to identify spectral estimates that are input into MCR-ALS. In the context of process monitoring, the proposed BSS algorithm may reduce the number and frequency of calibration experiments required for spectroscopic monitoring without compromising accuracy, since non-targets may be omitted from training data. In addition, BSS-preprocessing could facilitate real-time results in scenarios where decision-making is time-sensitive, but process spectra deviate from training data due to unforeseen process conditions, ordinarily requiring additional calibration experiments and corresponding process down-time.</p>
<p>In this paper, Attenuated total reflectance - Fourier transform infrared spectroscopy (ATR-FTIR) is used to analyze anions in the SRAT and SME processes. A novel BSS algorithm is developed to preprocess spectral data by removing the influence of non-target species. To test the proposed algorithm, partial least squares regression (PLSR) prediction accuracy is compared for BSS-preprocessed spectra and spectra with no BSS-preprocessing applied. Lastly, the utility of ATR-FTIR measurements for real-time monitoring is demonstrated in the context of nuclear waste slurries at the Savannah River Site by quantifying a continuous 65-h run of scaled-down SRAT and SME processes.</p>
</sec>
<sec sec-type="materials|methods" id="s2">
<title>2 Materials and methods</title>
<sec id="s2-1">
<title>2.1 Overview of the waste</title>
<p>A simplified process flowsheet for the DWPF is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>. The physical and chemical composition of a representative sludge simulant (i.e., the SRAT feed) is shown in <xref ref-type="table" rid="T1">Table 1</xref>, while the composition of the final processing points (i.e., the SRAT and SME product slurries) are shown in <xref ref-type="table" rid="T2">Table 2</xref>. The SRAT feed undergoes chemical preparation (acid addition) in the SRAT before receiving glass frit additions and dewatering at the SME. Nitrate (N<inline-formula id="inf1">
<mml:math id="m1">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>) and nitrite (N<inline-formula id="inf2">
<mml:math id="m2">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>) were chosen as target species for estimation because of their process relevance (see <xref ref-type="table" rid="T1">Tables 1</xref>, <xref ref-type="table" rid="T2">2</xref>) and potential for in-line monitoring. Other infrared-active species that may be present during waste processing and labeled as non-targets are: glycolate <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, carbonate <inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, oxalate <inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, formate <inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">H</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, phosphate <inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, and sulfate <inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">S</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. Glycolate is a non-target because its observed process spectra show deviations from available reference and training spectra, complicating its quantification. Species other than glycolate are labeled as non-targets because of their small expected process concentrations. Known anion reactions that may occur during the SRAT and SME processes include: nitrite destruction, nitrite-to-nitrate conversion, glycolate destruction, glycolate-to-formate conversion, and glycolate-to-oxalate conversion. Detailed information on the expected anion conversions is provided by Woodham and coworkers (<xref ref-type="bibr" rid="B24">Woodham et al., 2021</xref>). Typically, anion concentrations at the Savannah River Site are quantified with ion chromatography (IC), which is associated with approximately 10% uncertainty and waiting times on the order of days (<xref ref-type="bibr" rid="B23">White et al., 2015</xref>). In addition to ionic species, the simulant also contains the following solids as detected by inductively coupled plasma - atomic emission spectroscopy: Ag, Al, Ba, Ca, Cr, Cu, Fe, Hg, K, Mg, Mn, Na, Ni, Pd, Rh, Ru, S, Si, Zn, and Zr (<xref ref-type="bibr" rid="B24">Woodham et al., 2021</xref>).</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Simplified flowsheet for Defense Waste Processing Facility (DWPF) (<xref ref-type="bibr" rid="B18">Ray et al., 2018</xref>).</p>
</caption>
<graphic xlink:href="fnuen-02-1295995-g001.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Simulant SRAT feed composition (i.e., expected process input), corresponding to nonradioactive simulated Tank 40&#x2013;8 measured by <xref ref-type="bibr" rid="B24">Woodham et al. (2021)</xref>. The wt% total solids (TS) represents the solids that do not dissolve after heating to 110&#xb0;C, while the wt% insoluble solids (IS) represents the difference between the measured total solids and dissolved solids.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Parameter</th>
<th align="center">Supernatant target [mM]</th>
</tr>
</thead>
<tbody valign="top">
<tr style="background-color:&#x23;">
<td align="center">
<bold>Na</bold>
<sup>&#x2b;</sup>
</td>
<td align="center">1010</td>
</tr>
<tr style="background-color:&#x23;">
<td align="center">
<bold>Cl</bold>
<sup>&#x2212;</sup>
</td>
<td align="center">&#x3c;2.82</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf9">
<mml:math id="m9">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">N</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">194</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf10">
<mml:math id="m10">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">N</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">119</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf11">
<mml:math id="m11">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">13.7</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf12">
<mml:math id="m12">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">7.00</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf13">
<mml:math id="m13">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">P</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">&#x3c;1.05</td>
</tr>
<tr style="background-color:&#x23;">
<td align="center">
<bold>OH</bold>
<sup>&#x2212;</sup>
</td>
<td align="center">219</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf14">
<mml:math id="m14">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">C</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">36.1</td>
</tr>
<tr>
<td style="background-color:#c6c7c9" align="center">
<bold>Parameter</bold>
</td>
<td style="background-color:#c6c7c9" align="center">
<bold>Slurry Target [wt%]</bold>
</td>
</tr>
<tr>
<td align="center">
<bold>Insoluble Solids</bold>
</td>
<td align="center">8.39</td>
</tr>
<tr>
<td align="center">
<bold>Total Solids</bold>
</td>
<td align="center">13.90</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Simulant SRAT product and SME product concentrations (i.e., expected midpoint and process output, respectively) corresponding to nonradiaoctive simulated Tank 40&#x2013;8 SRAT/SME product slurries reported by <xref ref-type="bibr" rid="B24">Woodham et al. (2021)</xref>.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Parameter</th>
<th align="center">SRAT product slurry [mM]</th>
<th align="center">SME product slurry [mM]</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">
<inline-formula id="inf15">
<mml:math id="m15">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">H</mml:mi>
<mml:mi mathvariant="bold">C</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">17.1</td>
<td align="center">21.4</td>
</tr>
<tr>
<td align="center">
<bold>Cl</bold>
<sup>&#x2212;</sup>
</td>
<td align="center">3.70</td>
<td align="center">&#x3c;3.78</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf16">
<mml:math id="m16">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">N</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">&#x3c;2.48</td>
<td align="center">&#x3c;2.92</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf17">
<mml:math id="m17">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">N</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">1070</td>
<td align="center">953</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf18">
<mml:math id="m18">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">P</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">&#x3c;1.20</td>
<td align="center">&#x3c;1.41</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf19">
<mml:math id="m19">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">17.5</td>
<td align="center">16.8</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf20">
<mml:math id="m20">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">25.3</td>
<td align="center">30.6</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf21">
<mml:math id="m21">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">906</td>
<td align="center">863</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf22">
<mml:math id="m22">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">C</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">&#x3c;6.66</td>
<td align="center">25.1</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf23">
<mml:math id="m23">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">N</mml:mi>
<mml:mi mathvariant="bold">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">&#x3c;2.77</td>
<td align="center">&#x3c;2.77</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s2-2">
<title>2.2 Design of experiments</title>
<p>Nonradioactive experiments mimicking the DWPF SRAT and SME cycles were performed in a 2-L Mettler Toledo Reaction Calorimeter (RC1) vessel equipped with temperature, pH, and ATR-FTIR probes. Due to the high solids content, the sludge waste was probed with <italic>in-situ</italic> ATR-FTIR spectroscopy, which was able to measure infrared-active molecules in the solution phase without interference from solid particles because of a shallow laser penetration depth of 2&#x2013;3&#xa0;&#x3bc;m (<xref ref-type="bibr" rid="B4">Cornel et al., 2008</xref>). ATR-FTIR measured concentrations were compared to IC measured concentrations collected by the Savannah River National Laboratory Process Science Analytical Laboratory. Before IC measurement, samples were caustic quenched by addition of 50% NaOH, which has been reported to increase the accuracy of ion measurements via IC (<xref ref-type="bibr" rid="B23">White et al., 2015</xref>). Samples were taken from the SRAT/SME cycles at different processing points in two separate experiments, referred to as <italic>Run 1</italic> and <italic>Run 2</italic>. Run 1 process data correspond to five IC measurements from a SRAT/SME experiment (<xref ref-type="sec" rid="s10">Supplementary Table S1</xref>) with corresponding ATR-FTIR spectra. Run 2 process data correspond to three IC measurements from a SRAT/SME experiment (<xref ref-type="sec" rid="s10">Supplementary Table S2</xref>), also with corresponding ATR-FTIR data. Run 2 has an additional 3899 spectra (collected every minute over the course of 65&#xa0;h) that do not have associated IC measurements; the spectra will be used to show real-time changes in the SRAT and SME processes. The RC1 vessel was used to collect spectral data for model training (eight experiments shown in <xref ref-type="sec" rid="s10">Supplementary Table S3</xref>), which were designed to match reported anion concentrations in the SRAT/SME sludge simulant (<xref ref-type="table" rid="T1">Table 1</xref>) and SRAT/SME product (<xref ref-type="table" rid="T2">Table 2</xref>) for the most abundant anions: nitrate, nitrite, and glycolate. Training data were collected using sodium salts without controlling pH, so training data pHs are basic.</p>
</sec>
<sec id="s2-3">
<title>2.3 Blind source separation</title>
<p>Blind source separation refers to techniques that infer original or source signals solely from measurements of signal mixtures (<xref ref-type="bibr" rid="B17">Naik and Wang, 2014</xref>). In the context of spectroscopy and this work, blind source separation can be used to estimate and remove the pure sources that make up a signal mixture, even when those sources are unknown. Blind source separation has been shown by <xref ref-type="bibr" rid="B15">Maggioni et al., 2019</xref>; <xref ref-type="bibr" rid="B10">Kocevska et al., 2021</xref>. to be effective in preprocessing spectra to remove non-target species from Raman and ATR-FTIR spectra in nuclear waste simulants. Kocevska&#x2019;s BSS algorithm incorporated available process information by augmenting mixture data to include known reference spectra, thereby guiding the identification of sources by independent component analysis (ICA) and MCR-ALS. The proposed algorithm of this work, in contrast, does not require algorithmic identification of known sources; known species are constrained to match user-supplied references, while unknown species are found in a &#x201c;blind&#x201d; manner similar to Maggioni&#x2019;s and Kocevska&#x2019;s BSS algorithms. The new preprocessing structure allows for available reference spectra to be directly incorporated into a BSS algorithm without estimating them algorithmically. In Kocevska&#x2019;s and Maggioni&#x2019;s works, sources identified with ICA and MCR-ALS, even well-known species, are limited in quality by the accuracy of the BSS algorithm; found sources may not always match user-supplied references. A quantitative comparison of BSS methods can be found in <xref ref-type="sec" rid="s10">Supplementary Figures S1, S2</xref>, and in <xref ref-type="sec" rid="s10">Supplementary Table S4</xref>. The proposed algorithm gives the user control over which components are modified and subtracted by the blind source separation algorithm, while still identifying and subtracting unknown species that may arise in real-time due to changing process conditions. In the context of nuclear waste monitoring, such an algorithm could facilitate real-time spectral preprocessing that utilizes available references for target species, while allowing for continual removal of non-target species that may appear or change throughout processing.</p>
<p>The proposed algorithm uses a combined CLS and principal component analysis (PCA) step, rather than ICA as reported previously (<xref ref-type="bibr" rid="B15">Maggioni et al., 2019</xref>; <xref ref-type="bibr" rid="B10">Kocevska et al., 2021</xref>), to provide initial guesses for MCR-ALS with a nonnegativity constraint. Deviation from a linear combination of known sources (the error matrix from CLS fitting) is used to identify sources in the mixture spectra that do not correspond to known species. Applying PCA to the CLS error matrix to identify unknown sources from mixture spectra has been reported by Haaland and Melgaard, who referred to this technique as spectral residual augmented classical least squares (SRACLS) (<xref ref-type="bibr" rid="B6">Haaland and Melgaard, 2000</xref>; <xref ref-type="bibr" rid="B7">Haaland and Melgaard, 2002</xref>). Their method improved the prediction accuracy and robustness of CLS by identifying sources of variation not present in their training data. In this work, the residuals of the CLS model fit are analyzed by PCA and then supplied to MCR-ALS to provide a bilinear model for source subtraction. The methodological pipeline is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Methodological pipeline for the proposed BSS algorithm in three steps: <bold>(A)</bold> calculate residuals of classical least squares where mixture spectra (A) and reference spectra (K) are used to find the concentration matrix (C) that minimizes (in the least-squares sense) the residual matrix (E<sub>CLS</sub>), which provides an estimate of species that do not have known reference spectra, <bold>(B)</bold> perform principal component analysis on the residual matrix (E<sub>CLS</sub>) and extract the (elementwise) squared principal components (U), and <bold>(C)</bold> perform multivariate curve resolution - alternating least squares using known reference spectra (K) and estimates of unknown sources from principal component analysis (U) to identify a physically realistic mixture model that matches the mixture spectra. After the mixture model is identified, source subtraction can be done as is shown in Eq. <xref ref-type="disp-formula" rid="e9">9</xref>.</p>
</caption>
<graphic xlink:href="fnuen-02-1295995-g002.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="F2">Figure 2A</xref>, the first step of the BSS algorithm is the well-established CLS relationship (Eq. <xref ref-type="disp-formula" rid="e1">1</xref>), which is used to model mixture spectra with all known reference spectra (targets and non-targets) so that any additional species present can be identified from CLS model error. Model error, in general, accounts for both measurement noise and model mis-match. In the application of spectroscopy, one cause of model mis-match is the presence of unknown species. Minimizing error, <bold>E</bold>
<sub>CLS</sub>, in the least squares sense and solving for concentrations, <bold>C</bold>, is shown in Eq. <xref ref-type="disp-formula" rid="e2">2</xref> (<xref ref-type="bibr" rid="B16">Melgaard et al., 2002</xref>). The least-squares solution can be found by setting <bold>E</bold>
<sub>CLS</sub> &#x3d; 0 and solving for the concentration matrix, <bold>C</bold>. Model error can then be solved for in terms of target references, <bold>K</bold>, and process spectra, <bold>A</bold>, by rearranging Eq. <xref ref-type="disp-formula" rid="e1">1</xref> and inserting Eq. <xref ref-type="disp-formula" rid="e2">2</xref>, yielding Eq. <xref ref-type="disp-formula" rid="e3">3</xref>:<disp-formula id="e1">
<mml:math id="m24">
<mml:mi mathvariant="bold">A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">C</mml:mi>
<mml:mi mathvariant="bold">K</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(1)</label>
</disp-formula>
<disp-formula id="e2">
<mml:math id="m25">
<mml:mi mathvariant="bold">C</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">A</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold">K</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m26">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">C</mml:mi>
<mml:mi mathvariant="bold">K</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">A</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold">K</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold">K</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">A</mml:mi>
</mml:math>
<label>(3)</label>
</disp-formula>where <bold>A</bold> is an <italic>n</italic> &#xd7; <italic>q</italic> matrix of mixture spectra, <bold>C</bold> is an <italic>n</italic> &#xd7; <italic>p</italic> concentration matrix of pure components, <bold>K</bold> is an <italic>p</italic> &#xd7; <italic>q</italic> matrix of pure component reference spectra of the target species, and <bold>E</bold>
<sub>CLS</sub> is an <italic>n</italic> &#xd7; <italic>q</italic> matrix representing noise and error that is not modeled with linear combinations of the known reference spectra. In this work, there are <italic>n</italic> experimental observations, <italic>q</italic> is the dimension of the spectra (reported wavenumbers), and <italic>p</italic> is the number of sources for which references exist.</p>
<p>The second step of the proposed BSS algorithm, shown in <xref ref-type="fig" rid="F2">Figure 2B</xref>, applies PCA to the residuals from the error matrix of CLS fitting, <bold>E</bold>
<sub>CLS</sub>. PCA reduces the dimensionality of data by projecting the data onto a space of reduced dimension while maximizing the variance in the projected data (<xref ref-type="bibr" rid="B1">Bishop, 2006</xref>; <xref ref-type="bibr" rid="B2">Brunton and Kutz, 2022</xref>). PCA assumes that the data have been mean-centered, meaning that the data have been mean-centered by subtracting the mean row, <inline-formula id="inf24">
<mml:math id="m27">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, from each row of the original matrix. The principal components of a matrix can be found as the eigenvectors of the matrix&#x2019;s covariance matrix, <bold>&#x3a6;</bold>. Calculating the covariance matrix, shown in Eq. <xref ref-type="disp-formula" rid="e4">4</xref>, and finding the associated eigenvectors, shown in Eq. <xref ref-type="disp-formula" rid="e5">5</xref>, yield the principal components of PCA:<disp-formula id="e4">
<mml:math id="m28">
<mml:mi mathvariant="bold">&#x3a6;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(4)</label>
</disp-formula>
<disp-formula id="e5">
<mml:math id="m29">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3a6;</mml:mi>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(5)</label>
</disp-formula>where <bold>v</bold>
<sub>
<italic>i</italic>
</sub> is the <italic>i</italic>
<sup>th</sup> eigenvector (<italic>i</italic>
<sup>th</sup> principal component) corresponding to <italic>&#x3bb;</italic>
<sub>
<italic>i</italic>
</sub>, the <italic>i</italic>
<sup>th</sup> eigenvalue. In the context of the present BSS algorithm, the largest <italic>r</italic> eigenvalues are retained in addition to the corresponding eigenvectors/principal components, where <italic>r</italic> is the number of expected sources beyond to the <italic>p</italic> known references. The principal components from PCA, rather than loadings as used by Haaland and Melgaard, are used in this work (<xref ref-type="bibr" rid="B7">Haaland and Melgaard, 2002</xref>). Principal components have unit scaling, whereas loadings do not, and so principal components were chosen as &#x201c;standardized&#x201d; initial guesses for the subsequent MCR-ALS algorithm. The principal components, once computed, are squared so that the spectra are nonnegative for MCR-ALS (step three). This process is shown in Eq. <xref ref-type="disp-formula" rid="e6">6</xref>, where the elements of each principal component are squared (&#x25e6;2 represents the elementwise square or Hadamard power of a matrix). This follows the methodology of Maggioni&#x2019;s two-step BSS algorithm that squares independent components from ICA (which may also have negative components) before inputting into MCR-ALS, which has a nonnegativity constraint applied (<xref ref-type="bibr" rid="B15">Maggioni et al., 2019</xref>).<disp-formula id="e6">
<mml:math id="m30">
<mml:mi mathvariant="bold">U</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x25e6;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center"/>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x25e6;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x25e6;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x2026;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x25e6;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center"/>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>The third step of the BSS algorithm, shown in <xref ref-type="fig" rid="F2">Figure 2C</xref>, uses the known references and estimated unknown sources from PCA as source estimates for MCR-ALS. MCR-ALS is a bilinear model that decomposes mixture spectra into a concentration matrix, <bold>C</bold>, and a reference spectra matrix, <bold>S</bold>
<sup>T</sup>, as is shown in Eq. <xref ref-type="disp-formula" rid="e7">7</xref> (<xref ref-type="bibr" rid="B21">Tauler et al., 1993</xref>; <xref ref-type="bibr" rid="B20">Tauler, 1995</xref>; <xref ref-type="bibr" rid="B8">Jaumot et al., 2015</xref>). In <xref ref-type="fig" rid="F2">Figure 2C</xref>, the reference spectra are divided into known references (K) and estimated references (U) that are the squared principal components from the PCA step.<disp-formula id="e7">
<mml:math id="m31">
<mml:mi mathvariant="bold">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">C</mml:mi>
<mml:mi mathvariant="bold">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>MCR</mml:mtext>
<mml:mo>-</mml:mo>
<mml:mtext>ALS</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>For MCR-ALS, initial guesses can be supplied for either <bold>C</bold> or <bold>S</bold>
<sup>T</sup>. In this work, reference spectra (<bold>S</bold>
<sup>T</sup>) are supplied which MCR-ALS iterates to match the process spectra. MCR-ALS is calculated with a nonnegativity constraint in this work to eliminate negative or physically unrealistic spectra. The initial guess for spectra, <inline-formula id="inf25">
<mml:math id="m32">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Guess</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is given by a vector of concatenated columns of <italic>p</italic> known reference spectra and <italic>r</italic> spectral estimates provided by PCA. The number of spectral estimates, <italic>r</italic>, is determined by the MCR-ALS algorithm, which is described in Section S3. Eq. <xref ref-type="disp-formula" rid="e8">8</xref> shows the initial guess provided for <bold>S</bold>
<sup>T</sup>. In this work, the MCR-ALS algorithm applies a constraint that the target species remain identical to the user-supplied references; this is a default functionality of the MCR-ALS algorithm and denoted by the bar <inline-formula id="inf26">
<mml:math id="m33">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mspace width="0.3333em"/>
<mml:mspace width="0.3333em"/>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> over species held constant in Eq. <xref ref-type="disp-formula" rid="e8">8</xref> (<xref ref-type="bibr" rid="B3">Camp, 2019</xref>). The constraint on target species may be advantageous for a real-time monitoring scenario since the constraint gives the blind source separation algorithm predictable behavior for the target species, improving model interpretability and reliability. In this paper, references are provided for <inline-formula id="inf27">
<mml:math id="m34">
<mml:mi mathvariant="normal">N</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, <inline-formula id="inf28">
<mml:math id="m35">
<mml:mi mathvariant="normal">N</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, <inline-formula id="inf29">
<mml:math id="m36">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, and H<sub>2</sub>O. The MCR-ALS algorithm constrains the calculated spectra to match the user-supplied reference spectra for <inline-formula id="inf30">
<mml:math id="m37">
<mml:mi mathvariant="normal">N</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, <inline-formula id="inf31">
<mml:math id="m38">
<mml:mi mathvariant="normal">N</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, and H<sub>2</sub>O.<disp-formula id="e8">
<mml:math id="m39">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Guess</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center"/>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Guess&#x2009;&#x2009;</mml:mtext>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Guess&#x2009;&#x2009;</mml:mtext>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x2026;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Guess&#x2009;&#x2009;r</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center"/>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(8)</label>
</disp-formula>
</p>
<p>The MCR-ALS algorithm produces a model that is capable of decomposing the process spectra into estimated source spectra. Subsequently, the sources corresponding to non-targets are subtracted. In this work, glycolate is a non-target species and is subtracted, along with any other detected sources. Water, while not a target, is the solvent and not subtracted in this work since it does not contribute significant spectral variation between measurements. Eq. <xref ref-type="disp-formula" rid="e9">9</xref> shows the subtraction of non-target sources using the model produced by MCR-ALS.<disp-formula id="e9">
<mml:math id="m40">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Preprocessed</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">A</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Guess&#x2009;&#x2009;</mml:mtext>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center"/>
<mml:mtd columnalign="center">
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center"/>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Guess&#x2009;&#x2009;r</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
<mml:mo>-</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center"/>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Guess&#x2009;&#x2009;</mml:mtext>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x2026;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Guess&#x2009;&#x2009;r</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center"/>
<mml:mtd columnalign="center">
<mml:mo>&#x007C;</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
<p>After source subtraction, the resulting preprocessed data can be robust to infrared-active species outside of the training dataset and spectral changes that occur in complex mixtures. Process implementation of BSS preprocessing can enable more accurate quantification of target analytes. However, concurrently operating fault detection algorithms should, in general, utilize unaltered spectra, since the BSS preprocessing discussed in this work may mask equipment failures or significant spectral changes that may be valuable for detecting sensor or process faults.</p>
</sec>
<sec id="s2-4">
<title>2.4 Partial least squares regression</title>
<p>PLSR with four latent variables is used to quantify all of the spectra in this work, and is performed after BSS-preprocessing described in <xref ref-type="sec" rid="s2-3">Section 2.3</xref>. PLSR has been well-reported in its ability to quantify complex mixture spectra with overlapping spectral bands, particularly when monitoring nuclear waste solutions with vibrational spectroscopy. Recent work in the nuclear field has applied PLSR to: locally linear regimes using piecewise PLSR with absorbance spectroscopy (<xref ref-type="bibr" rid="B14">Lascola et al., 2017</xref>), multiple species in real Hanford waste using Raman spectroscopy (<xref ref-type="bibr" rid="B22">Tse et al., 2021</xref>), and sodium salt solutions with a limited training set using ATR-FTIR and Raman spectroscopy (<xref ref-type="bibr" rid="B10">Kocevska et al., 2021</xref>). Since concentration is restricted to nonnegative values, a nonnegativity constraint is applied to all PLSR results for physical accuracy. Prior to being input into PLSR models but following BSS-preprocessing from <xref ref-type="sec" rid="s2-3">Section 2.3</xref>, all spectra are filtered with the Savitzky-Golay method utilizing seven filter points, a second order polynomial, and a first order derivative. Spectra and concentrations are standard scaled by mean-subtraction and scaling to unit variance immediately prior to PLSR quantification.</p>
</sec>
<sec id="s2-5">
<title>2.5 Computation</title>
<p>Python 3.9 was used for all computation and data analysis in this work, with the code and experimental dataset from this work published on GitHub. The scikit-learn implementations of PLSR, PCA, and FastICA were used, while SciPy was used for Savitzky-Golay Filtering. The NIST package, pyMCR, was used to perform MCR-ALS (<xref ref-type="bibr" rid="B3">Camp, 2019</xref>).</p>
</sec>
</sec>
<sec sec-type="results|discussion" id="s3">
<title>3 Results and discussion</title>
<p>ATR-FTIR reference spectra of measurable solution analytes are shown in <xref ref-type="sec" rid="s3-1">Section 3.1</xref>. The ATR-FTIR spectrum of glycolate <inline-formula id="inf32">
<mml:math id="m41">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is observed to display nonlinear peak-shifting as a result of variable process parameters in <xref ref-type="sec" rid="s3-2">Section 3.2</xref>. In <xref ref-type="sec" rid="s3-3">Section 3.3</xref>, the developed BSS algorithm is used to remove a glycolate source from spectra of Run 1 and is used to identify and remove two glycolate sources from Run 2. Lastly five spectra from Run 1 are quantified in <xref ref-type="sec" rid="s3-4">Section 3.4</xref> and 3902 spectra from Run 2 are quantified in <xref ref-type="sec" rid="s3-5">Section 3.5</xref>.</p>
<sec id="s3-1">
<title>3.1 Reference spectra</title>
<p>ATR-FTIR reference spectra were collected to determine spectral signatures of possible analytes in the SRAT and SME vessels. While nitrate and nitrite represent the target species for the slurry, the slurry may include additional anions at low concentrations (see <xref ref-type="table" rid="T1">Tables 1</xref>, <xref ref-type="table" rid="T2">2</xref>). Reference data for all known IR-active species at approximate SRAT/SME concentrations are shown in <xref ref-type="fig" rid="F3">Figure 3</xref> with reference spectra concentrations listed in <xref ref-type="table" rid="T3">Table 3</xref>. The target species are highly IR-active, while some of the non-target species (such as oxalate and formate) have weak IR signals at process-relevant concentrations. Since the non-target species, excluding glycolate, are not present at high concentrations in the waste, it is possible that they do not significantly interfere with the signals of the targets. The peaks of non-target species (shown in <xref ref-type="fig" rid="F3">Figure 3B</xref>) other than glycolate were not included as references in the BSS algorithm. Carbonate and sulfate are 2.58 and 2.70 times more concentrated in the references of <xref ref-type="fig" rid="F3">Figure 3B</xref> than in the typical feed to the SRAT (<xref ref-type="table" rid="T1">Table 1</xref>). Carbonate, sulfate, and other non-targets were not reliably observed in the mixture spectra, and so the BSS algorithm is tasked with identifying these species if they are significantly present in the solution.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Reference spectra of aqueous <bold>(A)</bold> target anions (including water) and <bold>(B)</bold> non-target anions found in the DWPF waste during the SRAT and SME processes collected at 25&#xb0;C. Corresponding concentrations are listed in <xref ref-type="table" rid="T3">Table 3</xref>.</p>
</caption>
<graphic xlink:href="fnuen-02-1295995-g003.tif"/>
</fig>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Concentrations of reference spectra shown in <xref ref-type="fig" rid="F3">Figure 3</xref>, representative of expected process concentrations from <xref ref-type="table" rid="T1">Tables 1</xref>, <xref ref-type="table" rid="T2">2</xref>. Collected at 25&#xb0;C and pH-calibrated at 22&#xb0;C.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Reference</th>
<th align="center">Formula</th>
<th align="center">pH</th>
<th align="center">Concentration [M]</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">
<bold>Water</bold>
</td>
<td align="center">H<sub>2</sub>O</td>
<td align="center">5.93</td>
<td align="center">55.494</td>
</tr>
<tr>
<td align="center">
<bold>Nitrate</bold>
</td>
<td align="center">N<inline-formula id="inf33">
<mml:math id="m42">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">6.53</td>
<td align="center">0.946</td>
</tr>
<tr>
<td align="center">
<bold>Nitrite</bold>
</td>
<td align="center">N<inline-formula id="inf34">
<mml:math id="m43">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">7.49</td>
<td align="center">0.281</td>
</tr>
<tr>
<td align="center">
<bold>Glycolate</bold>
</td>
<td align="center">
<inline-formula id="inf35">
<mml:math id="m44">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">7.86</td>
<td align="center">0.795</td>
</tr>
<tr>
<td align="center">
<bold>Carbonate</bold>
</td>
<td align="center">
<inline-formula id="inf36">
<mml:math id="m45">
<mml:mi mathvariant="normal">C</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">11.34</td>
<td align="center">0.093</td>
</tr>
<tr>
<td align="center">
<bold>Sulfate</bold>
</td>
<td align="center">
<inline-formula id="inf37">
<mml:math id="m46">
<mml:mi mathvariant="normal">S</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">5.79</td>
<td align="center">0.037</td>
</tr>
<tr>
<td align="center">
<bold>Formate</bold>
</td>
<td align="center">
<inline-formula id="inf38">
<mml:math id="m47">
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mi mathvariant="normal">H</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">6.97</td>
<td align="center">0.076</td>
</tr>
<tr>
<td align="center">
<bold>Oxalate</bold>
</td>
<td align="center">
<inline-formula id="inf39">
<mml:math id="m48">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">7.42</td>
<td align="center">0.024</td>
</tr>
<tr>
<td align="center">
<bold>Phosphate</bold>
</td>
<td align="center">
<inline-formula id="inf40">
<mml:math id="m49">
<mml:mi mathvariant="normal">P</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</td>
<td align="center">7.86</td>
<td align="center">0.021</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-2">
<title>3.2 Processing variables: temperature and pH</title>
<p>Processing variables can affect ATR-FTIR signals, which affects both interpretation and reliability of signal-to-composition models. Processing variables of interest for the SRAT/SME process include temperature and pH. Temperature starts at room temperature (approximately 25&#xb0;C) but is near-boiling (approximately 93&#xb0;C) for much of the process. Likewise, pH begins at 13 and drops to 4 through acid addition. In this section, variations in spectra with processing parameters will be discussed to determine what nonlinearities, if any, are present in the ATR-FTIR spectra of the SRAT and SME processes.</p>
<p>Low-temperature (25&#xb0;C) and high-temperature (80&#xb0;C&#x2013;93&#xb0;C) 1&#xa0;M reference spectra of nitrate (N<inline-formula id="inf41">
<mml:math id="m50">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>), nitrite (N<inline-formula id="inf42">
<mml:math id="m51">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>), glycolate <inline-formula id="inf43">
<mml:math id="m52">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, and glycolic acid (C<sub>2</sub>H<sub>4</sub>O<sub>3</sub>) are shown in <xref ref-type="fig" rid="F4">Figure 4</xref>. Nitrate, shown in <xref ref-type="fig" rid="F4">Figure 4A</xref>, has a temperature-dependent peak shift that can be seen on the lower-wavenumber side of the 25&#xb0;C nitrate peak. The nitrate anion (N<inline-formula id="inf44">
<mml:math id="m53">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>) has previously been shown to display peak-shifting in the Raman spectrum resulting from ion association (<xref ref-type="bibr" rid="B9">Kocevska et al., 2022</xref>). In addition, temperature-dependent ion association has been demonstrated by <xref ref-type="bibr" rid="B25">Yu et al. (2012)</xref>. At elevated temperatures (40&#xb0;C &#x2192; 80&#xb0;C) and high concentrations of sodium nitrate, Yu <italic>et al.</italic> attribute shift in the Raman spectrum to complex aggregated contact ions, indicating that sodium (Na<sup>&#x2b;</sup>) and nitrate (N<inline-formula id="inf45">
<mml:math id="m54">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>) tend to aggregate at higher temperatures. There is a decrease in the total peak area and a shift in location of the nitrate peak, indicating possible shifting between sub-peaks for the nitrate anion. The peak location for nitrite, glycolate, and glycolic acid all display subtle temperature variations with our instrument, shown in <xref ref-type="fig" rid="F4">Figures 4B&#x2013;D</xref>. However, pH has a greater impact than temperature on FTIR spectra at the Savannah River Site.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Comparison of 1&#xa0;M ATR-FTIR absorbance spectra at low and high temperatures for <bold>(A)</bold> nitrate (N<inline-formula id="inf46">
<mml:math id="m55">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>), <bold>(B)</bold> nitrite (N<inline-formula id="inf47">
<mml:math id="m56">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>), <bold>(C)</bold> glycolate <inline-formula id="inf48">
<mml:math id="m57">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, and <bold>(D)</bold> glycolic acid (C<sub>2</sub>H<sub>4</sub>O<sub>3</sub>).</p>
</caption>
<graphic xlink:href="fnuen-02-1295995-g004.tif"/>
</fig>
<p>The feed stream to the SRAT typically has a pH of 13, which decreases to a pH around 4 after the addition of both nitric acid and glycolic acid. This pH shift affects the speciation of weak acids, such as glycolic acid, in the solution phase. Glycolate begins SRAT processing in a deprotonated form, due to the high solution pH, and shifts to a protonated form as the solution pH decreases. Glycolate speciation, shown in <xref ref-type="fig" rid="F5">Figures 5A</xref>, is calculated by using the pKa of glycolic acid and Eq. <xref ref-type="disp-formula" rid="e10">10</xref>. Based on values available in the literature, a pKa value of 3.83 for glycolic acid at 25&#xb0;C is used (<xref ref-type="bibr" rid="B19">Serjeant and Dempsey, 1979</xref>).<disp-formula id="e10">
<mml:math id="m58">
<mml:mi>m</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mspace width="0.3333em"/>
<mml:mi>f</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mspace width="0.3333em"/>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mspace width="0.3333em"/>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
<mml:mspace width="0.3333em"/>
<mml:mi>a</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(10)</label>
</disp-formula>The ATR-FTIR spectra of glycolate, after the spectra of water have been subtracted, are shown as a function of pH in <xref ref-type="fig" rid="F5">Figure 5B</xref>. As can be seen from the magnified region in <xref ref-type="fig" rid="F5">Figure 5B</xref>, the glycolate peak matches the peak seen in the training data at high pH. As pH is lowered, another peak appears on the higher-wavenumber side of the high pH glycolate peak while the original peak decreases. The result is a 15&#xa0;cm<sup>&#x2212;1</sup> shift in the 1078&#xa0;cm<sup>&#x2212;1</sup> glycolate peak to 1093&#xa0;cm<sup>&#x2212;1</sup>. The acidic form of nitrite (N<inline-formula id="inf49">
<mml:math id="m59">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>), nitrous acid (HNO<sub>2</sub>), is a weak acid with a pKa of 2.3 (<xref ref-type="bibr" rid="B5">das Gra&#xe7;as Gomes et al., 1993</xref>). However, nitrite-destruction reactions decrease nitrite below the limit of detection for ATR-FTIR before nitrous acid is expected to be detectable in solution.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>
<bold>(A)</bold> Protonation of glycolic acid calculated as a function of pH using a pKa of 3.83 (<xref ref-type="bibr" rid="B19">Serjeant and Dempsey, 1979</xref>) and <bold>(B)</bold> reference spectra (water subtracted) for glycolate at 25&#xb0;C as a function of pH.</p>
</caption>
<graphic xlink:href="fnuen-02-1295995-g005.tif"/>
</fig>
<p>Since the key measurements during DWPF processing occur at a constant temperature of 93&#xb0;C, the training data for the system were collected at 93&#xb0;C and are shown in <xref ref-type="fig" rid="F6">Figure 6A</xref>. Approximate pH data are shown in <xref ref-type="sec" rid="s10">Supplementary Tables S1&#x2013;S3</xref> in the Supplementary Information. The process data, shown in <xref ref-type="fig" rid="F6">Figure 6B</xref> (Run 1) and 6c (Run 2), were sampled during runs of the SRAT/SME cycle. The spectra baseline and the shape of the glycolate <inline-formula id="inf50">
<mml:math id="m60">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> peak differ between the training and process spectra shown in <xref ref-type="fig" rid="F6">Figure 6</xref>. The effect of the variable baseline is minimized by taking the first derivative of the spectra using the Savitzky-Golay Filter (not shown). The glycolate peaks in both process runs deviate from that of the training data, as is shown by the magnified sections in <xref ref-type="fig" rid="F6">Figure 6</xref>. Specifically, the glycolate peak from Run 1 (<xref ref-type="fig" rid="F6">Figure 6B</xref>) has a shoulder on the higher-wavenumber side that is not present in the training data (<xref ref-type="fig" rid="F6">Figure 6A</xref>). Run 2 (<xref ref-type="fig" rid="F6">Figure 6C</xref>) has, by comparison to Run 1, a sharper glycolate peak that has a smaller shoulder on the higher-wavenumber side and shoulder on the lower-wavenumber side as well. The peak-shifting from <xref ref-type="fig" rid="F5">Figure 5</xref> may account for much of the difference observed between training data and process data in <xref ref-type="fig" rid="F6">Figure 6</xref>. These changes in the glycolate peak location and shape may affect a spectra-to-concentration model fit using the training data from <xref ref-type="fig" rid="F6">Figure 6A</xref>, where the glycolate peak is in a single location.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>
<bold>(A)</bold> PLSR model training data, <bold>(B)</bold> process data from Run 1 collected from five different conditions in the SRAT/SME process, and <bold>(C)</bold> process data from Run 2 from three different conditions in the SRAT/SME process. The magnified region (1000&#x2013;1150&#xa0;cm<sup>&#x2212;1</sup>) highlights the glycolate <inline-formula id="inf51">
<mml:math id="m61">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> peak.</p>
</caption>
<graphic xlink:href="fnuen-02-1295995-g006.tif"/>
</fig>
</sec>
<sec id="s3-3">
<title>3.3 Blind source separation source matching</title>
<p>In this work, nitrate and nitrite are target species to be quantified. Therefore, it is the objective of the BSS algorithm to remove non-target species: known sources that deviate from training conditions (glycolate) and unknown sources with unknown spectra (potentially oxalate, carbonate, formate, phosphate, and sulfate). While the presence and approximate concentration ranges of non-target components may be known, much of their chemistry has not been fully elucidated in the complex mixtures present in the DWPF.</p>
<p>The BSS algorithm proposed in <xref ref-type="sec" rid="s2-3">Section 2.3</xref> was run separately on the process spectra from Run 1 (<xref ref-type="fig" rid="F6">Figure 6B</xref>) and Run 2 (<xref ref-type="fig" rid="F6">Figure 6C</xref>). The BSS algorithm was provided the target reference spectra (including water) from <xref ref-type="fig" rid="F3">Figure 3A</xref> and an initial guess for glycolate from the high-pH reference in <xref ref-type="fig" rid="F3">Figure 3B</xref>. The MCR-ALS step determined the number of additional sources, beyond glycolate, to be zero for Run 1 and one for Run 2.</p>
<p>Run 1 BSS source matching is shown in <xref ref-type="fig" rid="F7">Figure 7A</xref>, where the BSS-determined glycolate source (pink) is compared to the high-pH glycolate reference (dashed black) and the mixture spectra (blue) of Run 1. BSS, particularly the MCR-ALS step, estimates the glycolate contribution to be broader than the supplied reference, as can be seen by the pink curve having greater peak width at the 1078&#xa0;cm<sup>&#x2212;1</sup> peak than the dashed black curve. The MCR-ALS algorithm produces this &#x201c;widened&#x201d; glycolate source by altering the provided reference spectra of non-targets to match the calculated bilinear model (Eq. <xref ref-type="disp-formula" rid="e7">7</xref>) with the experimental mixture spectra from <xref ref-type="fig" rid="F7">Figure 7A</xref> (shown in blue). From <xref ref-type="fig" rid="F7">Figure 7A</xref>, the BSS-determined source (pink) better matches the qualitative shape of the measured (blue) peak at 1078&#xa0;cm<sup>&#x2212;1</sup> than the supplied high-pH glycolate reference (dashed black).</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Comparisons between measured spectra (93&#xb0;C), high-pH glycolate reference (25&#xb0;C), BSS-estimated glycolate reference, and a calculated source from the BSS algorithm for <bold>(A)</bold> Run 1 and <bold>(B)</bold> Run 2.</p>
</caption>
<graphic xlink:href="fnuen-02-1295995-g007.tif"/>
</fig>
<p>Run 2 BSS source matching is shown in <xref ref-type="fig" rid="F7">Figure 7B</xref>, where continuous run data (3902 spectra) of the SRAT and SME processes are analyzed. A source (brown) is identified in <xref ref-type="fig" rid="F7">Figure 7B</xref> that does not match any user-input reference sources. The proposed source resembles a baseline shift, in addition to model mismatch in the region of glycolate (1078&#xa0;cm<sup>&#x2212;1</sup>) and nitrate, carbonate, and glycolate (1410&#xa0;cm<sup>&#x2212;1</sup>). The discovered peak centered on 1410&#xa0;cm<sup>&#x2212;1</sup> may correspond to glycolate or carbonate, both of which have associated peaks in that location. The combined baseline and model mismatch may demonstrate a limitation of using PCA (or other latent variable methods) to identify sources; principal components may not be have a single physical interpretation and may instead be a combination of sources. During Run 2 (<xref ref-type="fig" rid="F7">Figure 7B</xref>), the glycolate peak (pink) is again &#x201c;widened&#x201d; to match the appearance of glycolate in the mixture spectra (blue).</p>
</sec>
<sec id="s3-4">
<title>3.4 Quantification of anions in SRAT/SME samples (Run 1)</title>
<p>
<xref ref-type="fig" rid="F8">Figure 8A</xref> shows BSS-preprocessing and its removal of estimated glycolate contributions from process spectra of Run 1. Peaks are subtracted in the vicinity of 1078&#xa0;cm<sup>&#x2212;1</sup> and 1450&#xa0;cm<sup>&#x2212;1</sup>. The parity plots comparing the concentration predictions for PLSR models using either original spectra or BSS preprocessed spectra are shown in <xref ref-type="fig" rid="F8">Figure 8B</xref>. Quantifiable improvements are achieved with BSS preprocessing applied and are shown in <xref ref-type="table" rid="T4">Table 4</xref>. Nitrate quantification is improved from an R<sup>2</sup> value of 0.934 to an R<sup>2</sup> value of 0.988 with BSS preprocessing applied to the spectra. Nitrite quantification is also improved, but the quantification at process concentrations is limited for both original and preprocessed spectra. This error is likely due to low concentration of the nitrite anion in solution and corresponding low intensity of the nitrite peak in the FTIR spectrum. In <xref ref-type="table" rid="T4">Table 4</xref>, mean percent error is not quantified for nitrite since it has IC-measured concentrations of zero, which causes a division-by-zero error.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>
<bold>(A)</bold> Overlay of Run 1 spectra before and after BSS-preprocessing; <bold>(B)</bold> parity plot comparing Run 1 concentration predictions for a PLSR model (blue) and PLSR model with BSS-preprocessing applied (red).</p>
</caption>
<graphic xlink:href="fnuen-02-1295995-g008.tif"/>
</fig>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Table of error metrics corresponding to <xref ref-type="fig" rid="F8">Figure 8B</xref>.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">
<inline-formula id="inf55">
<mml:math id="m65">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="blue">
<mml:mi mathvariant="normal">Original</mml:mi>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="left">Nitrate</th>
<th align="left">Nitrite</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Coefficient of Determination (R<sup>2</sup>)</td>
<td align="left">0.934</td>
<td align="left">0.605</td>
</tr>
<tr>
<td align="left">Root Mean Squared Error (mol/L)</td>
<td align="left">0.0130</td>
<td align="left">0.0023</td>
</tr>
<tr>
<td align="left">95% Confidence Interval (mol/L)</td>
<td align="left">0.183</td>
<td align="left">0.081</td>
</tr>
<tr>
<td align="left">Mean Percent Error (%)</td>
<td align="left">11.7</td>
<td align="left">&#x2212;</td>
</tr>
</tbody>
</table>
<table>
<thead valign="top">
<tr>
<th align="left">
<inline-formula id="inf56">
<mml:math id="m66">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="orange">
<mml:mi mathvariant="bold">Preprocessed</mml:mi>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="left">
<bold>Nitrate</bold>
</th>
<th align="left">
<bold>Nitrite</bold>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Coefficient of Determination (R<sup>2</sup>)</td>
<td align="left">0.988</td>
<td align="left">0.661</td>
</tr>
<tr>
<td align="left">Root Mean Squared Error (mol/L)</td>
<td align="left">0.0025</td>
<td align="left">0.0020</td>
</tr>
<tr>
<td align="left">95% Confidence Interval (mol/L)</td>
<td align="left">0.081</td>
<td align="left">0.076</td>
</tr>
<tr>
<td align="left">Mean Percent Error (%)</td>
<td align="left">9.91</td>
<td align="left">&#x2212;</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Applying blind source separation to the process data improves the quantification of nitrate and possibly nitrite while also providing visually interpretable results through peak subtraction. The peak that is removed at 1078&#xa0;cm<sup>&#x2212;1</sup> corresponds to glycolate based on process knowledge and peak location. However, this glycolate peak has a different shape than the supplied glycolate reference and the spectra appearing in the training dataset. The BSS algorithm is able to improve the initial guess of the glycolate spectrum to better match the components observed in the mixture spectra, resulting in an accurate bilinear mixture model that allows glycolate contributions to be removed for improved model quantification.</p>
</sec>
<sec id="s3-5">
<title>3.5 Quantification of anions in continuous SRAT/SME samples (Run 2)</title>
<p>
<xref ref-type="fig" rid="F9">Figure 9A</xref> shows BSS-preprocessing and its removal of estimated glycolate contributions from 3902 process spectra. The parity plots comparing the concentration predictions for PLSR models using both original spectra and BSS preprocessing are shown in <xref ref-type="fig" rid="F9">Figure 9B</xref>. Quantifiable improvements are achieved with BSS preprocessing for nitrate quantification. The model error is shown in <xref ref-type="table" rid="T5">Table 5</xref>. Nitrate quantification is improved from an R<sup>2</sup> value of 0.267 to an R<sup>2</sup> value of 0.978 with BSS preprocessing applied to the spectra. Nitrite quantification is less accurate with an initial R<sup>2</sup> of 0.722 which decreases to 0.703 with BSS-preprocessing. A limitation of nitrite quantification results for Run 2 are that only three timepoints have corresponding IC-reported concentration values, and two of the three timepoints report the nitrite IC concentration at zero (measured below 100&#xa0;ppm). Therefore, there is a single measurement containing nitrite for quantification for Run 2. Nitrate, however, is present in significant amounts in all three timepoints in <xref ref-type="fig" rid="F9">Figure 9B</xref>. <xref ref-type="sec" rid="s10">Supplementary Table S5</xref>, <xref ref-type="sec" rid="s10">Supplementary Figures S3, S4</xref> in the Supplementary Information show a comparative study where the BSS algorithm is provided different combinations of low- and high-pH glycolate sources.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>
<bold>(A)</bold> Overlay of 3902 process spectra from Run 2 before and after BSS-preprocessing; <bold>(B)</bold> parity plot comparing Run 2 concentration predictions for a PLSR model (blue) and a PLSR model with BSS-preprocesssing applied (red).</p>
</caption>
<graphic xlink:href="fnuen-02-1295995-g009.tif"/>
</fig>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Table of error metrics corresponding to <xref ref-type="fig" rid="F9">Figure 9B</xref>.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">
<inline-formula id="inf57">
<mml:math id="m67">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="blue">
<mml:mi mathvariant="normal">Original</mml:mi>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="left">Nitrate</th>
<th align="left">Nitrite</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Coefficient of Determination (R<sup>2</sup>)</td>
<td align="left">0.267</td>
<td align="left">0.772</td>
</tr>
<tr>
<td align="left">Root Mean Squared Error (mol/L)</td>
<td align="left">0.2959</td>
<td align="left">0.0022</td>
</tr>
<tr>
<td align="left">95% Confidence Interval (mol/L)</td>
<td align="left">0.831</td>
<td align="left">0.074</td>
</tr>
<tr>
<td align="left">Mean Percent Error (%)</td>
<td align="left">59.4</td>
<td align="left">&#x2212;</td>
</tr>
</tbody>
</table>
<table>
<thead valign="top">
<tr>
<th align="left">
<inline-formula id="inf58">
<mml:math id="m68">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="orange">
<mml:mi mathvariant="bold">Preprocessed</mml:mi>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="left">
<bold>Nitrate</bold>
</th>
<th align="left">
<bold>Nitrite</bold>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Coefficient of Determination (R<sup>2</sup>)</td>
<td align="left">0.978</td>
<td align="left">0.703</td>
</tr>
<tr>
<td align="left">Root Mean Squared Error (mol/L)</td>
<td align="left">0.0087</td>
<td align="left">0.0029</td>
</tr>
<tr>
<td align="left">95% Confidence Interval (mol/L)</td>
<td align="left">0.139</td>
<td align="left">0.084</td>
</tr>
<tr>
<td align="left">Mean Percent Error (%)</td>
<td align="left">20.2</td>
<td align="left">&#x2212;</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>ATR-FTIR has the capability for real-time measurements, whereas IC measurements often incur measurement delays. <xref ref-type="fig" rid="F10">Figure 10</xref>, which reports concentrations at every timepoint for Run 2 along with the three timepoints with IC data, highlights the distinction between time resolution provided by ATR-FTIR and IC for a typical SRAT/SME cycle. Glycolate contributions have been removed using BSS preprocessing in <xref ref-type="fig" rid="F10">Figure 10A</xref>, whereas no BSS preprocessing is applied in <xref ref-type="fig" rid="F10">Figure 10B</xref>. In <xref ref-type="fig" rid="F10">Figure 10A</xref>, only two species are quantified: nitrate and nitrite. However, these two species match the reported IC concentrations (denoted by the circles and triangles) more closely throughout processing than the equivalent quantification with no preprocessing in <xref ref-type="fig" rid="F10">Figure 10B</xref>. Most notable is the difference in nitrate quantification, which is much improved when BSS-preprocessing is applied. The better agreement of BSS-preprocessed ATR-FTIR prediction with IC measurements in <xref ref-type="fig" rid="F10">Figure 10A</xref> has the drawback of not quantifying glycolate, even if <xref ref-type="fig" rid="F10">Figure 10B</xref> suggests that glycolate is quantified poorly given the available training data. In the case where it is desirable to improve quantification of nitrate and nitrite via BSS and additionally quantify glycolate, two separate models could be constructed for providing original glycolate estimates (still including any errors of the original spectra) while improving nitrate and nitrite estimates through source subtraction.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Continuous SRAT and SME data (Run 2) quantified using <bold>(A)</bold> BSS to remove glycolate contributions and a PLSR quantification model and <bold>(B)</bold> only a PLSR quantification model where glycolate is quantified and not removed.</p>
</caption>
<graphic xlink:href="fnuen-02-1295995-g010.tif"/>
</fig>
<p>Based on the results for quantifying nitrate and nitrite, ATR-FTIR is able to measure the concentration of target anions as they undergo additions and reactions in the SRAT/SME processes. Nitrate concentration, monitored via ATR-FTIR in <xref ref-type="fig" rid="F10">Figure 10</xref>, sharply increases 8&#xa0;h into Run 2. The measured nitrate increase corresponds to the addition of nitric acid in the SRAT, which indicates ATR-FTIR can verify nitric acid addition. Additionally the saw-tooth pattern appearing in <xref ref-type="fig" rid="F10">Figure 10</xref> around 40&#xa0;h into the process corresponds to the repeated addition of water followed by a dewatering step. Dewatering is observed as an increase in concentration as the solvent evaporates, concentrating the remaining solution. In SRAT/SME processing, solution-phase concentration information during the dewatering step can be used to verify that the expected mass is evaporated. By measuring nitrate concentration, unexpected changes in heating efficiency, changes in specific heat of the feed stream, or clogs in the vapor outlet could be detected and undergo further troubleshooting. Similarly, the nitrite anion can be monitored to ensure that all nitrite is destroyed through acid addition, at least to the limit that is detectable with ATR-FTIR. In <xref ref-type="fig" rid="F10">Figure 10B</xref>, qualitative information is provided for the glycolate anion despite quantitative inaccuracy. The glycolate concentration can be seen to sharply increase shortly after the nitrate concentration increases. This is from the glycolic acid addition, which follows the nitric acid addition and introduces glycolate to the SRAT. The acid additions also lower the solution pH to about 4, which will cause some glycolate to exist in its protonated form for the remaining duration of SRAT/SME processing.</p>
<p>The presence of nitrate, an abundant analyte that is active in the infrared spectrum, may allow for other nonvolatile and nonreactive solution species to be estimated with a mass-balance during the chemical additions, dewatering process, and up until the slurry is transported to the melter. As the final control point before the slurry is melted, close monitoring of the solution-phase in the SRAT and SME could accelerate and support decisions made by the DWPF Analytical Laboratory regarding waste batch approval (<xref ref-type="bibr" rid="B18">Ray et al., 2018</xref>).</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s4">
<title>4 Conclusion</title>
<p>This work serves as both a proof of concept on the use of ATR-FTIR spectroscopy for monitoring slurry samples at the Savannah River Site and an example of a novel blind source separation algorithm for improving quantification of complex mixture spectra. ATR-FTIR spectroscopy performs rapid process measurements compared to typical IC sample analysis, enabling real-time monitoring and decision-making. However, the complex chemistry and variable process parameters in vessels at the Savannah River Site necessitate ATR-FTIR spectra-to-composition models that are robust to changing chemical and process conditions. In this work, measured ATR-FTIR spectra were combined with a blind source separation algorithm to overcome limited training spectra that do not match process spectra. Specifically, the glycolate anion <inline-formula id="inf52">
<mml:math id="m62">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is observed to change spectroscopic behavior in slurries typical of the Savannah River Site, which is attributed to shifting pH from nitric and glycolic acid additions during processing. To address the behavior of the glycolate anion in future Savannah River Site monitoring tasks, a spectroscopic training set may be constructed that probes the full range of process-relevant pH&#x2019;s so that acidic and basic forms of glycolate are included in spectroscopic training data.</p>
<p>The concentrations of target species, nitrate <inline-formula id="inf53">
<mml:math id="m63">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and nitrite <inline-formula id="inf54">
<mml:math id="m64">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, were predicted by PLSR using both raw and BSS-preprocessed spectra. For two different runs of the SRAT/SME processes, nitrate quantification improved from an R<sup>2</sup> of 0.934 to 0.988 and from 0.267 to 0.978 when subtracting overlapping BSS-estimated glycolate peaks from measured spectra. BSS preprocessing may be useful even when reference spectra are available, since process conditions can stray from well-controlled bounds where quantification models are typically designed, impacting the spectral signatures of key species. Beyond nuclear waste processing, applications of the presently discussed blind source separation technique may be found in instances where spectral quantification of complex mixture spectra is necessary, but process information is limited <italic>a priori</italic> or process conditions vary.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s5">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/<xref ref-type="sec" rid="s10">Supplementary Material</xref>, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s6">
<title>Author contributions</title>
<p>SC: Conceptualization, Formal Analysis, Writing&#x2013;original draft. SK: Conceptualization, Investigation, Writing&#x2013;review and editing. SN: Investigation, Writing&#x2013;review and editing. RP: Writing&#x2013;review and editing. AH: Writing&#x2013;review and editing, Investigation. DL: Writing&#x2013;review and editing, Project administration, Resources. RR: Project administration, Resources, Writing&#x2013;review and editing. MG: Project administration, Resources, Writing&#x2013;review and editing.</p>
</sec>
<sec id="s7">
<title>Funding</title>
<p>The author(s) declare financial support was received for the research, authorship, and/or publication of this article. Support by the U.S. Department of Energy under Cooperative Agreement DE-FC01-06EW07053, entitled &#x201c;The Consortium for Risk Evaluation with Stakeholder Participation III,&#x201d; is gratefully acknowledged. This work was produced by Battelle Savannah River Alliance, LLC under Contract No. 89303321CEM000080 with the U.S. Department of Energy. Publisher acknowledges the U.S. Government license to provide public access under the DOE Public Access Plan (<ext-link ext-link-type="uri" xlink:href="http://energy.gov/downloads/doe-public-access-plan">http://energy.gov/downloads/doe-public-access-plan</ext-link>). This material is based upon work supported under an Integrated University Program Graduate Fellowship.</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s9">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec id="s10">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fnuen.2023.1295995/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fnuen.2023.1295995/full&#x23;supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="DataSheet1.PDF" id="SM1" mimetype="application/PDF" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Bishop</surname>
<given-names>C. M.</given-names>
</name>
</person-group> (<year>2006</year>). <source>Pattern recognition and machine learning</source>. <publisher-name>Springer</publisher-name>.</citation>
</ref>
<ref id="B2">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Brunton</surname>
<given-names>S. L.</given-names>
</name>
<name>
<surname>Kutz</surname>
<given-names>N. J.</given-names>
</name>
</person-group> (<year>2022</year>). <source>Data-driven science and engineering</source>. <edition>2nd edn</edition>. <publisher-loc>Cambridge</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>.</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Camp</surname>
<given-names>C. H.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>PyMCR: a Python library for multivariate curve resolution analysis with alternating regression (MCR-AR)</article-title>. <source>J. Res. Natl. Inst. Stand. Technol.</source> <volume>124</volume> (<issue>124018</issue>), <fpage>1</fpage>&#x2013;<lpage>10</lpage>. <pub-id pub-id-type="doi">10.6028/jres.124.018</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cornel</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Lindenberg</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Mazzotti</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Quantitative application of <italic>in situ</italic> ATR-FTIR and Raman Spectroscopy in crystallization processes</article-title>. <source>Anal. Chem.</source> <volume>47</volume>, <fpage>4870</fpage>&#x2013;<lpage>4882</lpage>. <pub-id pub-id-type="doi">10.1021/ie800236v</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>das Gra&#xe7;as Gomes</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>da</surname>
<given-names>S. S.</given-names>
</name>
<name>
<surname>Borges</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Lopes</surname>
<given-names>L. G.</given-names>
</name>
<name>
<surname>Franco</surname>
<given-names>D. W.</given-names>
</name>
</person-group> (<year>1993</year>). <article-title>UV-visible spectrum of nitrous acid in solution: pKa determination and analytical applications</article-title>. <source>Anal. Chim. Acta</source> <volume>282</volume>, <fpage>81</fpage>&#x2013;<lpage>85</lpage>. <pub-id pub-id-type="doi">10.1016/0003-2670(93)80354-N</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Haaland</surname>
<given-names>D. M.</given-names>
</name>
<name>
<surname>Melgaard</surname>
<given-names>D. K.</given-names>
</name>
</person-group> (<year>2000</year>). <article-title>New prediction-augmented classical least-squares (PACLS) methods: application to unmodeled interferents</article-title>. <source>Appl. Spectrosc.</source> <volume>54</volume>, <fpage>1303</fpage>&#x2013;<lpage>1312</lpage>. <pub-id pub-id-type="doi">10.1366/0003702001951228</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Haaland</surname>
<given-names>D. M.</given-names>
</name>
<name>
<surname>Melgaard</surname>
<given-names>D. K.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>New augmented classical least squares methods for improved quantitative spectral analyses</article-title>. <source>Vib. Spectrosc.</source> <volume>29</volume>, <fpage>171</fpage>&#x2013;<lpage>175</lpage>. <pub-id pub-id-type="doi">10.1016/S0924-2031(01)00199-0</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jaumot</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>de Juan</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Tauler</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>MCR-ALS GUI 2.0: new features and applications</article-title>. <source>Chemom. Intelligent Laboratory Syst.</source> <volume>140</volume>, <fpage>1</fpage>&#x2013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1016/j.chemolab.2014.10.003</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kocevska</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Maggioni</surname>
<given-names>G. M.</given-names>
</name>
<name>
<surname>Crouse</surname>
<given-names>S. H.</given-names>
</name>
<name>
<surname>Prasad</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Rousseau</surname>
<given-names>R. W.</given-names>
</name>
<name>
<surname>Grover</surname>
<given-names>M. A.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Effect of ion interactions on the Raman spectrum of NO3&#x2014;: toward monitoring of low-activity nuclear waste at Hanford</article-title>. <source>Chem. Eng. Res. Des.</source> <volume>181</volume>, <fpage>173</fpage>&#x2013;<lpage>194</lpage>. <pub-id pub-id-type="doi">10.1016/j.cherd.2022.03.002</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kocevska</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Maggioni</surname>
<given-names>G. M.</given-names>
</name>
<name>
<surname>Rousseau</surname>
<given-names>R. W.</given-names>
</name>
<name>
<surname>Grover</surname>
<given-names>M. A.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Spectroscopic quantification of target species in a complex mixture using blind source separation and partial least-squares regression: a case study on Hanford waste</article-title>. <source>Industrial Eng. Chem. Res.</source> <volume>60</volume>, <fpage>9885</fpage>&#x2013;<lpage>9896</lpage>. <pub-id pub-id-type="doi">10.1021/acs.iecr.1c01387</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Lambert</surname>
<given-names>D. P.</given-names>
</name>
<name>
<surname>Howe</surname>
<given-names>A. M.</given-names>
</name>
</person-group> (<year>2021</year>), <comment>May</comment> <publisher-loc>Aiken, SC, United States</publisher-loc>. <publisher-name>Savannah River National Laboratory</publisher-name>. <article-title>Antifoam development for eliminating flammability hazards and decreasing cycle time in the Defense waste processing facility</article-title>. <source>Tech. Rep.</source> <pub-id pub-id-type="doi">10.2172/1630277</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lambert</surname>
<given-names>D. P.</given-names>
</name>
<name>
<surname>Nikolov</surname>
<given-names>A. D.</given-names>
</name>
<name>
<surname>Wasan</surname>
<given-names>D. T.</given-names>
</name>
<name>
<surname>Williams</surname>
<given-names>M. S.</given-names>
</name>
<name>
<surname>Howe</surname>
<given-names>A. M.</given-names>
</name>
<name>
<surname>Woodham</surname>
<given-names>W. H.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A novel defoamer for processing nuclear waste: testing and performance</article-title>. <source>Environ. Prog. Sustain. Energy</source> <volume>40</volume>, <fpage>1</fpage>&#x2013;<lpage>13</lpage>. <pub-id pub-id-type="doi">10.1002/ep.13607</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Lambert</surname>
<given-names>D. P.</given-names>
</name>
<name>
<surname>Williams</surname>
<given-names>M. S.</given-names>
</name>
<name>
<surname>Brandenburg</surname>
<given-names>C. H.</given-names>
</name>
<name>
<surname>Newell</surname>
<given-names>J. D.</given-names>
</name>
</person-group> (<year>2016</year>). <source>Sludge batch 9 simulant runs using the nitric-glycolic acid flowsheet</source> <comment>Technical Report</comment>. <publisher-loc>Aiken, SC, United States</publisher-loc> <publisher-name>Savannah River National Laboratory</publisher-name>. <pub-id pub-id-type="doi">10.2172/1335822</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lascola</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>O&#x2019;Rourke</surname>
<given-names>P. E.</given-names>
</name>
<name>
<surname>Kyser</surname>
<given-names>E. A.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>A piecewise local partial least squares (PLS) method for the quantitative analysis of plutonium nitrate solutions</article-title>. <source>Appl. Spectrosc.</source> <volume>71</volume>, <fpage>2579</fpage>&#x2013;<lpage>2594</lpage>. <pub-id pub-id-type="doi">10.1177/0003702817734000</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Maggioni</surname>
<given-names>G. M.</given-names>
</name>
<name>
<surname>Kocevska</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Grover</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Rousseau</surname>
<given-names>R. W.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Analysis of multicomponent ionic mixtures using blind source separation: a processing case study</article-title>. <source>Industrial Eng. Chem. Res.</source> <volume>58</volume>, <fpage>22640</fpage>&#x2013;<lpage>22651</lpage>. <pub-id pub-id-type="doi">10.1021/acs.iecr.9b03214</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Melgaard</surname>
<given-names>D. K.</given-names>
</name>
<name>
<surname>Haaland</surname>
<given-names>D. M.</given-names>
</name>
<name>
<surname>Wehlburg</surname>
<given-names>C. M.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Concentration residual augmented classical least squares (CRACLS): a multivariate calibration method with advantages over partial least squares</article-title>. <source>Appl. Spectrosc.</source> <volume>56</volume>, <fpage>615</fpage>&#x2013;<lpage>624</lpage>. <pub-id pub-id-type="doi">10.1366/0003702021955178</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Naik</surname>
<given-names>G. R.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2014</year>). <source>Blind source separation: advances in theory, algorithms and applications</source>. <publisher-name>Springer</publisher-name>. <pub-id pub-id-type="doi">10.1007/978-3-642-55016-4</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ray</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Culbertson</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Marra</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Plodinec</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>DWPF glass product control Program</article-title>. <comment>Technical Report</comment>.</citation>
</ref>
<ref id="B19">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Serjeant</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Dempsey</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>1979</year>). <source>Ionisation constants of organic acids in aqueous solution</source>. <publisher-loc>Oxford</publisher-loc>: <publisher-name>Pergamon Press</publisher-name>.</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tauler</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>1995</year>). <article-title>Multivariate curve resolution applied to second order data</article-title>. <source>Chemom. Intelligent Laboratory Syst.</source> <volume>30</volume>, <fpage>133</fpage>&#x2013;<lpage>146</lpage>. <pub-id pub-id-type="doi">10.1016/0169-7439(95)00047-X</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tauler</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Izquierdo-Ridorsa</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Casassas</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>1993</year>). <article-title>Simultaneous analysis of several spectroscopic titrations with self-modelling curve resolution</article-title>. <source>Chemom. Intelligent Laboratory Syst.</source> <volume>18</volume>, <fpage>293</fpage>&#x2013;<lpage>300</lpage>. <pub-id pub-id-type="doi">10.1016/0169-7439(93)85006-3</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tse</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Shafer</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Bryan</surname>
<given-names>S. A.</given-names>
</name>
<name>
<surname>Lines</surname>
<given-names>A. M.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Quantification of Raman-interfering polyoxoanions for process analysis: comparison of different chemometric models and a demonstration on real Hanford waste</article-title>. <source>Environ. Sci. Technol.</source> <volume>55</volume>, <fpage>12943</fpage>&#x2013;<lpage>12950</lpage>. <pub-id pub-id-type="doi">10.1021/acs.est.1c02512</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>White</surname>
<given-names>T. L.</given-names>
</name>
<name>
<surname>Lambert</surname>
<given-names>D. P.</given-names>
</name>
<name>
<surname>Zamecnik</surname>
<given-names>J. R.</given-names>
</name>
<name>
<surname>Riley</surname>
<given-names>W. T.</given-names>
</name>
</person-group> (<year>2015</year>). <source>Ion chromatography (IC) Analysis of Glycolate in simulated waste</source>. <comment>Technical Report</comment>. <publisher-loc>Aiken</publisher-loc>: <publisher-name>Savannah River National Laboratory</publisher-name>.</citation>
</ref>
<ref id="B24">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Woodham</surname>
<given-names>W. H.</given-names>
</name>
<name>
<surname>Howe</surname>
<given-names>A. M.</given-names>
</name>
<name>
<surname>Siegfried</surname>
<given-names>M. J.</given-names>
</name>
</person-group> (<year>2021</year>). <source>Tech. Rep. September</source> <publisher-loc>Aiken, SC, United States</publisher-loc>. <publisher-name>Savannah River National Laboratory</publisher-name>. <article-title>Sludge batch 10 flowsheet testing with non-radioactive simulants</article-title>. <pub-id pub-id-type="doi">10.2172/1821142</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yu</surname>
<given-names>J. Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Tan</surname>
<given-names>S. H.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y. H.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Observation on the ion association equilibria in NaNO3 droplets using micro-Raman spectroscopy</article-title>. <source>J. Phys. Chem. B</source> <volume>116</volume>, <fpage>12581</fpage>&#x2013;<lpage>12589</lpage>. <pub-id pub-id-type="doi">10.1021/jp306367v</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>