Reading the cistern designation thread, I got to thinking about a way to improve and streamline the way water is managed. It kind of makes sense to me, so I'm going to post it and see how long it takes you guys to find problems with it.
How about if contiguous bodies of water are treated as a single tile with a depth of (area*7)? Say I have a 10x10 cistern, it could be treated as a body of water that can hold 700 units of water. So if there are 415 units in there, the thing would have an average depth of 4.15 (maybe rounded for purposes of swimming/drowning/running magma smelters) and apply equal pressure at all points, so a pump wouldn't "dig a hole" in the corner of the reservoir and pump 1 unit per cycle while it's 5 deep six tiles away. If you breach the wall of the ocean, it would assimilate one tile per some amount of time, so you'd get a tile or three of the usual 1/3/6 depth water, but behind that it would be a solid encroaching wall of water, gushing through the tunnel/hallway/baron's bedchamber.
Ideally, it would eliminate the need to track all those dancing numbers on the surface of an incompletely filled body of water, it would allow waterworks to fill quickly without me watching a long wedge of sludge slooooowly shifting through my carefully arranged series of tubes (or helping it along with a pump or two), and turn breaching an aquifer from an exercise in door-building to the apocalyptic rush of watery Fun that it should probably be.
Problems I see with it are obvious, but hopefully not insurmountable: From a technical standpoint, it would likely be a pain to code, since the game would have to be able to recognize a contiguous body of water and check frequently to see whether it's been breached. Hopefully that wouldn't be as CPU-heavy as tracking individual tile depth is right now. Also, it might become tricky to handle depletion and drying, since a 1/490 would technically still have water in it, but I'd expect that to be dodgeable by just reverting to the per-tile system when it drops below 2/7 of the max depth. It'd also lead to trouble when using floodgates or bridges to manage flow, since they're always either totally open or totally closed, and the switch would only be able to select between "Off" and "Sweet Armok!" intensities. I'm not sure how best to deal with that one.
Thoughts?