I made a rather nifty underground river once in a cold mountain climate. I dug a branch from the river 2 z-layers beneath the river itself. Quite large. It takes in water from the river above, flows into a channel inside a room underground and exits to a waterfall on a cliff outside that drains back into the surface river (you can also drain it to an underground edge tile). The room itself is where I fish, have wells, etc. Floodgates and wall grates are provided on both ends, and most of the length of my indoor river is covered over with floor grates so my dwarves don't accidentally fall in and get swept out to the waterfall.
During the warm season, both floodgates are opened so my "indoor river" is always flowing. During winter, I close both floodgates, trapping the water inside. So I have liquid water even when the surface river is frozen. Though the water levels go down over time with usage, the size of the indoor river itself means that I have more than enough water for my wells to remain functional. And I can replenish again when the thaw comes.
The water doesn't freeze because it's undergound with natural roofs. And it has the added advantage of having a safe fishing area. I can also design it in such a way that I also have nice waterfalls to clean my dwarves and keep them happy.
With this you can have a reservoir to irrigate some rooms (with artificial roofs) and you can farm surface crops indoors even in winter. Make sure you can grow crops though. From experience, you can't grow surface crops in mountain biomes.
Detailed engineering schematics below: