@article{Marsh-2021-Performance,
title = "Performance improvements to modern hydrological models via lookup table optimizations",
author = "Marsh, Christopher B. and
Green, Kevin R. and
Wang, B. and
Spiteri, Raymond J.",
journal = "Environmental Modelling {\&} Software, Volume 139",
volume = "139",
year = "2021",
publisher = "Elsevier BV",
url = "https://gwf-uwaterloo.github.io/gwf-publications/G21-19001",
doi = "10.1016/j.envsoft.2021.105018",
pages = "105018",
abstract = "Distributed hydrological models predict the spatial variability in processes that govern observed mass and energy fluxes. A challenge associated with the use of these models is the computational burden associated with representing the Earth's (sub)surface via millions of computational elements. This burden is exacerbated as more complex process representations are included because their parameterizations involve computationally intensive mathematical functions. Lookup tables (LUTs) approximate a mathematical function by interpolating precomputed values of the function. Highly accurate approximations are possible for substantially reduced computational costs. In this work, a general methodology using the C++ LUT library FunC is applied to identify and replace computationally intensive mathematical function evaluations in the Canadian Hydrological Model (CHM). The use of LUTs introduces a pointwise relative error below 10 − 8 and provides a reduction in run time of almost 20{\%}. This work shows how LUTs can be implemented with relatively little pain and yield significant computational savings for distributed hydrological models. {\mbox{$\bullet$}} The Canadian Hydrological Model (CHM) is profiled and expensive mathematical functions identified. {\mbox{$\bullet$}} FunC was used to replace the expensive mathematical functions in CHM with lookup tables. {\mbox{$\bullet$}} The run-time performance of CHM was improved by approximately 20{\%} on two realistic simulations. {\mbox{$\bullet$}} A general methodology for using FunC to replace expensive mathematical functions with lookup tables is given.",
}

<?xml version="1.0" encoding="UTF-8"?>
<modsCollection xmlns="http://www.loc.gov/mods/v3">
<mods ID="Marsh-2021-Performance">
<titleInfo>
<title>Performance improvements to modern hydrological models via lookup table optimizations</title>
</titleInfo>
<name type="personal">
<namePart type="given">Christopher</namePart>
<namePart type="given">B</namePart>
<namePart type="family">Marsh</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Kevin</namePart>
<namePart type="given">R</namePart>
<namePart type="family">Green</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">B</namePart>
<namePart type="family">Wang</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Raymond</namePart>
<namePart type="given">J</namePart>
<namePart type="family">Spiteri</namePart>
<role>
<roleTerm authority="marcrelator" type="text">author</roleTerm>
</role>
</name>
<originInfo>
<dateIssued>2021</dateIssued>
</originInfo>
<typeOfResource>text</typeOfResource>
<genre authority="bibutilsgt">journal article</genre>
<relatedItem type="host">
<titleInfo>
<title>Environmental Modelling & Software, Volume 139</title>
</titleInfo>
<originInfo>
<issuance>continuing</issuance>
<publisher>Elsevier BV</publisher>
</originInfo>
<genre authority="marcgt">periodical</genre>
<genre authority="bibutilsgt">academic journal</genre>
</relatedItem>
<abstract>Distributed hydrological models predict the spatial variability in processes that govern observed mass and energy fluxes. A challenge associated with the use of these models is the computational burden associated with representing the Earth’s (sub)surface via millions of computational elements. This burden is exacerbated as more complex process representations are included because their parameterizations involve computationally intensive mathematical functions. Lookup tables (LUTs) approximate a mathematical function by interpolating precomputed values of the function. Highly accurate approximations are possible for substantially reduced computational costs. In this work, a general methodology using the C++ LUT library FunC is applied to identify and replace computationally intensive mathematical function evaluations in the Canadian Hydrological Model (CHM). The use of LUTs introduces a pointwise relative error below 10 − 8 and provides a reduction in run time of almost 20%. This work shows how LUTs can be implemented with relatively little pain and yield significant computational savings for distributed hydrological models. \bullet The Canadian Hydrological Model (CHM) is profiled and expensive mathematical functions identified. \bullet FunC was used to replace the expensive mathematical functions in CHM with lookup tables. \bullet The run-time performance of CHM was improved by approximately 20% on two realistic simulations. \bullet A general methodology for using FunC to replace expensive mathematical functions with lookup tables is given.</abstract>
<identifier type="citekey">Marsh-2021-Performance</identifier>
<identifier type="doi">10.1016/j.envsoft.2021.105018</identifier>
<location>
<url>https://gwf-uwaterloo.github.io/gwf-publications/G21-19001</url>
</location>
<part>
<date>2021</date>
<detail type="volume"><number>139</number></detail>
<detail type="page"><number>105018</number></detail>
</part>
</mods>
</modsCollection>

%0 Journal Article
%T Performance improvements to modern hydrological models via lookup table optimizations
%A Marsh, Christopher B.
%A Green, Kevin R.
%A Wang, B.
%A Spiteri, Raymond J.
%J Environmental Modelling & Software, Volume 139
%D 2021
%V 139
%I Elsevier BV
%F Marsh-2021-Performance
%X Distributed hydrological models predict the spatial variability in processes that govern observed mass and energy fluxes. A challenge associated with the use of these models is the computational burden associated with representing the Earth’s (sub)surface via millions of computational elements. This burden is exacerbated as more complex process representations are included because their parameterizations involve computationally intensive mathematical functions. Lookup tables (LUTs) approximate a mathematical function by interpolating precomputed values of the function. Highly accurate approximations are possible for substantially reduced computational costs. In this work, a general methodology using the C++ LUT library FunC is applied to identify and replace computationally intensive mathematical function evaluations in the Canadian Hydrological Model (CHM). The use of LUTs introduces a pointwise relative error below 10 − 8 and provides a reduction in run time of almost 20%. This work shows how LUTs can be implemented with relatively little pain and yield significant computational savings for distributed hydrological models. \bullet The Canadian Hydrological Model (CHM) is profiled and expensive mathematical functions identified. \bullet FunC was used to replace the expensive mathematical functions in CHM with lookup tables. \bullet The run-time performance of CHM was improved by approximately 20% on two realistic simulations. \bullet A general methodology for using FunC to replace expensive mathematical functions with lookup tables is given.
%R 10.1016/j.envsoft.2021.105018
%U https://gwf-uwaterloo.github.io/gwf-publications/G21-19001
%U https://doi.org/10.1016/j.envsoft.2021.105018
%P 105018

##### Markdown (Informal)

[Performance improvements to modern hydrological models via lookup table optimizations](https://gwf-uwaterloo.github.io/gwf-publications/G21-19001) (Marsh et al., GWF 2021)

##### ACL

- Christopher B. Marsh, Kevin R. Green, B. Wang, and Raymond J. Spiteri. 2021. Performance improvements to modern hydrological models via lookup table optimizations.
*Environmental Modelling & Software, Volume 139*, 139:105018.