Repository logo
 

Increasing the Performance of the Canadian Hydrological Model using Lookup Tables

Date

Journal Title

Journal ISSN

Volume Title

Publisher

ORCID

Type

Thesis

Degree Level

Masters

Abstract

The climate of cold regions is fragile and could be easily threatened by human activities. Hydrological processes play an important role in the climate of cold regions, and using computational models to simulate cold-region hydrological processes helps people understand past hydrological events and predict future ones. With the need to get more accurate simulation results, more complex computational models are often required. However, the complexity of models is often limited by available computational resources. Therefore, improving the computational efficiency of model simulations is an urgent task for hydrological researchers and software developers. The Canadian Hydrological Model (CHM) is a modular software package that is used to simulate cold-region hydrological processes. CHM uses an efficient surface discretization, unstructured triangular meshes, to reduce the number of discretization elements, which in turn decreases the complexity of cold-region hydrological models. CHM also employs parallelization to make models more efficient. By profiling the performance of CHM, we find that there are some computationally intensive functions inside CHM that are evaluated repeatedly. Lookup tables (LUTs) followed by optional interpolation or Taylor series approximation are common optimizations to replace such direct function evaluations. These optimizations can decrease the complexity of cold-region hydrological models further. The Function Comparator (FunC) is a C++ library that can automatically create one-dimensional LUTs for continuous univariate functions on uniformly spaced grids. In this thesis, we use FunC to implement LUTs for two computationally intensive and repeatedly called functions in CHM, achieving an improvement of around 20% in the performance of CHM in the sense of running time on two cold-region hydrological simulations. In the first step, we identify two computationally intensive and repeatedly called functions by profiling the performance of CHM, determine the error tolerances and the ranges of inputs for their LUT implementations, and use FunC to implement linear interpolation LUTs for both functions in CHM. In the second step, we run CHM with and without LUT implementations on a coldregion hydrological simulation with a small domain. We verify that CHM with LUT implementations produces correct output and show that there is around an 18% improvement in the performance of CHM. In the third step, we run the same CHM with and without LUT implementations on a cold-region hydrological simulation with a large domain. We again verify that CHM with LUT implementations produces correct output and show that there is around a 21% improvement in the performance of CHM.

Description

Keywords

Lookup tables, cold-region hydrological simulation, Function Comparator (FunC), the Canadian Hydrological Model (CHM)

Citation

Degree

Master of Science (M.Sc.)

Department

Computer Science

Program

Computer Science

Advisor

Citation

Part Of

item.page.relation.ispartofseries

DOI

item.page.identifier.pmid

item.page.identifier.pmcid