Thursday, November 23, 2017

The Rosgen Classification System

In 1986, TSR published the Dungeoneer's and Wilderness Survival Guides.  Both were treasure troves of information on their respective subjects, and even if they were too fiddly to use efficiently at the table, just systematizing the information gave Dungeon Masters something somewhat realistic to hang an improvisational decision on.  And while both touched on the subject of rivers and water flow, their guidelines weren't the most accurately realistic.  I don't blame Douglas Niles or Kim Mohan for their oversight here.  This was the pre-internet days after all, and to get more accurate info than what they provided would have required a fair amount of research at a university library.  Also, and more immediately to the point of this post, Dr. Dave Rosgen didn't publish his system of river classifications until 1994.

The Rosgen system breaks rivers down into one of nine types, based on a number of physical characteristics.  Importantly, for our purposes, one of those characteristics is slope.  Also importantly, for our ultimate purpose of working out the flow velocity of the river, one of the characteristics is width-to-depth ratio.  In this post, I'm going to show how to use the slope of the river to determine the Rosgen type, and then use that figure out a width-to-depth ratio (from here on out referred to as WDR) so we can plug it all into Manning's formula.  Also, since it has immediate bearing here, we'll look at another river characteristic, sinuosity, and how it affects slope.



Okay, a quick overview of the types of rivers...first up is type Aa+.  Any river with slope of more than 0.10 will be Aa+.  Note that you won't randomly determine any rivers this steep using the system I supplied earlier; they just don't run that steep for the distances most hex maps cover.  Rivers and streams this steep are going to be a lot smaller than a 20 mile hex, but almost any mountain or hill (of which there are usually quite a few in a 20 mile hex) will have one or more draining off of it, but the stream bed will flatten out as it reaches the bottom and become another stream type.  Aa+ rivers tend to erode their beds until solid rock is reached, carrying away the sediment to be deposited downstream.  They tend to include waterfalls or cascades along their length (the Dungeoneer's Survival Guide gives a guideline of 3d6 drops of d8 feet each per mile for streams this steep, but steeper drops can be placed as desired).

Any river with a slope of 0.04 to 0.099 is going to be type A. Type A is a lot like type Aa+, just not as steep.  There's probably a lot of technical details to separate the two, but for our purposes, I'm going to say they might as well be the same, but slightly more sinuous, and more likely to show up in lengths long enough to appear on a large area hex map.  If you look at the map of Mystara, the Streel River runs across most of the continent, and even at a gentle slope, the headwaters in the far west of Vestland end up at pretty high elevations, meaning the rivers draining eastwards through Vestland have a long way down in just a few hexes travel; they're almost all going to be type A rivers.

Type B rivers have slopes of 0.02 to 0.039.  They tend to have a lot of rapids, and as such, can use the Dungeoneer's Survival Guide guideline of 0-5 drops of d4 feet per mile, although at the higher end they can use the cascades guidelines above, and the lower end of the slope range would be closer to the medium grade guideline of a 1/3 chance for a drop of d3 feet per mile.

Type G rivers fall into the same slope range as type B, but they are more entrenched and narrower (lower WDR), taking on a "gully" form.  They typically arise in areas with unstable banks, or as a result of ill-advised modifications to other river types (straightening out meanders, dredging an otherwise stable bottom, etc).

Type D rivers can occur at any slope less than 0.04, typically arising when a fast flowing, sediment laden river suddenly slows down, usually because of a flattening in the slope.  The river drops most of the sediment it was carrying, resulting in a wide "river" made up of multiple smaller channels running through shifting bars of gravel or sand. The listed WDR for type D rivers is for the whole system.  Glaciers often form type D rivers where the sediments dredged up and trapped by the glacier are dropped by the melting ice. 

Type C rivers occur at gentler slopes (less than 0.02), and are meandering rivers with broad floodplains.  A defining factor in type C rivers is the existence of point bars, sandy shallows on the inside curve of each meander, with the deeper main channel pushed toward the outside of the curve.

Type E rivers are found at the same slopes as type Cs, but tend to be much deeper in relation to their width (lower WDR).  Type E rivers have very stable, vegetated banks.

Type F rivers are also found at slopes less than 0.02.  They tend to occur in easily erodible soils, and as such differ from type C and E in that they are more entrenched into the surface of the earth, and have unstable banks.

Lastly we have type DA rivers, found at slopes less than 0.005.  Like type D rivers, they are wide affairs made up of multiple smaller channels, however these channels don't shift like those of type D rivers, the banks and bars being anchored by heavy vegetation.  It's probably a safe bet that any swampy areas on the map are composed of type DA rivers, even if no river icon is noted on the map.  Any river running through a swampy area can be assumed to be type DA, and river deltas tend to be type DA as well.

So, from these descriptions, some river hexes on any map are already sorted into a particular type, either from the slope or from what we know about the surrounding terrain.  If two or more river types can conceivably work in a given hex, the DM can decide which one to use via random die roll.

One last thing before ending this post, because it affects the final effective slope of the riverbed: each river type has a range of sinuosity scores associated with it.  What this refers to is the amount of wiggle there is in the river.  If a hex is 20 miles across, but the river zigs and zags within that hex before flowing out, a boat traveling along it might cover 40 miles or more of distance in that space.  If that the river drops 500 feet moving along that hex, the slope of the river should be (500 ft/40 miles) = 0.002 rather than (500 ft/20 miles) = 0.004.  To represent this, divide the preliminary slope value found earlier by the sinuosity score to find the effective river slope.

Here is a handy chart (based on the earlier elevation chart, and which I will probably expand on in later posts as I go into more detail about river types) showing the river types grouped by slope values, and with width-to-depth ratios and sinuosity scores listed below.

Die Roll Slope DA C E F D B G A Aa+
1 0.0001 x x x x x


placed as needed
2 0.0003 x x x x x



3 0.0007 x x x x x



4 0.0015 x x x x x



5 0.002 x x x x x



6 0.004 x x x x x



7 0.006
x x x x



8 0.01
x x x x



9 0.02



x x x

10 0.03



x x x

11 0.04




x
12 0.05






x
13 0.08






x












Sinuosity 1 Min 1.4* Min 1.5* Min 1.4* 1 Min1.2* Min 1.2* 1.0 – 1.2 1.0 – 1.1

WDR 2d20 (d10x2)+12 d12 (d10x2)+12 (d10x4)+40 (d10x2)+12 d12 d12 d12


* For these river types, roll 1-6 d6, divide by 10, and add 1, for a total of 1.1 to 4.6.  If this result falls under the minimum listed, use the minimum instead.

Thursday, November 9, 2017

River Bottom Friction: Manning's n

This will be a fairly quick one.  The condition of the river bottom affects the speed of the river.  Surprised?

Smooth river beds make for smooth, faster flows; rugged or weedy bottoms create turbulence and slow things down.  Here's a fairly lengthy list of sample values (gleaned from https://www.engineeringtoolbox.com/mannings-roughness-d_799.html), but to be honest, you could probably get away with just using 0.035 as a default for most rivers.  Follow that link if you want to work out flow rates for things like sewers...there's a good range of materials there.

Earth channel - clean 0.022
Earth channel - gravelly 0.025
Earth channel - weedy 0.03
Earth channel - stony, cobbles 0.035
Floodplains - pasture, farmland 0.035
Floodplains - light brush 0.05
Floodplains - heavy brush 0.075
Floodplains - trees 0.15
Natural streams - clean and straight 0.03
Natural streams - major rivers 0.035
Natural streams - sluggish with deep pools 0.04
Natural channels, very poor condition 0.06

The last two factors we need to figure out are width and depth, and that is going to be a fairly lengthy, math-heavy post.  But first, next time, I'll go over some different types of rivers and make at least a general link between width and depth, before taking that plunge (I couldn't resist).



Slope example

This slope system seems pretty straightforward to me, but since I've been doing this sample area, and will continue doing it as I get into the next major stage of this river-building project, I might as well work out the details on the slope.

For ease of reference, here is the map again:



Oh, look at me...I just now realized that when I started this river project, I set this map at 20 miles per hex, but when I worked out my rough slope system, I went with 24 mile hexes as standard.  Okay, no big deal.  I'll lop off about 20% of each increment.

I'll start from the lower end of the rivers and work my way up, going in the opposite order to how I worked out the total flow of water.  First, the small river to the west:

hex die roll type result elevation
0212 d4 1 0
0111 d4 4 160
0110 d4 3 240
0109 d4 2 240

I used hex 0212 as my baseline, even though it isn't really a coast.  Whenever I decide to extend this map to the coast, I'll work out the elevations to sea level and find 0212's true elevation, and then add that amount to the other hexes of the river.  The same goes for this other river, with 0912 as the baseline:

hex die roll type result elevation
0912 d4 4 160
0911 d4 3 240
0811 d4 1 240
0810 d4 4 400
0809 d4 3 480
0708 d4 2 480

That gets us up to the convergence point.  Now for the western branch:

hex die roll type result elevation
0608 d4 1 480
0607 d4 2 480
0507 d4 1 480
0407 d4 3 560
0306 d4 2 560
0206 d4 1 560
0105 d4 1 560
0104 d6 1 560
0103 d8 1 560

And the eastern branch:

hex die roll type result elevation
0707 d4 3 560
0706 d4 3 640
0705 d4 1 640
0704 d4 1 640
0604 d4 2 640
0603 d4 2 640
0602 d6 6 1040
0601 d8 4 1200

So now we just have to go back and work out the slope using the general formula (change in elevation)/(change in horizontal distance), keeping in mind that a 20 mile hex has (20*5280 = 105,600) horizontal feet.  For that matter, since we're using discrete increments, we don't even have to calculate the slope on each hex individually; every roll of 3 is an elevation increase of 100 feet, resulting in a slope of (80/105,600 = 0.0007).  We could just add this to the slope table I published last post.  Also, since we need a non-zero slope in order for the water to flow, I'm putting some fairly negligible numbers for the negligible elevation change results:

Die Roll Slope
1 0.0001
2 0.0003
3 0.0007
4 0.0015
5 0.002
6 0.004
7 0.006
8 0.01
9 0.02
10 0.03
11 0.04
12 0.05
13 0.08

Now, this results in our river sections looking like this:

hex die roll type result elevation slope
0212 d4 1 0 0.0001
0111 d4 4 160 0.0015
0110 d4 3 240 0.0007
0109 d4 2 240 0.0003





0912 d4 4 160 0.0015
0911 d4 3 240 0.0007
0811 d4 1 240 0.0001
0810 d4 4 400 0.0015
0809 d4 3 480 0.0007
0708 d4 2 480 0.0003





0608 d4 1 480 0.0001
0607 d4 2 480 0.0003
0507 d4 1 480 0.0001
0407 d4 3 560 0.0007
0306 d4 2 560 0.0003
0206 d4 1 560 0.0001
0105 d4 1 560 0.0001
0104 d6 1 560 0.0001
0103 d8 1 560 0.0001





0707 d4 3 560 0.0007
0706 d4 3 640 0.0007
0705 d4 1 640 0.0001
0704 d4 1 640 0.0001
0604 d4 2 640 0.0003
0603 d4 2 640 0.0003
0602 d6 6 1040 0.004
0601 d8 4 1200 0.0015

If you're using some other system for determining elevations of your hexes, you'll have to do the math to work out the slope values. Still, it's not that hard...change in elevation, divided by change in horizontal distance.  If you're getting numbers that don't look anything like what I have on this table, you might want to check your math, or else realize your world is craggy and rugged as all get out.