<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1d3 20150301//EN" "http://jats.nlm.nih.gov/publishing/1.1d3/JATS-journalpublishing1.dtd">
<article article-type="research-article" dtd-version="1.1d3" 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="nlm-ta">PLoS ONE</journal-id>
<journal-id journal-id-type="publisher-id">plos</journal-id>
<journal-id journal-id-type="pmc">plosone</journal-id>
<journal-title-group>
<journal-title>PLOS ONE</journal-title>
</journal-title-group>
<issn pub-type="epub">1932-6203</issn>
<publisher>
<publisher-name>Public Library of Science</publisher-name>
<publisher-loc>San Francisco, CA USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">PONE-D-19-08533</article-id>
<article-id pub-id-type="doi">10.1371/journal.pone.0223542</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Research Article</subject>
</subj-group>
<subj-group subj-group-type="Discipline-v3"><subject>Physical sciences</subject><subj-group><subject>Mathematics</subject><subj-group><subject>Probability theory</subject><subj-group><subject>Probability distribution</subject><subj-group><subject>Normal distribution</subject></subj-group></subj-group></subj-group></subj-group></subj-group><subj-group subj-group-type="Discipline-v3"><subject>Research and analysis methods</subject><subj-group><subject>Precipitation techniques</subject></subj-group></subj-group><subj-group subj-group-type="Discipline-v3"><subject>Physical sciences</subject><subj-group><subject>Mathematics</subject><subj-group><subject>Probability theory</subject><subj-group><subject>Random variables</subject><subj-group><subject>Covariance</subject></subj-group></subj-group></subj-group></subj-group></subj-group><subj-group subj-group-type="Discipline-v3"><subject>Earth sciences</subject><subj-group><subject>Atmospheric science</subject><subj-group><subject>Meteorology</subject></subj-group></subj-group></subj-group><subj-group subj-group-type="Discipline-v3"><subject>Earth sciences</subject><subj-group><subject>Atmospheric science</subject><subj-group><subject>Climatology</subject><subj-group><subject>Climate change</subject></subj-group></subj-group></subj-group></subj-group><subj-group subj-group-type="Discipline-v3"><subject>Physical sciences</subject><subj-group><subject>Mathematics</subject><subj-group><subject>Statistics</subject><subj-group><subject>Statistical data</subject></subj-group></subj-group></subj-group></subj-group><subj-group subj-group-type="Discipline-v3"><subject>Earth sciences</subject><subj-group><subject>Geography</subject><subj-group><subject>Physical geography</subject><subj-group><subject>Earth systems</subject></subj-group></subj-group></subj-group></subj-group><subj-group subj-group-type="Discipline-v3"><subject>Research and analysis methods</subject><subj-group><subject>Simulation and modeling</subject><subj-group><subject>Climate modeling</subject></subj-group></subj-group></subj-group><subj-group subj-group-type="Discipline-v3"><subject>Earth sciences</subject><subj-group><subject>Atmospheric science</subject><subj-group><subject>Climatology</subject><subj-group><subject>Climate modeling</subject></subj-group></subj-group></subj-group></subj-group></article-categories>
<title-group>
<article-title>Joint emulation of Earth System Model temperature-precipitation realizations with internal variability and space-time and cross-variable correlation: fldgen v2.0 software description</article-title>
<alt-title alt-title-type="running-head">fldgen v2.0</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes" equal-contrib="yes" xlink:type="simple">
<contrib-id authenticated="true" contrib-id-type="orcid">http://orcid.org/0000-0002-9034-9948</contrib-id>
<name name-style="western">
<surname>Snyder</surname> <given-names>Abigail</given-names></name>
<role content-type="http://credit.casrai.org/">Conceptualization</role>
<role content-type="http://credit.casrai.org/">Formal analysis</role>
<role content-type="http://credit.casrai.org/">Funding acquisition</role>
<role content-type="http://credit.casrai.org/">Methodology</role>
<role content-type="http://credit.casrai.org/">Project administration</role>
<role content-type="http://credit.casrai.org/">Resources</role>
<role content-type="http://credit.casrai.org/">Software</role>
<role content-type="http://credit.casrai.org/">Supervision</role>
<role content-type="http://credit.casrai.org/">Validation</role>
<role content-type="http://credit.casrai.org/">Writing – original draft</role>
<role content-type="http://credit.casrai.org/">Writing – review &amp; editing</role>
<xref ref-type="aff" rid="aff001"><sup>1</sup></xref>
<xref ref-type="corresp" rid="cor001">*</xref>
</contrib>
<contrib contrib-type="author" equal-contrib="yes" xlink:type="simple">
<contrib-id authenticated="true" contrib-id-type="orcid">http://orcid.org/0000-0002-7071-248X</contrib-id>
<name name-style="western">
<surname>Link</surname> <given-names>Robert</given-names></name>
<role content-type="http://credit.casrai.org/">Conceptualization</role>
<role content-type="http://credit.casrai.org/">Formal analysis</role>
<role content-type="http://credit.casrai.org/">Methodology</role>
<role content-type="http://credit.casrai.org/">Software</role>
<role content-type="http://credit.casrai.org/">Supervision</role>
<role content-type="http://credit.casrai.org/">Writing – review &amp; editing</role>
<xref ref-type="aff" rid="aff001"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author" xlink:type="simple">
<contrib-id authenticated="true" contrib-id-type="orcid">http://orcid.org/0000-0001-8093-8397</contrib-id>
<name name-style="western">
<surname>Dorheim</surname> <given-names>Kalyn</given-names></name>
<role content-type="http://credit.casrai.org/">Software</role>
<role content-type="http://credit.casrai.org/">Validation</role>
<role content-type="http://credit.casrai.org/">Writing – review &amp; editing</role>
<xref ref-type="aff" rid="aff001"><sup>1</sup></xref>
<xref ref-type="fn" rid="econtrib001"><sup>‡</sup></xref>
</contrib>
<contrib contrib-type="author" xlink:type="simple">
<name name-style="western">
<surname>Kravitz</surname> <given-names>Ben</given-names></name>
<role content-type="http://credit.casrai.org/">Conceptualization</role>
<role content-type="http://credit.casrai.org/">Formal analysis</role>
<role content-type="http://credit.casrai.org/">Methodology</role>
<role content-type="http://credit.casrai.org/">Validation</role>
<role content-type="http://credit.casrai.org/">Writing – review &amp; editing</role>
<xref ref-type="aff" rid="aff002"><sup>2</sup></xref>
<xref ref-type="aff" rid="aff003"><sup>3</sup></xref>
<xref ref-type="fn" rid="econtrib001"><sup>‡</sup></xref>
</contrib>
<contrib contrib-type="author" xlink:type="simple">
<name name-style="western">
<surname>Bond-Lamberty</surname> <given-names>Ben</given-names></name>
<role content-type="http://credit.casrai.org/">Conceptualization</role>
<role content-type="http://credit.casrai.org/">Validation</role>
<role content-type="http://credit.casrai.org/">Writing – review &amp; editing</role>
<xref ref-type="aff" rid="aff001"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author" xlink:type="simple">
<name name-style="western">
<surname>Hartin</surname> <given-names>Corinne</given-names></name>
<role content-type="http://credit.casrai.org/">Conceptualization</role>
<role content-type="http://credit.casrai.org/">Funding acquisition</role>
<role content-type="http://credit.casrai.org/">Validation</role>
<role content-type="http://credit.casrai.org/">Writing – review &amp; editing</role>
<xref ref-type="aff" rid="aff001"><sup>1</sup></xref>
</contrib>
</contrib-group>
<aff id="aff001">
<label>1</label>
<addr-line>Joint Global Change Research Institute, Pacific Northwest National Laboratory, College Park, MD, United States of America</addr-line>
</aff>
<aff id="aff002">
<label>2</label>
<addr-line>Department of Earth and Atmospheric Sciences, Indiana University, Bloomington, IN, United States of America</addr-line>
</aff>
<aff id="aff003">
<label>3</label>
<addr-line>Atmospheric Sciences and Global Change Division, Pacific Northwest National Laboratory, Richland, WA, United States of America</addr-line>
</aff>
<contrib-group>
<contrib contrib-type="editor" xlink:type="simple">
<name name-style="western">
<surname>Xu</surname> <given-names>Yangyang</given-names></name>
<role>Editor</role>
<xref ref-type="aff" rid="edit1"/>
</contrib>
</contrib-group>
<aff id="edit1">
<addr-line>Texas A&amp;M University, UNITED STATES</addr-line>
</aff>
<author-notes>
<fn fn-type="conflict" id="coi001">
<p>The authors have declared that no competing interests exist.</p>
</fn>
<fn fn-type="other" id="econtrib001">
<p>‡ These authors also contributed equally to this work.</p>
</fn>
<corresp id="cor001">* E-mail: <email xlink:type="simple">abigail.snyder@pnnl.gov</email></corresp>
</author-notes>
<pub-date pub-type="collection">
<year>2019</year>
</pub-date>
<pub-date pub-type="epub">
<day>4</day>
<month>10</month>
<year>2019</year>
</pub-date>
<volume>14</volume>
<issue>10</issue>
<elocation-id>e0223542</elocation-id>
<history>
<date date-type="received">
<day>25</day>
<month>3</month>
<year>2019</year>
</date>
<date date-type="accepted">
<day>23</day>
<month>9</month>
<year>2019</year>
</date>
</history>
<permissions>
<copyright-year>2019</copyright-year>
<copyright-holder>Snyder et al</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/" xlink:type="simple">
<license-p>This is an open access article distributed under the terms of the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/" xlink:type="simple">Creative Commons Attribution License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="info:doi/10.1371/journal.pone.0223542"/>
<abstract>
<p>Earth System Models (ESMs) are excellent tools for quantifying many aspects of future climate dynamics but are too computationally expensive to produce large collections of scenarios for downstream users of ESM data. In particular, many researchers focused on the impacts of climate change require large collections of ESM runs to rigorously study the impacts to both human and natural systems of low-frequency high-importance events, such as multi-year droughts. Climate model emulators provide an effective mechanism for filling this gap, reproducing many aspects of ESMs rapidly but with lower precision. The <monospace>fldgen v1.0</monospace> R package quickly generates thousands of realizations of gridded temperature fields by randomizing the residuals of pattern scaling temperature output from any single ESM, retaining the spatial and temporal variance and covariance structures of the input data at a low computational cost. The <monospace>fldgen v2.0</monospace> R package described here extends this capability to produce joint realizations of multiple variables, with a focus on temperature and precipitation in an open source software package available for community use (<ext-link ext-link-type="uri" xlink:href="https://github.com/jgcri/fldgen" xlink:type="simple">https://github.com/jgcri/fldgen</ext-link>). This substantially improves the <monospace>fldgen</monospace> package by removing the requirement that the ESM variables be normally distributed, and will enable researchers to quickly generate covarying temperature and precipitation data that are synthetic but faithful to the characteristics of the original ESM.</p>
</abstract>
<funding-group>
<funding-statement>Primary funding was provided by Pacific Northwest National Laboratory through the Laboratory Directed Research and Development program (supported AS, RL, KD, BK, BBL, CH). Research was additionally funded with support provided by the U.S. Department of Energy, Office of Science, as part of research in Multi-Sector Dynamics, Earth and Environmental System Modeling Program (AS, RL, KD, BK, BBL, CH). Research was also supported in part by the Indiana University Environmental Resilience Institute and the Prepared for Environmental Change grand challenge initiative (BK). The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.</funding-statement>
</funding-group>
<counts>
<fig-count count="3"/>
<table-count count="1"/>
<page-count count="13"/>
</counts>
<custom-meta-group>
<custom-meta id="data-availability">
<meta-name>Data Availability</meta-name>
<meta-value>The software described in this paper, including test data, is available via prerelease on GitHub: <ext-link ext-link-type="uri" xlink:href="https://github.com/JGCRI/fldgen/tree/v2.0.0-rc.1" xlink:type="simple">https://github.com/JGCRI/fldgen/tree/v2.0.0-rc.1</ext-link>. The prerelease is archived with a permanent DOI via Zenodo: <ext-link ext-link-type="uri" xlink:href="http://doi.org/10.5281/zenodo.2605386" xlink:type="simple">http://doi.org/10.5281/zenodo.2605386</ext-link>.</meta-value>
</custom-meta>
</custom-meta-group>
</article-meta>
</front>
<body>
<sec id="sec001" sec-type="intro">
<title>Introduction</title>
<p>Two important topics to researchers in earth sciences, future climate dynamics, and joint human-Earth system modeling are the effects of extreme events and uncertainty in climate impacts [<xref ref-type="bibr" rid="pone.0223542.ref001">1</xref>, <xref ref-type="bibr" rid="pone.0223542.ref002">2</xref>]. Understanding the uncertainty around extreme events also has direct relevance for decision makers, the U.S. energy grid, and other stakeholders. Generally, high-resolution future climate scenarios can be used as input for different process-based or economic models to assess impacts of future climate on economic, land, energy, and other systems; however, thousands of such high-resolution future scenarios may be needed for a full and robust analysis of the impacts of low-frequency high-importance extreme events and associated uncertainties [<xref ref-type="bibr" rid="pone.0223542.ref003">3</xref>–<xref ref-type="bibr" rid="pone.0223542.ref005">5</xref>].</p>
<p>Process-rich Earth System Models (ESMs) are capable of providing the high-resolution future climate scenarios for impacts studies, but are too computationally expensive to directly produce hundreds or thousands of realizations needed to understand the impacts of extreme events. Climate model emulators attempt to solve this problem by approximating the output a climate model would have produced had it been run repeatedly for a specified scenario [<xref ref-type="bibr" rid="pone.0223542.ref006">6</xref>]. These emulators are computationally cheap to run, but typically capture only the mean response of the climate and little to none of the variability that would be present in a real ESM output. Attempts to add variability to such emulations often lose important spatial and temporal correlations that fundamentally define ESM patterns (such as the El Niño Southern Oscillation), or else cannot produce the number of realizations necessary for extreme event or uncertainty studies.</p>
<p>In <monospace>fldgen v1.0</monospace>, Link et al. [<xref ref-type="bibr" rid="pone.0223542.ref007">7</xref>] (Paper LS1 hereafter) have solved many of these problems for the case of global temperature. This method generates random realizations of temperature global gridded time series that retain the spatial and temporal variance and covariance structures of the input ESM data at a much lower computational cost compared to the ESMs being emulated. Crucially, <monospace>fldgen v1.0</monospace> does so without placing <italic>a priori</italic> limits on the form of the correlation function and without using bootstrap resampling of existing ESM output [<xref ref-type="bibr" rid="pone.0223542.ref008">8</xref>–<xref ref-type="bibr" rid="pone.0223542.ref010">10</xref>].</p>
<p>Nevertheless, temperature is not the only important variable for quantifying the effects of future climate on human systems. Precipitation, for example, is of interest because of the serious impacts of extreme precipitation events, as the distribution of precipitation over space and time is a primary driver of extreme events like droughts and floods [<xref ref-type="bibr" rid="pone.0223542.ref011">11</xref>]. Moreover, the water cycle is a key component of research focused on water cycle impact on agriculture and water consumption in energy production [<xref ref-type="bibr" rid="pone.0223542.ref003">3</xref>, <xref ref-type="bibr" rid="pone.0223542.ref005">5</xref>, <xref ref-type="bibr" rid="pone.0223542.ref012">12</xref>].</p>
<p>Recent research has shown that modeling temperature and precipitation extremes independently mischaracterizes drought hazards as the covariance between climate variables is missed [<xref ref-type="bibr" rid="pone.0223542.ref013">13</xref>]. Therefore, an effective emulator of temperature and precipitation must jointly produce temperature and precipitation realizations that capture such covariance. <monospace>Fldgen v2.0</monospace> is designed to add this capability, allowing researchers to jointly generate two-variable (e.g. joint temperature and precipitation) fields that not only retain the individual variables’ spatial and temporal variance and covariance structures, but also inter-variable covariance. This method is meant to be used on annual, global gridded temperature and precipitation data. While many interesting climatological and biological processes occur at daily or monthly scales, this annual timescale is often used by researchers in the impacts community focused on long-term effects. Many of these researchers also require global gridded realizations of ESM variables [<xref ref-type="bibr" rid="pone.0223542.ref003">3</xref>, <xref ref-type="bibr" rid="pone.0223542.ref005">5</xref>, <xref ref-type="bibr" rid="pone.0223542.ref014">14</xref>]. It is true that past modeling approaches such as the UKCP09 framework have provided a methodology for stochastically generating daily weather data for specific regions that does to some degree account for correlations between multiple variables and has accurate statistical structure to high order [<xref ref-type="bibr" rid="pone.0223542.ref015">15</xref>]. However, because the focus of that method is on weather in specific regions, it does not necessarily incorporate dynamics that govern larger spatiotemporal scales to be usable in a global gridded manner.</p>
<p>
<monospace>Fldgen v2.0</monospace> provides a tool for modelers to rigorously analyze the impacts of extreme events that previously could not be fully evaluated due to limited ESM realizations and region-to-region teleconnections that are not explicitly known globally, such as multi-year droughts across different regions. The objective of this paper is to describe the open-source and publicly available <monospace>fldgen v2.0</monospace> R package work-flow, capabilities, and accessibility for community use (<ext-link ext-link-type="uri" xlink:href="https://github.com/jgcri/fldgen" xlink:type="simple">https://github.com/jgcri/fldgen</ext-link>) in the context of joint generation of temperature and precipitation fields. This includes an overview of the updates to the <monospace>fldgen</monospace> algorithm from version 1.0 to version 2.0. The theory that supports this extension should be applicable to arbitrary pairs of ESM variables, though this has not been tested and is not a central claim of this work.</p>
</sec>
<sec id="sec002">
<title>Extension from version 1.0 to 2.0 and architecture</title>
<p>The scientific details of generating new realizations of residuals from a training matrix of ESM residuals are detailed in the <monospace>fldgen v1.0</monospace> model description Paper LS1. One key feature of the version 1.0 process is that the generated time series of temperature residuals in any given grid cell is approximately normally distributed. This is true irrespective of the distributions of input residuals, due to the way the algorithm sums up contributions from a large number of random components. As a result, the method will preserve the distribution of input residuals only if they are normally distributed.</p>
<p>When the training data features normally distributed residuals in every grid cell, the field generating process generates new realizations of time series that preserves three key statistical properties of the training residuals (arrow 3 in <xref ref-type="fig" rid="pone.0223542.g001">Fig 1</xref>, Paper LS1):</p>
<list list-type="order">
<title>Statistical properties of training residuals preserved by version 1.0</title>
<list-item>
<p>Distribution of values in a grid cell over time and between realizations. In other words, residuals in the grid cell are normally distributed with the same mean and variance as the training data in that grid cell.</p>
</list-item>
<list-item>
<p>Correlation between values in different grid cells.</p>
</list-item>
<list-item>
<p>Time autocorrelation of spatially correlated patterns of grid cells.</p>
</list-item>
</list>
<fig id="pone.0223542.g001" position="float">
<object-id pub-id-type="doi">10.1371/journal.pone.0223542.g001</object-id>
<label>Fig 1</label>
<caption>
<title>flgden v2.0 workflow.</title>
<p>Workflow: Extending fldgen v1.0 (arrow 3) to fldgen v2.0 (arrows 1-4) for use with joint temperature and precipitation fields.</p>
</caption>
<graphic mimetype="image" position="float" xlink:href="info:doi/10.1371/journal.pone.0223542.g001" xlink:type="simple"/>
</fig>
<p>For many ESMs, the temperature residuals in each grid cell are indeed approximately normally distributed. However, residuals for other variables, such as precipitation, in many grid cells may have a non-normal distribution (e.g. <xref ref-type="fig" rid="pone.0223542.g002">Fig 2</xref>). Thus, in addition to the joint emulation of variables such as temperature and precipitation, one major goal of <monospace>fldgen v2.0</monospace> is to make the field generation process more robust to non-normally distributed ESM variables. Even in cases where distributions are reasonably well approximated by normal distributions, this change removes the need for a user’s expert judgement as to whether an ESM variable’s residuals in each grid cell follow a distribution sufficiently close to normal to use the field generating method.</p>
<fig id="pone.0223542.g002" position="float">
<object-id pub-id-type="doi">10.1371/journal.pone.0223542.g002</object-id>
<label>Fig 2</label>
<caption>
<title>Comparison of empirical CDF from precipitation data with normal distribution.</title>
<p>The empirical CDF of precipitation residuals in a single grid cell (black) and the CDF of a normal distribution with the same mean and variance as the precipitation residuals (red).</p>
</caption>
<graphic mimetype="image" position="float" xlink:href="info:doi/10.1371/journal.pone.0223542.g002" xlink:type="simple"/>
</fig>
<p>For the core field generating method, each ESM variable must effectively be able to accept residuals of between −∞ and ∞ for addition to its mean field. This is already the case for temperature and no transformation is needed. However, because precipitation values in an ESM cannot be negative, either the generated residuals have to be constrained to avoid negative precipitation while preserving the ESM spatiotemporal and intervariable statistics, or the method must operate on a transformation of precipitation that can accept residuals between −∞ and ∞. The latter is more straightforward, and so residuals are generated for log(precipitation) rather than precipitation. The transformation of generated full fields from log(precipitation) space back to precipitation space is trivial for log transformations. Indeed, any function that is continuous, invertible, strictly increasing, and results in a transformed ESM variable whose residuals are supported on (−∞, ∞) will preserve the ESM spatiotemporal statistical properties as desired.</p>
<p>Producing joint temperature and log(precipitation) residual realizations therefore requires the development of an algorithm to handle non-normality in transformed ESM training data. This algorithm extension for <monospace>fldgen v2.0</monospace> involves additional transformations on the input to and output from the version 1.0 process (<xref ref-type="table" rid="pone.0223542.t001">Table 1</xref>, <xref ref-type="fig" rid="pone.0223542.g001">Fig 1</xref>) in order to return generated realizations of joint temperature and log(precipitation) residuals to the native temperature and log(precipitation) distribution in each grid cell. One additional benefit is that this extension removes an assumption necessary to use version 1.0: we previously were restricted to assuming temperature residuals followed a normal distribution in each grid cell. With version 2.0, it no longer matters if this is the case for ESM variables under consideration.</p>
<table-wrap id="pone.0223542.t001" position="float">
<object-id pub-id-type="doi">10.1371/journal.pone.0223542.t001</object-id>
<label>Table 1</label>
<caption>
<title>Summary of the fldgen v2.0 algorithm.</title>
<p>Details of the steps shared with version 1.0 (denoted with <xref ref-type="table-fn" rid="t001fn001">*</xref>) are provided in Paper LS1 [<xref ref-type="bibr" rid="pone.0223542.ref007">7</xref>].</p>
</caption>
<alternatives>
<graphic id="pone.0223542.t001g" mimetype="image" position="float" xlink:href="info:doi/10.1371/journal.pone.0223542.t001" xlink:type="simple"/>
<table border="0" frame="box" rules="all">
<colgroup>
<col align="left" valign="middle"/>
<col align="left" valign="middle"/>
</colgroup>
<tbody>
<tr>
<td align="right">1.<xref ref-type="table-fn" rid="t001fn001">*</xref></td>
<td align="left">Select ESM runs for training the emulator.</td>
</tr>
<tr>
<td align="right">2.<xref ref-type="table-fn" rid="t001fn001">*</xref></td>
<td align="left">Select and fit the mean response model relating local temperature (<italic>T</italic>) and log-precipitation (log(<italic>P</italic>)) to global average temperature.</td>
</tr>
<tr>
<td align="right">3.<xref ref-type="table-fn" rid="t001fn001">*</xref></td>
<td align="left">Calculate the residuals by subtracting mean response from ESM output.</td>
</tr>
<tr>
<td align="right">4. <xref ref-type="table-fn" rid="t001fn001">*</xref></td>
<td align="left">Map the distribution of (<italic>T</italic> or log(<italic>P</italic>)) residuals in each grid cell from the <italic>native</italic> distribution of the grid cell to the standard normal distribution (<italic>N</italic>(0, 1)) via quantiles.</td>
</tr>
<tr>
<td align="right">5.<xref ref-type="table-fn" rid="t001fn001">*</xref></td>
<td align="left">Form a joint matrix of state residuals (spatially flattened, concatenated, normally distributed <italic>T</italic> and log(<italic>P</italic>) residuals in each grid cell at each time, denoted by <italic>x</italic>(<italic>t</italic>)).</td>
</tr>
<tr>
<td align="right">6<xref ref-type="table-fn" rid="t001fn001">*</xref>.</td>
<td align="left">Perform principal components analysis (PCA) on the joint <italic>T</italic>-log(<italic>P</italic>) residual field state: <inline-formula id="pone.0223542.e001"><alternatives><graphic id="pone.0223542.e001g" mimetype="image" position="anchor" xlink:href="info:doi/10.1371/journal.pone.0223542.e001" xlink:type="simple"/><mml:math display="inline" id="M1"><mml:mrow><mml:mi>x</mml:mi> <mml:mrow><mml:mo>(</mml:mo> <mml:mi>t</mml:mi> <mml:mo>)</mml:mo></mml:mrow> <mml:mo>=</mml:mo> <mml:msubsup><mml:mo>∑</mml:mo> <mml:mrow><mml:mi>i</mml:mi> <mml:mo>=</mml:mo> <mml:mn>1</mml:mn></mml:mrow> <mml:mi>N</mml:mi></mml:msubsup> <mml:msub><mml:mi>ϕ</mml:mi> <mml:mi>i</mml:mi></mml:msub> <mml:mrow><mml:mo>(</mml:mo> <mml:mi>t</mml:mi> <mml:mo>)</mml:mo></mml:mrow> <mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi> <mml:mo>^</mml:mo></mml:mover> <mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></alternatives></inline-formula>, where the <inline-formula id="pone.0223542.e002"><alternatives><graphic id="pone.0223542.e002g" mimetype="image" position="anchor" xlink:href="info:doi/10.1371/journal.pone.0223542.e002" xlink:type="simple"/><mml:math display="inline" id="M2"><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi> <mml:mo>^</mml:mo></mml:mover> <mml:mi>i</mml:mi></mml:msub></mml:math></alternatives></inline-formula> are the principal components, and the <italic>ϕ</italic><sub><italic>i</italic></sub>(<italic>t</italic>) are the projection coefficients. This step expresses the grid state as a linear combination of orthogonal basis vectors that diagonalize the covariance matrix of the system to capture spatial correlations.</td>
</tr>
<tr>
<td align="right">7.<xref ref-type="table-fn" rid="t001fn001">*</xref></td>
<td align="left">Compute the discrete Fourier transform (DFT) [<xref ref-type="bibr" rid="pone.0223542.ref016">16</xref>] of the residual field’s projection coefficients onto the principal components: <inline-formula id="pone.0223542.e003"><alternatives><graphic id="pone.0223542.e003g" mimetype="image" position="anchor" xlink:href="info:doi/10.1371/journal.pone.0223542.e003" xlink:type="simple"/><mml:math display="inline" id="M3"><mml:mrow><mml:msub><mml:mo>Φ</mml:mo><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="script">F</mml:mi> <mml:mo>(</mml:mo> <mml:msub><mml:mi>ϕ</mml:mi> <mml:mi>i</mml:mi></mml:msub> <mml:mrow><mml:mo>(</mml:mo> <mml:mi>t</mml:mi> <mml:mo>)</mml:mo></mml:mrow> <mml:mo>)</mml:mo></mml:mrow></mml:math></alternatives></inline-formula>.</td>
</tr>
<tr>
<td align="right">8.<xref ref-type="table-fn" rid="t001fn001">*</xref></td>
<td align="left">Choose new phases of Φ<sub><italic>i</italic></sub> randomly, uniformly on [0, 2<italic>π</italic>) to create new frequency space coefficients <inline-formula id="pone.0223542.e004"><alternatives><graphic id="pone.0223542.e004g" mimetype="image" position="anchor" xlink:href="info:doi/10.1371/journal.pone.0223542.e004" xlink:type="simple"/><mml:math display="inline" id="M4"><mml:msubsup><mml:mo>Φ</mml:mo> <mml:mi>i</mml:mi> <mml:mo>⋆</mml:mo></mml:msubsup></mml:math></alternatives></inline-formula> with <inline-formula id="pone.0223542.e005"><alternatives><graphic id="pone.0223542.e005g" mimetype="image" position="anchor" xlink:href="info:doi/10.1371/journal.pone.0223542.e005" xlink:type="simple"/><mml:math display="inline" id="M5"><mml:mrow><mml:mrow><mml:mo>|</mml:mo></mml:mrow> <mml:msub><mml:mo>Φ</mml:mo> <mml:mi>i</mml:mi></mml:msub> <mml:mrow><mml:mo>|</mml:mo> <mml:mo>=</mml:mo> <mml:mo>|</mml:mo></mml:mrow> <mml:msubsup><mml:mo>Φ</mml:mo> <mml:mi>i</mml:mi> <mml:mo>⋆</mml:mo></mml:msubsup> <mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:math></alternatives></inline-formula>. This preserves the time autocorrelation function of the ESM training data by the Wiener-Khinchin Theorem [<xref ref-type="bibr" rid="pone.0223542.ref016">16</xref>].</td>
</tr>
<tr>
<td align="right">9.<xref ref-type="table-fn" rid="t001fn001">*</xref></td>
<td align="left">Compute the projection coefficients <inline-formula id="pone.0223542.e006"><alternatives><graphic id="pone.0223542.e006g" mimetype="image" position="anchor" xlink:href="info:doi/10.1371/journal.pone.0223542.e006" xlink:type="simple"/><mml:math display="inline" id="M6"><mml:msubsup><mml:mi>ϕ</mml:mi> <mml:mi>i</mml:mi> <mml:mo>⋆</mml:mo></mml:msubsup></mml:math></alternatives></inline-formula> of the new residual field as the inverse DFT of <inline-formula id="pone.0223542.e007"><alternatives><graphic id="pone.0223542.e007g" mimetype="image" position="anchor" xlink:href="info:doi/10.1371/journal.pone.0223542.e007" xlink:type="simple"/><mml:math display="inline" id="M7"><mml:msubsup><mml:mo>Φ</mml:mo> <mml:mi>i</mml:mi> <mml:mo>⋆</mml:mo></mml:msubsup></mml:math></alternatives></inline-formula>.</td>
</tr>
<tr>
<td align="right">10.<xref ref-type="table-fn" rid="t001fn001">*</xref></td>
<td align="left">Compute the generated, joint <italic>T</italic>-log(<italic>P</italic>) residual field as <inline-formula id="pone.0223542.e008"><alternatives><graphic id="pone.0223542.e008g" mimetype="image" position="anchor" xlink:href="info:doi/10.1371/journal.pone.0223542.e008" xlink:type="simple"/><mml:math display="inline" id="M8"><mml:mrow><mml:msup><mml:mi>x</mml:mi> <mml:mo>⋆</mml:mo></mml:msup> <mml:mrow><mml:mo>(</mml:mo> <mml:mi>t</mml:mi> <mml:mo>)</mml:mo></mml:mrow> <mml:mo>=</mml:mo> <mml:msubsup><mml:mo>∑</mml:mo> <mml:mrow><mml:mi>i</mml:mi> <mml:mo>=</mml:mo> <mml:mn>1</mml:mn></mml:mrow> <mml:mi>N</mml:mi></mml:msubsup> <mml:msubsup><mml:mi>ϕ</mml:mi> <mml:mi>i</mml:mi> <mml:mo>⋆</mml:mo></mml:msubsup> <mml:mrow><mml:mo>(</mml:mo> <mml:mi>t</mml:mi> <mml:mo>)</mml:mo></mml:mrow> <mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi> <mml:mo>^</mml:mo></mml:mover> <mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></alternatives></inline-formula>.</td>
</tr>
<tr>
<td align="right">11.</td>
<td align="left">Map the generated (<italic>T</italic> or log(<italic>P</italic>)) residuals in each grid cell back to the native (<italic>T</italic> or log(<italic>P</italic>)) distribution of that grid cell.</td>
</tr>
<tr>
<td align="right">12.<xref ref-type="table-fn" rid="t001fn001">*</xref></td>
<td align="left">Add to the respective <italic>T</italic> or log(<italic>P</italic>) mean field to create the generated full fields for <italic>T</italic> and log(<italic>P</italic>).</td>
</tr>
<tr>
<td align="right">13.</td>
<td align="left">Take the exponential of the generated log(<italic>P</italic>) full fields to produce generated full fields of precipitation.</td>
</tr>
</tbody>
</table>
</alternatives>
<table-wrap-foot>
<fn id="t001fn001">
<p>* Denotes a step shared with <monospace>fldgen v1.0</monospace> and detailed in Paper LS1. The only differences in shared steps between version 1.0 and 2.0 are that the same step is applied to log(<italic>P</italic>) in addition to <italic>T</italic> in version 2.0.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>The <monospace>fldgen</monospace> process, for both version 1.0 and 2.0, operates on a state vector, <bold>x</bold>(<bold>t</bold>). At any given time <italic>t</italic>, the state of the system is defined as the temperature residuals in every grid cell (flattened to one dimensional indices from the traditional latitude-longitude two dimensions), concatenated with the precipitation residuals in every grid cell if applicable (flattened to the same one dimensional spatial indices). Therefore, once the issues of non-normality are accounted for in the extension to version 1.0, cross-variable relationships are automatically captured and joint emulation is achieved.</p>
<p>We have developed a continuous, invertible, and strictly increasing transformation method that allows us to map between the native distributions of residuals for each grid cell and a normal distribution of residuals for each grid cell. This transformation removes the need for user expertise as to whether residuals in every grid cell follow a distribution sufficiently close to a normal distribution for the field generating method outlined in Paper LS1 to work.</p>
<p>For a given grid cell, the native distribution of residuals (temperature or precipitation) over time can be captured with an empirical cumulative distribution function (CDF), <italic>F</italic>(<italic>x</italic>) (<xref ref-type="fig" rid="pone.0223542.g003">Fig 3</xref>, left), which can then be used to return the quantile values corresponding to sampled residuals, <italic>F</italic>(<italic>residual</italic><sub><italic>i</italic></sub>) = <italic>quantile</italic><sub><italic>i</italic></sub>. These sampled quantile values are used to calculate the corresponding values sampled from the standard normal distribution, <italic>N</italic>(0, 1) (step 4 of the <monospace>fldgen v2.0</monospace> algorithm summary in <xref ref-type="table" rid="pone.0223542.t001">Table 1</xref>). Composing these steps leads to an increasing, continuous, invertible mapping between the native distribution of residuals in the grid cell and <italic>N</italic>(0, 1) (<xref ref-type="fig" rid="pone.0223542.g003">Fig 3</xref>, right), represented by arrow 2 of <xref ref-type="fig" rid="pone.0223542.g001">Fig 1</xref>.</p>
<fig id="pone.0223542.g003" position="float">
<object-id pub-id-type="doi">10.1371/journal.pone.0223542.g003</object-id>
<label>Fig 3</label>
<caption>
<title>The constructed transformation from data’s native distribution to a normal distribution.</title>
<p>Left: The empirical CDF of log(precipitation) residuals in the same grid cell as <xref ref-type="fig" rid="pone.0223542.g002">Fig 2</xref> (black) and the CDF of a normal distribution with the same mean and variance as the log(precipitation) residuals (red). Right: The transformation between native and normally distributed residuals for this example grid cell. Note that this transformation is continuous, invertible, and strictly increasing.</p>
</caption>
<graphic mimetype="image" position="float" xlink:href="info:doi/10.1371/journal.pone.0223542.g003" xlink:type="simple"/>
</fig>
<p>Given a set of generated residuals that follow <italic>N</italic>(0, 1) for a single grid cell, mapping to the native distribution of residuals in the grid cell is a straightforward reversal of this process (captured in arrow 4 in <xref ref-type="fig" rid="pone.0223542.g001">Fig 1</xref>).</p>
<p>This mapping is applied to input, native residuals to create normally distributed residuals for emulator training (arrow 2 in <xref ref-type="fig" rid="pone.0223542.g001">Fig 1</xref>). The inverse of this mapping is applied to transform the generated, and therefore normally distributed, residuals for a grid cell back to the native, non-normal distribution initially sampled in <bold>R</bold> (arrow 4 in <xref ref-type="fig" rid="pone.0223542.g001">Fig 1</xref>). Further, because the mapping is continuous, invertible, and increasing, the rank-order correlation coefficient between residuals in two arbitrary grid cells is the same in the native distribution space as it is in the normal distribution. Combining this with the fact that the <monospace>fldgen</monospace> process generates new, normally distributed field of residuals (arrow 2 in <xref ref-type="fig" rid="pone.0223542.g001">Fig 1</xref>), we conclude that the rank-order correlation between input native values in different grid cells is the same as the rank-order correlation between between generated native values.</p>
</sec>
<sec id="sec003" sec-type="conclusions">
<title>Conclusions</title>
<p>
<monospace>Fldgen v2.0</monospace> provides a tool for climate change impacts modelers to rigorously analyze the impacts of extreme events that previously could not be fully evaluated due to limited ESM realizations and region-to-region teleconnections that are not explicitly known globally, such as multi-year droughts across different regions. With the mathematical construction described in the previous section and summarized in <xref ref-type="fig" rid="pone.0223542.g003">Fig 3</xref> (right), when the full workflow depicted in <xref ref-type="fig" rid="pone.0223542.g001">Fig 1</xref> is completed, the algorithm can be run on any input ESM residuals, provided their distribution in each grid cell is continuous and invertible. An emulator trained on these residuals can be used to generate new ESM residual time series that preserve all the same statistical properties preserved by version 1, with one small exception, viz. that in Property 2 the type of correlation preserved is the rank-order correlation, not necessarily the linear correlation coefficient. This change is a consequence of allowing arbitrary native distributions in the data. Additionally, the residual fields generated this way also preserve the inter-variable correlations present in the input data, a new property with no analog in version 1.</p>
<p>These generated residual time series are added to the mean fields for temperature and log(precipitation) to generate new full field time series. The transformation of the full field log(precipitation) time series values to precipitation values does not undo any of these statistical properties of the residual fields.</p>
</sec>
<sec id="sec004">
<title>Validation: Example data and automated testing</title>
<p>Extensive integrated, automatic testing is provided in the <monospace>fldgen v2.0</monospace> R package to both check that the software performs as intended and to explicitly validate that the statistical properties of interest for included example ESM data (<monospace>fldgen/inst/extdata</monospace>) are indeed preserved in generated realizations. This explicit validation supplements mathematical proofs that the method being implemented in <monospace>fldgen v2.0</monospace> has the described statistical preservation properties (further described and verified in Paper LS1).</p>
<p>The testing is automatically run when a Pull Request is opened in the <monospace>fldgen</monospace> GitHub repository and must be passed before the pull request can be merged. All checks were passed for the version of <monospace>fldgen</monospace> presented in this paper.</p>
<p>While it mathematically follows from the construction of this method that the rank-correlation coefficient is the same in generated data as it was in the training ESM data for every pairwise possibility of grid cell to grid cell comparison of temperature with temperature, precipitation with precipitation, and temperature with precipitation, we also performed an explicit check of of this using <monospace>fldgen v2.0</monospace> emulator training and realization generating capabilities. This explicit test is not included in the automated testing suite as it takes many hours of computer time. An example trained emulator with raw ESM data, R scripts performing this test and the results are archived on zenodo (DOI <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.5281/zenodo.3372579" xlink:type="simple">10.5281/zenodo.3372579</ext-link>) [<xref ref-type="bibr" rid="pone.0223542.ref017">17</xref>].</p>
</sec>
<sec id="sec005">
<title>Utility and limitations</title>
<p>The extension of <monospace>fldgen</monospace> from version 1.0 t0 version 2.0 has broadened the functionality from training using temperature data to joint training on temperature and precipitation by introducing a new algorithm for dealing with non-normality in the training data. Through this algorithm, any variable that scales with global mean temperature and whose residuals in each grid cell have a continuous, invertible, increasing empirical CDF could be jointly explored with temperature. Certainly this includes precipitation, but could easily be applied, as is, to variables such as relative humidity. Further, the version 1.0 requirement that input training data have approximately normally distributed residuals for the method to generate new residual fields with the correct spatiotemporal and cross-variable statistics has been removed. A user no longer has to judge whether their input training data is sufficiently close to normal to use <monospace>fldgen</monospace>.</p>
<p>Perhaps the most significant current limitation of <monospace>fldgen</monospace> is that its training data and thus outputs are limited to the annual time scale, while many interesting climatological and biological processes occur at daily or monthly scales—e.g. with respect to human health [<xref ref-type="bibr" rid="pone.0223542.ref018">18</xref>]. An expansion to sub-annual timescales is planned in future work, but appropriately capturing sub-annual ESM internal variability while accounting for the inherent seasonal signals in sub-annual ESM data for many variables is highly non-trivial.</p>
<p>A future extension to handle more than two variables jointly would also be straightforward by design. Thus there is wide potential for reuse of <monospace>fldgen v2.0</monospace> for users of ESM outputs who require a large number of ESM datasets for research. The open-source nature of the software makes it particularly adaptable to a community user’s needs in a wide variety of ways.</p>
</sec>
<sec id="sec006">
<title>Installation</title>
<p><monospace>fldgen</monospace> may be installed by using <monospace>install_github</monospace> from the <monospace>devtools</monospace> package.</p>
<p specific-use="line">## install the package if needed</p>
<p specific-use="line">devtools::install_github(‘JGCRI/fldgen’, ref = ‘v2.0.0 − rc.1’)</p>
</sec>
<sec id="sec007">
<title>Training the emulator from ESM data</title>
<p>As an open source R package, <monospace>fldgen</monospace> was implemented with a modular design so that different steps of the algorithm described in <xref ref-type="table" rid="pone.0223542.t001">Table 1</xref> can easily have different implementations. Using the R packages <monospace>devtools</monospace> and <monospace>roxygen2</monospace>, extensive documentation for every function created in the package is included. More detail of each step in <xref ref-type="table" rid="pone.0223542.t001">Table 1</xref> may be found in the tutorial vignettes included with the package (<monospace>fldgen/vignettes/</monospace>) and as described in Paper LS1. This subsection briefly demonstrates the function calls required for training an emulator and generating new realizations.</p>
<p>The user must select an ESM to emulate and provide annual, spatially disaggregated temperature and precipitation NetCDF files to be used for training. The <monospace>fldgen</monospace> package was designed with globally gridded data sets in mind, but would technically work with any spatial disaggregation. Currently, however, it is necessary that the training data be at an annual time scale. The training NetCDF files are most conveniently stored in some user-specified directory that can be passed directly to the <monospace>fldgen</monospace> training functions. Finally, all NetCDF files must follow CMIP5 naming conventions [<xref ref-type="bibr" rid="pone.0223542.ref019">19</xref>]. This is specified in the R manual and with informative error messages. <xref ref-type="table" rid="pone.0223542.t001">Table 1</xref> (right column), Steps 1-7 are performed by the function <monospace>trainTP()</monospace> in <monospace>/R/trainTP.R</monospace>, which is called as follows:</p>
<p specific-use="line">## load the package</p>
<p specific-use="line">library(‘fldgen’)</p>
<p specific-use="line">## specify the location of the training data</p>
<p specific-use="line">datadir &lt;- ‘training/data/directory’</p>
<p specific-use="line">## train the emulator</p>
<p specific-use="line">trainTP(dat = datadir,</p>
<p specific-use="line">     tvarname = ‘tas’, tlatvar = ‘lat’, tlonvar = ‘lon’,</p>
<p specific-use="line">     tvarconvert_fcn = NULL,</p>
<p specific-use="line">     pvarname = ‘pr’, platvar = ‘lat’, plonvar = ‘on’,</p>
<p specific-use="line">     pvarconvert_fcn = log) -&gt;</p>
<p specific-use="line">     emulator</p>
<p>Full details of the functions used internally by <monospace>trainTP()</monospace> are provided in the <monospace>fldgen</monospace> package vignettes.</p>
<sec id="sec008">
<title>Description of inputs</title>
<p>The inputs to <monospace>fldgen</monospace> function <monospace>trainTP</monospace> are as follows:</p>
<list list-type="simple">
<list-item>
<label>dat</label>
<p>A single directory name, or a list of NetCDF files. If a directory name is given, all NetCDF files in the directory will be used. The pairing of temperature and precipitation NetCDF files in the directory relies on the CMIP5 file naming conventions. Other naming conventions are not currently supported.</p>
</list-item>
<list-item>
<label>tvarname</label>
<p>A string with the name of the temperature variable in the temperature NetCDF.</p>
</list-item>
<list-item>
<label>tlatvar</label>
<p>A string with the name of the latitude coordinate variable in the temperature NetCDF files. Normally this is simply ‘lat’.</p>
</list-item>
<list-item>
<label>tlonvar</label>
<p>A string with the name of the longitude coordinate variable in the temperature NetCDF files. Normally this is simply ‘lon’.</p>
</list-item>
<list-item>
<label>tvarconvert_fcn</label>
<p>The function used to transform the temperature variable prior to training so that it has support on (−∞, ∞). Defaults to <monospace>NULL</monospace>, as temperature is effectively already supported on this range.</p>
</list-item>
<list-item>
<label>pvarname</label>
<p>A string with the name of the temperature variable in the precipitation NetCDF.</p>
</list-item>
<list-item>
<label>platvar</label>
<p>A string with the name of the latitude coordinate variable in the precipitation NetCDF files. Normally this is simply ‘lat’.</p>
</list-item>
<list-item>
<label>plonvar</label>
<p>A string with the name of the longitude coordinate variable in the precipitation NetCDF files. Normally this is simply ‘lon’.</p>
</list-item>
<list-item>
<label>pvarconvert_fcn</label>
<p>The function used to transform the precipitation variable prior to training so that it has support on (−∞, ∞). Defaults to <monospace>log</monospace>.</p>
</list-item>
</list>
</sec>
</sec>
<sec id="sec009">
<title>Structure of a trained emulator</title>
<p>A trained emulator can easily be stored as an R .rds object for later use. A trained emulator contains all information learned about the ESM, including components that are useful for downstream analysis, but not necessary for generating new fields of residuals:</p>
<list list-type="bullet">
<list-item>
<p><bold>griddataT</bold>: Input training temperature data, the contents of NetCDF files in <monospace>datadir</monospace> and an entry for the <monospace>tvarconvert_fcn</monospace>. If the temperature data has been transformed with the input argument <monospace>tvarconvert_fcn</monospace> to <monospace>trainTP()</monospace>, this also includes the transformed variable data in addition to the raw variable data in the NetCDF file. The default is not to transform the temperature data (<monospace>tvarconvert_fcn = NULL</monospace>).</p>
</list-item>
<list-item>
<p><bold>griddataP</bold>: Input training precipitation data, the contents of NetCDF files in <monospace>datadir</monospace> and an entry for the <monospace>pvarconvert_fcn</monospace>. If the precipitation data has been transformed with the input argument <monospace>pvarconvert_fcn</monospace> to <monospace>trainTP()</monospace>, this also includes the transformed variable data in addition to the raw variable data in the NetCDF file. The default is to transform the precipitation data (<monospace>pvarconvert_fcn = log</monospace>).</p>
</list-item>
<list-item>
<p><bold>tgav</bold>: Global mean temperature for the grids in griddataT.</p>
</list-item>
<list-item>
<p><bold>meanfldT</bold>: The mean field analysis for temperature (Steps 2-3).
<list list-type="bullet">
<list-item>
<p><bold>r</bold>: The matrix of input temperature residuals in each grid cell, in their native distribution.</p>
</list-item>
<list-item>
<p><bold>b</bold> and <bold>w</bold>: the mean field coefficients for use in reconstructing the full temperature data.</p>
</list-item>
</list></p>
</list-item>
<list-item>
<p><bold>meanfldP</bold>: Analogous to meanfldT, for precipitation.</p>
</list-item>
<list-item>
<p><bold>tfuns</bold>: The empirical characterization of native distributions of temperature residuals for each grid cell.
<list list-type="bullet">
<list-item>
<p><bold>cdf</bold>: A list of the empirical CDFs in each grid cell used to transform temperature residuals from the native distribution of the grid cell to <italic>N</italic>(0, 1).</p>
</list-item>
<list-item>
<p><bold>quants</bold>: A list of the empirical quantile functions (inverse CDF) in each grid cell used to transform generated temperature residuals from <italic>N</italic>(0, 1) to the native distribution for temperature residuals in each grid cell.</p>
</list-item>
</list></p>
</list-item>
<list-item>
<p><bold>pfuns</bold>: Analogous to tfuns, for precipitation.</p>
</list-item>
<list-item>
<p><bold>reof</bold>: Follows the same format as the structure returned by <monospace>stats::princomp()</monospace>. The most important fields are:
<list list-type="bullet">
<list-item>
<p><bold>rotation</bold>: A matrix [2 * Ngrid x NEOF] containing orthogonal basis vectors for the residuals. Each column is a basis vector. The number of basis vectors, NEOF, will be less than or equal to the number of time slices in the input, Ntime.</p>
</list-item>
<list-item>
<p><bold>x</bold>: A matrix [Ntime x NEOF] containing the coordinates of the residuals in the coordinate system defined by the basis vectors. Each row is a time slice. Thus <inline-formula id="pone.0223542.e009"><alternatives><graphic id="pone.0223542.e009g" mimetype="image" position="anchor" xlink:href="info:doi/10.1371/journal.pone.0223542.e009" xlink:type="simple"/><mml:math display="inline" id="M9"><mml:mrow><mml:mi>r</mml:mi> <mml:mi>e</mml:mi> <mml:mi>s</mml:mi> <mml:mi>i</mml:mi> <mml:mi>d</mml:mi> <mml:mi>u</mml:mi> <mml:mi>a</mml:mi> <mml:mi>l</mml:mi> <mml:mrow><mml:mo>(</mml:mo> <mml:mi>t</mml:mi> <mml:mo>)</mml:mo></mml:mrow> <mml:mo>=</mml:mo> <mml:msubsup><mml:mo>∑</mml:mo> <mml:mrow><mml:mi>i</mml:mi> <mml:mo>=</mml:mo> <mml:mn>1</mml:mn></mml:mrow> <mml:mi>N</mml:mi></mml:msubsup> <mml:mi>x</mml:mi> <mml:mrow><mml:mo>[</mml:mo> <mml:mi>t</mml:mi> <mml:mo>,</mml:mo> <mml:mi>i</mml:mi> <mml:mo>]</mml:mo></mml:mrow> <mml:mo>*</mml:mo> <mml:mi>r</mml:mi> <mml:mi>o</mml:mi> <mml:mi>t</mml:mi> <mml:mi>a</mml:mi> <mml:mi>t</mml:mi> <mml:mi>i</mml:mi> <mml:mi>o</mml:mi> <mml:mi>n</mml:mi> <mml:mrow><mml:mo>[</mml:mo> <mml:mo>:</mml:mo> <mml:mo>,</mml:mo> <mml:mi>i</mml:mi> <mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></alternatives></inline-formula>.</p>
</list-item>
</list></p>
</list-item>
<list-item>
<p><bold>fxmag</bold>: The magnitude of the Fourier transform of the EOF projection coefficients. This should be a matrix [Ntime x NEOF]</p>
</list-item>
<list-item>
<p><bold>fxphase</bold>: List of matrices [Ntime x NEOF] of phases of the Fourier transform. There should be one element in the list for each input ESM run.</p>
</list-item>
<list-item>
<p><bold>infiles</bold>: Names of input files used to construct the data.</p>
</list-item>
</list>
</sec>
<sec id="sec010">
<title>Generating new realizations</title>
<p>From a trained <monospace>emulator</monospace>, new residuals are generated (<xref ref-type="table" rid="pone.0223542.t001">Table 1</xref>, right column, Steps 9-11) by <monospace>generate.TP.resids()</monospace>, which calls the <monospace>fldgen</monospace> functions <monospace>mkcorrts()</monospace>, <monospace>reconst_fields()</monospace>, and <monospace>unnormalize.resids()</monospace>.</p>
<p specific-use="line">## Set RNG seed if reproducible results desired:</p>
<p specific-use="line">set.seed (11)</p>
<p specific-use="line">## Generate new residuals</p>
<p specific-use="line">residgrids &lt;- generate.TP.resids (emulator, ngen = 5)</p>
<p>The function <monospace>generate.TP.resids()</monospace> returns an R list of new residual matrices. Each of the <monospace>ngen</monospace> entries in the list is a new realization: a matrix that is [Ntime x 2 * Ngrid]. The first 1:Ngrid columns of each residual matrix are the temperature residuals and columns (Ngrid + 1):(2*Ngrid) are the precipitation residuals. These generated fields can be reshaped, plotted, analyzed, saved, etc. in whatever way a user desires. With the default inputs to <monospace>trainTP()</monospace> of <monospace>tvarconvert_fcn = NULL</monospace> and <monospace>pvarconvert_fcn = log</monospace>, these are residuals in (temperature, log(precipitation) space.</p>
<p>From a trained <monospace>emulator</monospace> and generated new residual fields, <monospace>residgrids</monospace>, new full fields for temperature and precipitation are generated (<xref ref-type="table" rid="pone.0223542.t001">Table 1</xref>, right column, Steps 12-13) by <monospace>generate.TP.fullgrids()</monospace>.</p>
<p specific-use="line">generate.TP.fullgrids(emulator, residgrids, tgav = tgav,</p>
<p specific-use="line">         tvarunconvert_fcn = NULL,</p>
<p specific-use="line">         pvarunconvert_fcn = exp,</p>
<p specific-use="line">         reconstruction_function = pscl_apply) -&gt;</p>
<p specific-use="line">    fullgrids</p>
</sec>
<sec id="sec011">
<title>Availability</title>
<sec id="sec012">
<title>Quality control</title>
<p>Strict requirements for input files are documented. An example workflow for training an emulator and generating new residuals (using the commands outlined above) is included in the package. Using the R packages <monospace>devtools</monospace> and <monospace>roxygen2</monospace>, extensive documentation for every function created in <monospace>fldgen</monospace> is included. More detail of each step in <xref ref-type="table" rid="pone.0223542.t001">Table 1</xref> may be found in the tutorial vignettes included with the package (<monospace>fldgen/vignettes/</monospace>). Integrated testing (via the <monospace>testthat</monospace> R package and example NetCDF data included in <monospace>fldgen/inst/extdata</monospace>) is included and may be run with <monospace>devtools::test()</monospace>. The full suite of integrated tests is invoked in addition to a battery of standardized R checks with <monospace>devtools::check()</monospace>.</p>
</sec>
<sec id="sec013">
<title>System requirements</title>
<p>
<monospace>fldgen</monospace> has been tested successfully on Linux (64-bit), Windows 7 and Mac OS X.</p>
<p>
<monospace>fldgen</monospace> uses multiple enormous global gridded datasets for emulator training. Therefore, a minimum memory size of 8GB is necessary, and 16GB is recommended. Memory capacity determines how fast the code is able to run, how many variables <monospace>fldgen</monospace> is able to analyze the joint properties for, how many scenarios <monospace>fldgen</monospace> may train on, and how many generated fields may be held in memory.</p>
</sec>
<sec id="sec014">
<title>Programming language</title>
<p>R (≥ 3.3.3).</p>
<sec id="sec015">
<title>Dependencies</title>
<p>Required dependencies include the R packages: assertthat (≥ 0.2.0), dplyr (≥ 0.7), tidyr (≥ 0.7.1), tibble (≥ 1.3.4), ggplot2 (≥ 2.2.1), scales (≥ 0.5.0), reshape2 (≥ 1.4.2), ncdf4 (≥ 1.16), rlang (≥ 0.1.2).</p>
<p>Optional dependencies include the R packages: testthat, gcammaptools (≥ 0.4), covr, knitr, rmarkdown.</p>
</sec>
</sec>
<sec id="sec016">
<title>Software location</title>
<sec id="sec017">
<title>Archive</title>
<p>Name: zenodo</p>
<p>Persistent identifier: <ext-link ext-link-type="uri" xlink:href="http://doi.org/10.5281/zenodo.2605386" xlink:type="simple">http://doi.org/10.5281/zenodo.2605386</ext-link></p>
<p>Licence: BSD 2-Clause</p>
<p>Publisher: Robert Link</p>
<p>Version published: v2.0.0 prerelease</p>
<p>Date published: archive of prerelease published 25/03/2019</p>
</sec>
<sec id="sec018">
<title>Code repository</title>
<p>Name: GitHub</p>
<p>Identifier: <ext-link ext-link-type="uri" xlink:href="https://github.com/JGCRI/fldgen/tree/v2.0.0-rc.1" xlink:type="simple">https://github.com/JGCRI/fldgen/tree/v2.0.0-rc.1</ext-link></p>
<p>Licence: BSD 2-Clause</p>
<p>Date published: prerelease published 25/03/2019</p>
</sec>
</sec>
</sec>
</body>
<back>
<ref-list>
<title>References</title>
<ref id="pone.0223542.ref001">
<label>1</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Diffenbaugh</surname> <given-names>NS</given-names></name>, <name name-style="western"><surname>Singh</surname> <given-names>D</given-names></name>, <name name-style="western"><surname>Mankin</surname> <given-names>JS</given-names></name>, <name name-style="western"><surname>Horton</surname> <given-names>DE</given-names></name>, <name name-style="western"><surname>Swain</surname> <given-names>DL</given-names></name>, <name name-style="western"><surname>Touma</surname> <given-names>D</given-names></name>, <etal>et al</etal>. <article-title>Quantifying the influence of global warming on unprecedented extreme climate events</article-title>. <source>Proceedings of the National Academy of Sciences</source>. <year>2017</year>;<volume>114</volume>(<issue>19</issue>):<fpage>4881</fpage>–<lpage>4886</lpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1073/pnas.1618082114" xlink:type="simple">10.1073/pnas.1618082114</ext-link></comment></mixed-citation>
</ref>
<ref id="pone.0223542.ref002">
<label>2</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Trenberth</surname> <given-names>KE</given-names></name>, <name name-style="western"><surname>Fasullo</surname> <given-names>JT</given-names></name>, <name name-style="western"><surname>Shepherd</surname> <given-names>TG</given-names></name>. <article-title>Attribution of climate extreme events</article-title>. <source>Nature Climate Change</source>. <year>2015</year>;<volume>5</volume>(<issue>8</issue>):<fpage>725</fpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1038/nclimate2657" xlink:type="simple">10.1038/nclimate2657</ext-link></comment></mixed-citation>
</ref>
<ref id="pone.0223542.ref003">
<label>3</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Rosenzweig</surname> <given-names>C</given-names></name>, <name name-style="western"><surname>Elliott</surname> <given-names>J</given-names></name>, <name name-style="western"><surname>Deryng</surname> <given-names>D</given-names></name>, <name name-style="western"><surname>Ruane</surname> <given-names>AC</given-names></name>, <name name-style="western"><surname>Müller</surname> <given-names>C</given-names></name>, <name name-style="western"><surname>Arneth</surname> <given-names>A</given-names></name>, <etal>et al</etal>. <article-title>Assessing agricultural risks of climate change in the 21st century in a global gridded crop model intercomparison</article-title>. <source>Proceedings of the National Academy of Sciences</source>. <year>2014</year>;<volume>111</volume>(<issue>9</issue>):<fpage>3268</fpage>–<lpage>3273</lpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1073/pnas.1222463110" xlink:type="simple">10.1073/pnas.1222463110</ext-link></comment></mixed-citation>
</ref>
<ref id="pone.0223542.ref004">
<label>4</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Calvin</surname> <given-names>K</given-names></name>, <name name-style="western"><surname>Patel</surname> <given-names>P</given-names></name>, <name name-style="western"><surname>Clarke</surname> <given-names>L</given-names></name>, <name name-style="western"><surname>Asrar</surname> <given-names>G</given-names></name>, <name name-style="western"><surname>Bond-Lamberty</surname> <given-names>B</given-names></name>, <name name-style="western"><surname>Cui</surname> <given-names>RY</given-names></name>, <etal>et al</etal>. <article-title>GCAM v5.1: representing the linkages between energy, water, land, climate, and economic systems</article-title>. <source>Geoscientific Model Development</source>. <year>2019</year>;<volume>12</volume>(<issue>2</issue>):<fpage>677</fpage>–<lpage>698</lpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.5194/gmd-12-677-2019" xlink:type="simple">10.5194/gmd-12-677-2019</ext-link></comment></mixed-citation>
</ref>
<ref id="pone.0223542.ref005">
<label>5</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Cui</surname> <given-names>RY</given-names></name>, <name name-style="western"><surname>Calvin</surname> <given-names>K</given-names></name>, <name name-style="western"><surname>Clarke</surname> <given-names>L</given-names></name>, <name name-style="western"><surname>Hejazi</surname> <given-names>M</given-names></name>, <name name-style="western"><surname>Kim</surname> <given-names>S</given-names></name>, <name name-style="western"><surname>Kyle</surname> <given-names>P</given-names></name>, <etal>et al</etal>. <article-title>Regional responses to future, demand-driven water scarcity</article-title>. <source>Environmental Research Letters</source>. <year>2018</year>;<volume>13</volume>(<issue>9</issue>):<fpage>094006</fpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1088/1748-9326/aad8f7" xlink:type="simple">10.1088/1748-9326/aad8f7</ext-link></comment></mixed-citation>
</ref>
<ref id="pone.0223542.ref006">
<label>6</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Tebaldi</surname> <given-names>C</given-names></name>, <name name-style="western"><surname>Knutti</surname> <given-names>R</given-names></name>. <article-title>Evaluating the accuracy of climate change pattern emulation for low warming targets</article-title>. <source>Environmental Research Letters</source>. <year>2018</year>;<volume>13</volume>(<issue>5</issue>):<fpage>055006</fpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1088/1748-9326/aabef2" xlink:type="simple">10.1088/1748-9326/aabef2</ext-link></comment></mixed-citation>
</ref>
<ref id="pone.0223542.ref007">
<label>7</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Link</surname> <given-names>R</given-names></name>, <name name-style="western"><surname>Snyder</surname> <given-names>A</given-names></name>, <name name-style="western"><surname>Lynch</surname> <given-names>C</given-names></name>, <name name-style="western"><surname>Hartin</surname> <given-names>C</given-names></name>, <name name-style="western"><surname>Kravitz</surname> <given-names>B</given-names></name>, <name name-style="western"><surname>Bond-Lamberty</surname> <given-names>B</given-names></name>. <article-title>Fldgen v1.0: An Emulator with Internal Variability and Space-Time Correlation for Earth System Models</article-title>. <source>Geoscientific Model Development</source>. <year>2018</year>;.</mixed-citation>
</ref>
<ref id="pone.0223542.ref008">
<label>8</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Castruccio</surname> <given-names>S</given-names></name>, <name name-style="western"><surname>Stein</surname> <given-names>M</given-names></name>. <article-title>Global space-time models for climate ensembles</article-title>. <source>The Annals of Applied Statistics</source>. <year>2013</year>;<volume>7</volume>(<issue>3</issue>):<fpage>1593</fpage>–<lpage>1611</lpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1214/13-AOAS656" xlink:type="simple">10.1214/13-AOAS656</ext-link></comment></mixed-citation>
</ref>
<ref id="pone.0223542.ref009">
<label>9</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Osborn</surname> <given-names>TJ</given-names></name>, <name name-style="western"><surname>Wallace</surname> <given-names>CJ</given-names></name>, <name name-style="western"><surname>Harris</surname> <given-names>IC</given-names></name>, <name name-style="western"><surname>Melvin</surname> <given-names>TM</given-names></name>. <article-title>Pattern scaling using ClimGen: monthly-resolution future climate scenarios including changes in the variability of precipitation</article-title>. <source>Climatic Change</source>. <year>2015</year>; p. <fpage>1</fpage>–<lpage>17</lpage>.</mixed-citation>
</ref>
<ref id="pone.0223542.ref010">
<label>10</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Alexeeff</surname> <given-names>SE</given-names></name>, <name name-style="western"><surname>Nychka</surname> <given-names>D</given-names></name>, <name name-style="western"><surname>Sain</surname> <given-names>SR</given-names></name>, <name name-style="western"><surname>Tebaldi</surname> <given-names>C</given-names></name>. <article-title>Emulating mean patterns and variability of temperature across and within scenarios in anthropogenic climate change experiments</article-title>. <source>Climatic Change</source>. <year>2016</year>;</mixed-citation>
</ref>
<ref id="pone.0223542.ref011">
<label>11</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Pfahl</surname> <given-names>S</given-names></name>, <name name-style="western"><surname>O’Gorman</surname> <given-names>PA</given-names></name>, <name name-style="western"><surname>Fischer</surname> <given-names>EM</given-names></name>. <article-title>Understanding the regional pattern of projected future changes in extreme precipitation</article-title>. <source>Nature Climate Change</source>. <year>2017</year>;<volume>7</volume>(<issue>6</issue>):<fpage>423</fpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1038/nclimate3287" xlink:type="simple">10.1038/nclimate3287</ext-link></comment></mixed-citation>
</ref>
<ref id="pone.0223542.ref012">
<label>12</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Wakeel</surname> <given-names>M</given-names></name>, <name name-style="western"><surname>Chen</surname> <given-names>B</given-names></name>, <name name-style="western"><surname>Hayat</surname> <given-names>T</given-names></name>, <name name-style="western"><surname>Alsaedi</surname> <given-names>A</given-names></name>, <name name-style="western"><surname>Ahmad</surname> <given-names>B</given-names></name>. <article-title>Energy consumption for water use cycles in different countries: A review</article-title>. <source>Applied Energy</source>. <year>2016</year>;<volume>178</volume>:<fpage>868</fpage>–<lpage>885</lpage>.</mixed-citation>
</ref>
<ref id="pone.0223542.ref013">
<label>13</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Zscheischler</surname> <given-names>J</given-names></name>, <name name-style="western"><surname>Seneviratne</surname> <given-names>SI</given-names></name>. <article-title>Dependence of drivers affects risks associated with compound events</article-title>. <source>Science advances</source>. <year>2017</year>;<volume>3</volume>(<issue>6</issue>):<fpage>e1700263</fpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1126/sciadv.1700263" xlink:type="simple">10.1126/sciadv.1700263</ext-link></comment> <object-id pub-id-type="pmid">28782010</object-id></mixed-citation>
</ref>
<ref id="pone.0223542.ref014">
<label>14</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Hejazi</surname> <given-names>MI</given-names></name>, <name name-style="western"><surname>Edmonds</surname> <given-names>J</given-names></name>, <name name-style="western"><surname>Clarke</surname> <given-names>L</given-names></name>, <name name-style="western"><surname>Kyle</surname> <given-names>P</given-names></name>, <name name-style="western"><surname>Davies</surname> <given-names>E</given-names></name>, <name name-style="western"><surname>Chaturvedi</surname> <given-names>V</given-names></name>, <etal>et al</etal>. <article-title>Integrated assessment of global water scarcity over the 21st century under multiple climate change mitigation policies</article-title>. <source>Hydrology and Earth System Sciences</source>. <year>2014</year>;<volume>18</volume>(<issue>8</issue>):<fpage>2859</fpage>–<lpage>2883</lpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.5194/hess-18-2859-2014" xlink:type="simple">10.5194/hess-18-2859-2014</ext-link></comment></mixed-citation>
</ref>
<ref id="pone.0223542.ref015">
<label>15</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Kilsby</surname> <given-names>CG</given-names></name>, <name name-style="western"><surname>Jones</surname> <given-names>P</given-names></name>, <name name-style="western"><surname>Burton</surname> <given-names>A</given-names></name>, <name name-style="western"><surname>Ford</surname> <given-names>A</given-names></name>, <name name-style="western"><surname>Fowler</surname> <given-names>HJ</given-names></name>, <name name-style="western"><surname>Harpham</surname> <given-names>C</given-names></name>, <etal>et al</etal>. <article-title>A daily weather generator for use in climate change studies</article-title>. <source>Environmental Modelling &amp; Software</source>. <year>2007</year>;<volume>22</volume>(<issue>12</issue>):<fpage>1705</fpage>–<lpage>1719</lpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.envsoft.2007.02.005" xlink:type="simple">10.1016/j.envsoft.2007.02.005</ext-link></comment></mixed-citation>
</ref>
<ref id="pone.0223542.ref016">
<label>16</label>
<mixed-citation publication-type="book" xlink:type="simple">
<name name-style="western"><surname>Champeney</surname> <given-names>DC</given-names></name>. <source>Fourier Transforms and Their Physical Applications</source>. <publisher-loc>New York</publisher-loc>: <publisher-name>Academic Press</publisher-name>; <year>1973</year>.</mixed-citation>
</ref>
<ref id="pone.0223542.ref017">
<label>17</label>
<mixed-citation publication-type="other" xlink:type="simple">Snyder A. Rank Correlation Coefficient verification supplement to’Joint emulation of Earth System Model temperature-precipitation realizations with internal variability and space-time and cross-variable correlation: fldgen v2.0 software description’; Published: August 20, 2019. Available from: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.5281/zenodo.3372579" xlink:type="simple">https://doi.org/10.5281/zenodo.3372579</ext-link>.</mixed-citation>
</ref>
<ref id="pone.0223542.ref018">
<label>18</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Xu</surname> <given-names>L</given-names></name>, <name name-style="western"><surname>Stige</surname> <given-names>LC</given-names></name>, <name name-style="western"><surname>Chan</surname> <given-names>KS</given-names></name>, <name name-style="western"><surname>Zhou</surname> <given-names>J</given-names></name>, <name name-style="western"><surname>Yang</surname> <given-names>J</given-names></name>, <name name-style="western"><surname>Sang</surname> <given-names>S</given-names></name>, <etal>et al</etal>. <article-title>Climate variation drives dengue dynamics</article-title>. <source>Proceedings of the National Academy of Sciences</source>. <year>2017</year>;<volume>114</volume>(<issue>1</issue>):<fpage>113</fpage>–<lpage>118</lpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1073/pnas.1618558114" xlink:type="simple">10.1073/pnas.1618558114</ext-link></comment></mixed-citation>
</ref>
<ref id="pone.0223542.ref019">
<label>19</label>
<mixed-citation publication-type="journal" xlink:type="simple">
<name name-style="western"><surname>Taylor</surname> <given-names>KE</given-names></name>, <name name-style="western"><surname>Stouffer</surname> <given-names>RJ</given-names></name>, <name name-style="western"><surname>Meehl</surname> <given-names>GA</given-names></name>. <article-title>An overview of CMIP5 and the experiment design</article-title>. <source>Bulletin of the American Meteorological Society</source>. <year>2012</year>;<volume>93</volume>(<issue>4</issue>):<fpage>485</fpage>–<lpage>498</lpage>. <comment>doi: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1175/BAMS-D-11-00094.1" xlink:type="simple">10.1175/BAMS-D-11-00094.1</ext-link></comment></mixed-citation>
</ref>
</ref-list>
</back>
</article>