Increasing Computational Efficiency of a River Ice Model to Help Investigate the Impact of Ice Booms on Ice Covers Formed in a Regulated River
The formation and stability of river ice covers in regulated waterways are critical for uninterrupted hydro-electric operations. This study investigates the modelling of ice cover development in the Beauharnois Canal along the St. Lawrence River with the presence and absence of ice booms. Ice booms are deployed in this canal to promote the rapid formation of a stable ice cover during freezing events, minimizing disruptions to dam operations. Remote sensing data were used to assess the spatial extent and temporal evolution of an ice cover and to calibrate the river ice model RIVICE. The model was applied to simulate ice formation for the 2019–2020 ice season, first for the canal with a series of three ice booms and then rerun under a scenario without booms. Comparative analysis reveals that the presence of ice booms facilitates the development of a relatively thinner and more uniform ice cover. In contrast, the absence of booms leads to thicker ice accumulations and increased risk of ice jamming, which could impact water management and hydroelectric generation operations. Computational efficiencies of the RIVICE model were also sought. RIVICE was originally compiled with a Fortran 77 compiler, which restricted modern optimization techniques. Recompiling with NVFortran significantly improved performance through advanced instruction scheduling, cache management, and automatic loop analysis, even without explicit optimization flags. Enabling optimization further accelerated execution, albeit marginally, reducing redundant operations and memory traffic while preserving numerical integrity. Tests across varying ice cross-sectional spacings confirmed that NVFortran reduced runtimes by roughly an order of magnitude compared to the original model. A test GPU (Graphics Processing Unit) version was able to run the data interpolation routines on the GPU, but frequent data transfers between the CPU (Central Processing Unit) and GPU caused by shared memory blocks and fixed-size arrays made it slower than the original CPU version. Achieving efficient GPU execution would require substantial code restructuring to eliminate global states, adopt persistent data regions, and parallelize at higher level loops, or alternatively, rewriting in a GPU-friendly language to fully exploit modern architectures.
Authors
- Mojtaba Jandaghian (ORCID: https://orcid.org/0000-0001-5111-9640)
- Amir Ali Khan (ORCID: https://orcid.org/0009-0006-8312-7278)
- Denise Sudom
- Saber Ansari (ORCID: https://orcid.org/0000-0003-4445-9537)
- Thomas Puestow (ORCID: https://orcid.org/0000-0002-7859-0229)
- Stephany Valarezo Plaza
- Seok-Bum Ko
- Sergio Gomez
Institutions
- University of Saskatchewan (CA)
- National Research Council Canada (CA)
- Global Institute for Water Security (CA)
Publication Details
- Journal
- Water
- Published
- 2026-01-14
- DOI
- https://doi.org/10.3390/w18020218
- Primary Topic
- Arctic and Antarctic ice dynamics
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- Government of Canada