Tuesday, September 12, 2017

Rivers: Where the water goes and where it doesn't

Last time I had worked out that an inch of annual rainfall on a square mile translates into 1.5 cubic feet per minute of runoff all year on average.  So where does this runoff go?

Well, downhill obviously, and most wide-area maps show mountains and oceans, so obviously it ends up running into rivers and flowing to the ocean.  Wherever a river is shown on a map is by default the lowest spot in the immediate area, but even hexes without rivers marked will have creeks, streams, rivulets, and rills draining the excess rainfall out of the lowest point in the hex and toward the ocean.

If water flows toward the lowest point, then it follows that water flows away from the highest points.  The line connecting the highest points in an area (of whatever size, from a square foot to a continent) is the local divide.  The divide can run along a mountain ridge, a line of hills, or simply an area of slightly higher ground on otherwise flat terrain.  All rain falling in an area bounded by divides will flow eventually into the same body of water; this is the watershed.


Three watersheds, separated by divides running along mountains and hills



Using what we know about rainfall and the flow of water from higher to lower elevations, we can now work out the total flow of water in a river.  This will define the amount of water that flows past a given point in the river each minute, but doesn't show whether it is a wide, slow river or a narrow, cascading one.  We'll worry about that detail later...for now, we'll look at the total flow.

For simplicity's sake, I'm going to assume all the hexes on the following map receive the same amount of rainfall...let's say 50" per year.  Obviously when using an actual campaign map, forest gets more rain than grassland (although our 50" falls within both temperate forest and grassland), which gets more than desert.  For terrain types not specified in the last post, use an approximation based on the surrounding terrain; a bare, rocky mountain rising from the midst of a steaming jungle will probably get as much rain as the surrounding jungle.  An oasis in the desert probably gets no more rain than the desert itself (most are fed by groundwater).  A mountain hex serving as a divide might get more rain on one side than on the other, due to the rain shadow effect, and this will affect the water drainage on each side.


We know each square mile gets 50" of rain, and since each inch of annual rain translates to 1.5 cubic feet of flow per minute, we have a flow rate of 75 cubic feet per minute for each square mile on our map.  Let's say each hex is 20 miles across, but how many square miles are in a 20 mile hex? 

I've found a super easy link to help with that: https://rechneronline.de/pi/hexagon.php Whatever hex size you choose (20 miles in this case), input that into the "short diagonal" or d2 window (notice d2 goes across the hex from one face to the opposite face...exactly the distance we use in RPG mapping).  For a 20 mile hex we get 346 square miles, and that means we get 26000 cubic feet per minute of water flow per hex, rounding off because we're not interested in making this math any crazier than we have to. 

Ok, this next part is a little tedious.  Now we add up the total flow for each river hex. So for the furthest north branch of this river (hex 0601), we'll have the hexes to the north (0500, 0600, 0700) flow into it.  0400 looks like it would flow into 0500, so we'll add that too; same goes for 0800 flowing into 0700.  Lastly, the rainfall running off of 0601 itself will end up in the river in 0601, so we have six hexes worth of flow.  Since we're using the same rainfall for all hexes, it's going to amount to 156,000 cubic feet of water per minute flowing out of 0601.

Similarly, 0602 will have 0200 flowing into 0300, which flows into 0401, which flows into 0501, which finally flows into 0602.  This is mirrored on the other side with 0701 through 1000.  The rain running off 0602 ends up in the river.  Lastly, all the water in the river at 0601 ends up here, for a total of 390,000 cubic feet per minute. 

For hex 0603, we do the same thing (I vastly oversimplified this water flow, just running in parallel lines of hexes like this...for greater realism and more satisfying detail, there should be low spots that local area hexes drain into, which then drains into the river).  In this case, since there is another branch of the river to the west, some of the hexes that would otherwise have ended up here instead drain towards the other branch.

Here is a table summing up the drainage area feeding each hex and the total water flow.  For each entry, if a river hex feeds into another river hex, I marked it in red, so I'd remember to add the river's total flow instead of counting it as another hex of rainfall runoff.  I ended this table before hex 0708, as that hex is fed by both branches of the river.

0601
0400, 0500, 0600, 0601, 0700, 0800
156,000
0602
0200, 0300, 0401, 0501, 0601, 0602, 0701, 0801, 0900, 1000
390,000
0603
0301, 0402, 0502, 0602, 0603, 0702, 0802, 0901, 1001, 1100, 1200
650,000
0604
0403, 0404, 0405, 0503, 0504, 0603, 0604, 0703, 0803, 0902, 1002, 1101, 1201
962,000
0704
0505, 0604, 0605, 0704, 0804, 0903, 1003, 1102, 1202
1,170,000
0705
0606, 0704, 0805, 0904, 1004, 1103, 1203
1,326,000
0706
0705, 0806, 0905, 1005, 1104, 1204
1,456,000
0707
0706, 0807, 0906, 1006, 1105, 1205
1,586,000

 And the same deal for that western branch.  You can see some of the drainage patterns get a little thrown off by the bends in the river:

0103
0000, 0001, 0002, 0003, 0100, 0101, 0102, 0103, 0201, 0202, 0203, 0302
312,000
0104
0004, 0103, 0104, 0204, 0303
416,000
0105
0005, 0104, 0105, 0205, 0304
520,000
0206
0006, 0105, 0106, 0206, 0305
624,000
0306
0206, 0207, 0306
676,000
0407
0007, 0107, 0208, 0306, 0307, 0406, 0407
832,000
0507
0407, 0506, 0507
884,000
0607
0507, 0607
910,000
0608
0408, 0508, 0607, 0608
988,000

And now the lower reaches of this river, after the two branches meet up:

0708
0608, 0707, 0708, 0808, 0907, 1007, 1106, 1206
2,730,000
0809
0708, 0809, 0908, 1008, 1107, 1207
2,860,000
0810
0609, 0709, 0809, 0810, 0909, 1009, 1108, 1208
3,042,000
0811
0409, 0509, 0610, 0710, 0810, 0811, 0910, 1010, 1109, 1209
3,276,000
0911
0811, 0911, 1011, 1110, 1210
3,380,000
0912
0611, 0711, 0812, 0911, 0912, 1012, 1111, 1211
3,562,000

If you looked closely, you probably noticed that I didn't get all the hexes in there.  I decided it was all too regular and patterned (even though I was going for a simple illustration), and decided to add another small river in the west.  Here's the new map, and the chart for the new river:





 

0109
0008, 0009, 0108, 0109, 0209, 0308
156,000
0110
0010, 0109, 0110, 0210, 0309
260,000
0111
0011, 0110, 0111, 0211, 0310, 0410
390,000
0212
0111, 0311, 0411, 0510
468,000


All right...all done here.  Now we know the total flow in these rivers for each hex, but like I said earlier, that doesn't tell us whether the river is narrow, shallow, and fast or wide, deep, and slow, or somewhere in between.  This gives us a start, though, and once I tease apart the effects of the slope of the riverbed, we'll be well on our way to getting a clear picture of these rivers.