Hacker News new | past | comments | ask | show | jobs | submit login
Drop a raindrop anywhere in the world and watch where it ends up (samlearner.com)
790 points by slowhand09 on Jan 7, 2022 | hide | past | favorite | 115 comments



Hey everyone, glad you all are enjoying the project!

To address some of the points I'm seeing, it's not perfect right now, which is why we've considered this a beta release. In particular, there are some issues around name coverage abroad and around engineered features (dams, canals, etc.). A lot of known issues are documented at the top of this page: https://ksonda.github.io/global-river-runner/. Ultimately, we made as much progress as we could, including a lot of manual name suggestions before launching, and decided to publish the tool in beta, with an understanding that we'd take suggestions and otherwise work to improve the tool/data over time.

To the points about the distance the paths are starting from a click, it does round coordinates to some extent. As much as I'd like to be more exact, we're stuck with a limited number of "flowlines" in our dataset and it will look for the closest one, which isn't always as close as we'd like. It's most useful for understanding watersheds in broad strokes, but often falls a little short when it comes to the novelty of literally tracing from your address.

For both specificity and some of the canal issues, the US-only version of this tool is better than this one (https://river-runner.samlearner.com/) with the obvious limitation that the paths are only within the US.

If you have any issues/feedback/suggestions regarding the UI and have a minute, would really appreciate if you're able to submit them as issues in the project repo on Github: https://github.com/sdl60660/river-runner If you're experiencing routing/naming issues, you can submit issues in this repo: https://github.com/ksonda/global-river-runner

Again, thanks for giving the project a look! You can check out some of my other work here: https://www.samlearner.com/ or on my Github (https://github.com/sdl60660).

I'd also like to shout out other other people who worked to make this happen: Dave Blodgett (https://github.com/dblodgett-usgs), Kyle Onda (https://github.com/ksonda), and Ben Webb (https://github.com/webb-ben).


I don't recall what book I was reading that suggested than a civilization based on ecological awareness should be built around watersheds.

Maybe half the borders in the world are ridge lines (a natural watershed boundary), while the rest are bodies of water. That means that the consequences of what goes into that water are split between me and perhaps 20 other states/nations. That sort of cross-border negotiation has a lot more friction involved with it.

The watershed society would have jurisdictions nested around streams, tributaries, and rivers. I think if you sited your seats of power where your watershed meets the next higher jurisdiction, we probably would have a lot fewer industries running effluent pipes directly into our rivers, because the stuff the mayor is letting into their stream is running past the governor's house on its way to the president's.


For the curious, here's a map of major watersheds in North America. https://www.usgs.gov/media/images/watershed-map-north-americ...



While I’d like to think that, anecdotal there are places like Baton Rouge. Where the state capital building, mayor’s house, and governor’s mansion and smack dab in from of an refinery plant.


Downwind at least :)


Upwind I would hope.


The EU Water Framework directive is organised around watersheds. Unfortunately it gets mired in lovpcal politics and seems to have a hard time making the impact that was intended. https://water.europa.eu/freshwater/europe-freshwater/water-f...


It helps with awareness, but it's the structure of the interests that put them in power that create the pollution. Unfortunately the polluters help them get in power in the first place.


Conquerors and national movements of the past should have had more ecological awareness.


That sounds like a fairly basic tenet of bioregional thinking.


Is there a way to turn off the auto play of the fly through after you click, without having to click pause each time? I'm more interest in just clicking around and seeing how the route changes.


Hey! So the solution I've got in place was actually kind of a compromise solution originally. I had it jump right in at first and people asked to disable autoplay, so I tried completely shutting it off and a lot of people missed that you could run the path altogether. Settled on this 5 second timer, but I think some kind of option to disable it is a good idea. I'll work on adding that in. If you'd like, you can submit it that or other suggestions as an issue here: https://github.com/sdl60660/river-runner


What is the general guidance on hinting to users that they should use a feature? It's always a shame when you design something really cool, and users miss it.


I think you are kind of right on this, for me the “really cool thing” is seeing the routs not the fly through. I wouldn’t be surprised if that was the same for most people. I think it’s one of those cases (which I have done myself, multiple times) when you build something and you think the best thing is this clever thing you built, and you love it, but actually the basic functionality is the “cool bit” most people want.

If it were me I would not have an auto play at all but a really big fat arrow pointing at the play button saying “this fly though is really cool”. Might not seem “professional”, but it works from experience.


Ha, I don't want to tell you you're wrong, but having heard from a lot of people on this, I'm not sure this is right. The vast majority of people I hear from seem as or more interested in the flyover than the routing itself. And that's why I have to strike a balance here.


I agree that I mostly want to see which rivers the drop flows to but really enjoyed the flight down the Savannah river and seeing how winding it is. Spent a week canoeing it a long time ago.


Ha ha, yep. Us creative types do like to have our opinions about what other people build.

Love it BTW!


I like how Materialize CSS implements feature discovery: https://materializecss.com/feature-discovery.html


Generally, I've found that if it's active at all (requires a click, reading something, opting-in etc) the vast majority of people will miss it.


Two ideas: (a) if you click during the timer, it resets the timer and re-plots wherever you clicked. (b) escape key cancels the timer.

(b) should take a few minutes to implement, and would be a big quality of life boost.


Just implemented suggestion (b), sorry for the delay on that. I'm not sure about (a) yet, but will definitely at least add an option to disable autoplay and will consider that.


Fwiw on chrome on Android there does not appear to be a timer or delay - fly-by is Instantaneous... Not a biggie just fyi :)


Holy crap the autoplay thing is annoying. Please disable it. Or at least make esc cancel it.


Same, found that I had to click the "X" next to the pause before the autoplay kicks in (you have like 5s). Then you can click another right away.


There's no such X on mobile :(


Wow, yeah the experience is much worse on mobile. You have to wait for it to zoom in, press X, wait for it to zoom out, press X again.


Designing for mobile is hard! I'm sorry! Really limited space to work in controls without covering for too much of the map


We used to do this kind of analysis when I worked in Civil Engineering. For large landfill designs the drainage before should be the same as after. We used a tool called TR55 to model the flow depending on the type of surface, to design diversion swales (channels) to move the rain runoff.

Still available for DOS...

https://www.nrcs.usda.gov/wps/portal/nrcs/detailfull/nationa...


I guess nowadays with Dosbox which even runs well on smartphones you could argue that DOS is quite portable.


> Still available for DOS...

O_O


The author has other projects: https://www.samlearner.com/

One is Pittsburgh Steps, where I read "There are more than 800 sets of public outdoor stairways in Pittsburgh, more than any other city in the United States."

https://pittsburgh-steps.samlearner.com/

I was surprised it had more than San Francisco. This says San Francisco has 700. It's by "sets of steps". I wonder if SF has more average steps per set of steps resulting in more total steps. Even if not, I think it must have more easily accessible by public transportation, as there are many in other bay area cities including Berkeley. https://socalstairclimbers.com/tag/berkeley-stair-walking/


Anecdotally, Pittsburgh felt hillier in general than San Francisco, although San Francisco does have some greater changes in elevation


San Francisco could learn a bit from Pittsburgh and put in some public funicular railways.


Interesting essay on public stairs that showed up a month ago here on HN: https://tinyletter.com/HenryGrabar/letters/highway-expansion...


This has been posted a few times before (looks like 3 times), the May/2021 post had quite a bit of discussion 877pts, 127comments[0].

The apparent author (@samlearner) also joined HN to chip in[1] some comments/react to feedback.

[0]: https://news.ycombinator.com/item?id=27297689 [1]: https://news.ycombinator.com/user?id=samlearner


I remember the last time this was posted, it was only for the contiguous 48 states of the US. Excited to try it for Alaska and worldwide, now we can do the seven summits!


This is a very interesting project and I had a lot of fun playing with it.

A note though: all place names in Arabic are wrongly displayed.

Take Morocco for example. The Arabic name is المغرب.

It is wrongly displayed as something like ال م غ رب (letters are not attached together; I added zero-width space to force the letter to not be attached). And probably worse than that, the letters are displayed from left to right instead of right to left. You end up with something like ب رغ م ل ا.

This makes the native place names almost unreadable.

There probably is a similar directionality issue for other right-to-left languages (e.g. Hebrew), but I cannot read Hebrew enough to quickly check!

This post that deals with displaying Arabic appeared on HN some times ago and may be of help! [1]

[1] https://news.ycombinator.com/item?id=29544990


Hebrew also seems to have a problem. It's displayed LTR instead of RTL.


One of my side project ideas is to implement something like this for money. That way individuals and groups can be more transparent about how they spend money.


I have a hypothesis about health care, which is that the public health care systems are more efficient, simply because it's possible to find out where the money goes if it's all coming out of one checkbook. Our system is designed to hide the ultimate beneficiaries.


Also imagine the negotiating power the NHS has to buy drugs and treatments and machinery vs. a single hospital.


Indeed, and the "single hospital" is actually multiple business entities that are all billing one another for service and trying to maximize the return on their own capital investment.


Very nice tool! However, I think it is not always correct. For example, lake Trasimeno, in Italy, is endorheic (or maybe cryptorheic), but seems to discharge into river Arno from this website: https://river-runner-global.samlearner.com/?lng=12.098864773....

I am pretty sure that path is not possible: it seems that the water would flow out of Trasimeno through the Anguillara torrent, but according to the Italian Wikipedia the torrent flows into the Trasimeno (https://it.wikipedia.org/wiki/Anguillara_(torrente)). According to the English Wikipedia it might be that Trasimeno has an outflowing canal, but that should flow into river Tevere (https://en.wikipedia.org/wiki/Lake_Trasimeno), so their data is wrong anyway.


I always keep in mind when I have my first cup of coffee in the morning that it might have a bit of the last breath of Elvis in it, or diarrhea from a T-Rexx.


Sounds like Charlie Brown talking to Pigpen in A Charlie Brown Christmas.

"Don't think of it as dust. Think of it as maybe the soil of some great past civilization. Maybe the soil of ancient Babylon. It staggers the imagination. You may be carrying soil that was trod upon by Solomon, or even Nebuchadnezzar."


I wonder if by diffusion alone its been enough time that touching Elvis breath atoms is a certainty within a year?


You probably breathe atoms from Elvis in every single breath you take.

https://futurism.com/estimating-how-many-molecules-you-breat...


Nit: I believe Elvis was buried, and not that long ago, so the likelihood that enough of him has decayed into atmosphere for you to be breathing him at even 1 molecule per breath is very low.

If you start with the same premise as your linked article, and say how much breath you share with Elvis's last breath, then you can probably assume an atmospheric distribution close enough to the Cesar one in the article.


The percentages weigh in favor of dinosaur poopoo coffee.


It's fun to click around for a bit, but then you realize that there isn't that much variation between pixels, and you'd like to see the whole watershed. I think there was such a map posted on HN some years ago, but I was not successful in finding it. The USGS has watersheds for North America [1], but it's not very clear where some of the watersheds ultimately drain to, and it's not very granular. There's another one at [2], which colors each watershed in the US differently, which is nice, although it's not clear where the data comes from.

[1] https://www.usgs.gov/media/images/watershed-map-north-americ...

[2] https://cascadiaunderground.org/watershed-map-united-states-...


Head up to Canada, and find the Columbia Icefield. It's about half way between Jasper National Park and Yoho National Park.

Depending on where you click on the ice field, you can go out to the Arctic Ocean, Hudson Bay (North Atlantic Ocean), and the Pacific Ocean (via the Columbia River).

It is one of a very hydrological apexes where water can go three different ways rather than two on a regular divide.

https://en.wikipedia.org/wiki/Triple_divide


This is great! But I did notice that when clicking in Chicago, it flows from the Chicago River into Lake Michigan, which is inaccurate. But to be fair, we did reverse the flow of the river around 100 years ago, which makes it one hell of an edge case. The subcontinental divide technically goes right up to the lock between Lake Michigan and the river.



Immediately visited Snow Dome on the Alberta/British Columbia border and was pleased to find that depending on where you click, you indeed get three very different answers:

- https://river-runner-global.samlearner.com/?lng=-117.2588549...

- https://river-runner-global.samlearner.com/?lng=-117.2130275...

- https://river-runner-global.samlearner.com/?lng=-117.4424101...


I grew up skiing Sunshine Village along the Alberta/British Columbia border. There's a lift called the "Great Divide" where the rider apparently starts in Alberta, crosses into BC, and then returns back to Alberta before reaching the top.

As you ride up, you're greeted by a sign that reads "Welcome to beautiful British Columbia", and then "Welcome back to sunny Alberta". My Dad used to always joke about the snow melt either traveling to the Hudson Bay, or the Pacific Ocean depending on where you are along the lift line.

Had to test it out for myself. Unfortunately the lift doesn't quite carve across the watershed boundary as I hoped, but it's very close, and it was fun to wonder about as a kid.


It seems to be missing some smaller rivers in the UK, where I live we have both the River Welland and River Gwash (technically a tributary to the River Welland), it completely misses the Gwash and always routs with the Welland (sometimes miles away) even if you click on it.

It's quite interesting as the River Gwash both feeds and runs out of the Rutland Water which is the largest reservoir in England. Even if you click on Rutland Water the rout jumps about 10 mile to the south to the River Welland.

https://en.wikipedia.org/wiki/Rutland_Water

https://en.wikipedia.org/wiki/River_Gwash


This tool is not at all scientific or accurate. One problem is that this tool assumes most of the water flows through rivers and out to oceans, when in many cases water flows underground in aquifers, emerging elsewhere. In the US south east these aquifers travel a long distance feeding many springs, which then lead to one of two rivers: the Suwannee River and the Saint Johns river.

https://www.mysuwanneeriver.com/267/Springs

https://www.sjrwmd.com/waterways/springs/


Cool!

I tried to drop near the North American continental divide to sort of get a random path to the east or west, expecting pacific or to the Mississippi river to the Gulf of Mexico, and it wound up ending the the Great Salt Lake of Utah.

TIL... thanks!


In some places in California's Central Valley, the rivers are usually dry, for much of the year; and even when there is water in them, the dry up at some point well before the maps says it does. Just sayin'


Hmm, did it where I live, on the side of a hill which goes to the brook at the bottom of the hill into a named river which starts about a mile away, that river flows into the Trent and out into the North Sea.

The site instead thinks water flows a completely different direction eventually ending up in the River Severn

That said it seems to start the trace from about 2 miles north from where I clicked, and that looks right based on that starting point. Didn't realise how close I was to the East-West watershed of the UK!


It doesn't seem to work near drainage divides. It looks like it uses a point in the Municipality (the center?) and then looks from there for the nearest river.


This seems to fail in many locations in Sahara. It gets going, then jumps to the nearest sea.

Sahara has endorheic basins (aka closed or terminal basins) without outflow to sea.


It works in the endorheic basins in eastern Oregon pretty well. Although of course many of the "waterways" there are dry. It gets the paths correct, though.


funny, that's the first thing I wanted to look at too. I tested it on the Salton Sea and Mono Lake and it was accurate.

I didn't realize that Lake Tahoe drained to Pyramid Lake - pretty fun tool.


Yep. Just tried near Frenchglen and it did not go to the sea.


Two Ocean Creek/Pass, Wyoming is another oddity it doesn't get right.


It stops too soon. Once it's in a gulf or ocean, where do those currents take it?


I feel like this line of questioning has the potential to get really philosophical really fast.


From the liquid sea, it evaporates back to vapour, floats up into lower pressure, and forms clouds!

And the clouds are in fact made of solid crystals of ice, which then melt to make rain.

It's all a cycle, with many sizes of feedback loop. By loving our neighbour the ocean and picking up litter on the street, we can change it. The butterfly effect means that even a little helps.

https://ourworldindata.org/plastic-pollution

As a (possibly misheard) lyric, about clouds in the sea:

Rhythm you have it or you don't

That's a fallacy, I'm in them

Every spiralling tree, every child of peace

Every cloud in the sea you see with your eyes

Gorillaz - Clint Eastwood

https://youtu.be/1V_xRb0x9aw?list=PLfNF8TQij08oma_987vYrzswd...


This is very cool. Understand that you are constrained by the datasets you have available, but still very cool.

Just wondering if it would be possible to reverse the track and plot out where a waterway is fed from? I understand this would be a lot more complex and computationally expensive, but when out on a waterway I always find it interesting to think about where the water I'm floating on came from.

Again thanks for the work.


Such a fun project, I shared it widely with climbing and rafting friends last time it was posted. Stoked to see you’ve added the rest of the globe.

It would be funny to see an easter egg for when I tried dropping into Mauna Loa crater, for it to go right to the sky and later fall as rain… but then you’d have to model atmospheric currents, maybe beyond scope ;)


Epic! Here to point out the obvious. Raindrops evaporate and also typically end up in water tables specially in arid regions.


This is interesting, because the Chile/Argentina border is defined as the biggest peaks on the Andes that divide watersheds as per the 1881 treaty [1].

There is still an undefined portion of the border [2], between Mt Fitz Roy and Mt Murallon, because the land between is covered by the Southern Ice Field.

For one, Mapbox shows some kind of (unofficial) border. And lastly, this webapp might have solved a 200+ year issue between neighboring countries :)

[1] https://en.m.wikipedia.org/wiki/Boundary_Treaty_of_1881_betw...

[2] https://en.m.wikipedia.org/wiki/Argentina–Chile_relations#Bo...


Maps are somewhat inaccurate. I tried my home town, and it routes through "unnamed river - 31km", before finding a river with the name (for the next 300km) - I know for the fact that this is one and the same river :)

I wonder where apps like that source their map data.


Very clever.

I live in Somerset (UK) which is notoriously odd topographically-wise. For example Glastonbury Tor is or was also known as the Isle of Avalon (it really was an island once) and many old English village names on the Levels basically mean island or marsh or similar. Large parts of Somerset were drained or "reclaimed" from the sea, often involving a bunch of cloggies ... sorry Dutch engineers! King's Sedgmoor Drain is still quite a decent engineering effort and the king in question was Charles I and that was one of the more modern schemes.

You've now really piqued my interest on this. I doubt a raindrop on Yeovil will end up in the Bristol channel but I'm not completely sure.


The names of all countries that are written in any right-to-left languages (e.g. Arabic or Hebrew scripts) are written backwards. They should be right to left, but the letters are shown left to right.


It looks like the whole length of the Chattahoochee River is labeled Apalachicola River, which only starts at Lake Seminole. Click the squiggly part of the Georgia-Alabama border to check.


This is pretty cool. One thing is that it seems to get confused by nearby (smallish?) bodies of water. Near my house there's two creeks, they meet sort of forming a D shape. The traced path jumps across a small land mass once or twice between the creeks. Ultimately the drop would have ended up in the Raritan Bay regardless (although tool says Atlantic Ocean, I guess that's just me being pedantic) as the two creeks merge right before the mouth. Still, pretty cool.


> As much as I'd like to be more exact, we're stuck with a limited number of "flowlines" in our dataset and it will look for the closest one, which isn't always as close as we'd like.

If you've got the data for it, you could probably make an estimation to the nearest flow line based on topography, and maybe have a dashed line from the point to the flow line. Probably not totally accurate either, but might be more fun.

Cool project. Thanks for sharing.


Everywhere I click shows the error >Unable to find a flowpath for that location. Please try somewhere else.

:/

Using Brave Browser Version 1.34.80 Chromium: 97.0.4692.71 (Official Build) (x86_64)


Hi im from germany and we had some very localized flooding in recent times. My question- seeing the data is already there- can i get a version, were i can click on a waterway and get all area that flows to it marked down?

It would be a real neat tool to project floodings, should a super-cell discharged the same amount of water we had in the last time. Im actually pretty sure some emergency services would love to have this for "worst case" planning.


I looked up my current residence and my childhood house.

My current residence is more or less correct given the terrain and watershed (technically it’s broken since my neighborhood is 99% impervious, meaning runoff takes a circuitous route through the sewers instead).

But for my childhood home it’s way off. I’ve hiked all the various gulleys, runs and rivers near there. The route this app gives is just not possible with the assumption that water only flows downhill.


This was fun to play with but I was surprised by the unevenness of the data. I could pick random points in the US or Canadian Rockies, and this would have a path that starts out with some minor creek. But if I picked a point in some parts of the world (e.g. the Himalayas) there would be a chain of multiple "Unidentified River" entries, some of which seemed like they would be quite significant.


It appears that the US/Canada border is closed to water o or virtual flyovers. Selecting a location in NW Montana flys you right over multiple mountain ranges. It took me a minute to realize that the incorrect, straight line portion of the path starts where the river flows back into Canada. The strict no fly zone means it has to fly along the border until the river returns to the US.


This is really cool.

Oddly it seems to get the wrong name for a river in my hometown. If I drop a pin in Columbus, OH it should flow into a creek or whatever, then the Scioto River and down to the Ohio. But the listing shows the Scioto as "Paint Creek." This misnaming of the Scioto River holds true as I head South and try in Circleville or Chillocothe. Still really neat!


Not sure how this works, but it seems to jump the Great Divide fairly frequently. E.g. a click on the Idaho side of the Bitterroots will show "Salmon, Idaho" as the start point, but jump to a stream in Montana that ends up in the Gulf of Mexico. Cool visualization, but does not seem to respect actual drainage basins at the start point.


Seems about right, dropped a drop near me and it followed the path I expected.

Quite a trip to the great australian bight from northern New south wales.

https://river-runner-global.samlearner.com/?lng=151.75636629...


My late friend's house in Oak Park, Illinois sat on the divide, rain on the east side ran to Lake Michigan, and then to the Saint Lawrence. Rain the west side, to the Calumet Sanitary Channel, the eventually down the Mississippi.

I tried to find his house, but clicks run the animation before I can find it.


Pretty neat! Not the most accurate near Chicago. When the Des Plains and Chicago river run perpendicular the "rain drop" would skip over the Des Plains and into the Chicago river. Also it would flow toward Lake Michigan, which isn't typically the case.


Yeah the tool struggles a lot with engineered features (dams, canals, etc.) and Chicago is really our quintessential example of this (issue documented a little here: https://ksonda.github.io/global-river-runner/). The US-only version of this tool (https://river-runner.samlearner.com/) is a lot better with the Chicago routes and is generally a little better with routes in the US.


That’s disappointing. I clicked in my backyard, but it started from a point about 20 miles south of my house. I tried a number of different times with the same results. I even have a creek at the bottom of the hill in my backyard that I assumed it would start with.


I would assume there's a floor on the size of waterway it starts with. I have the same situation (well, less so) in that my backyard is 3 blocks from a named creek on the map, but it started me several miles away on the larger creek that my local one flows into.

Edit: also seems to generalize your location - pretty sure it's just figuring out the town I clicked in, then going from there.


How well does the model work along edge cases such as the Parting of the Waters [1]?

[1]: https://en.wikipedia.org/wiki/Parting_of_the_Waters


I dropped one in Cambridge and it took a pretty weird route through some fields instead of a much more direct route through drainage channels. I think it gets a little confused in the Fens because everything is basically at sea level.


I made a similar thing a year or two ago that some might find interesting. Much lower resolution, but shows up- and down-stream from any point.

https://water.rdrn.me/


I live in Northern WV and I'm fully aware that our rivers flow North, but for some reason, when I clicked on my area and saw the route run up to Pittsburgh before traveling South to the Gulf, I was taken aback.


This is incredibly cool! I clicked my home town of San Antonio and watched it flow all the way to meet the ocean at Fins in Port Aransas where I ate back in March! I never would have guessed that.


Is there any way to force mapbox to precache tiles offscreen? I generally see a handful of tiles at the bottom ("closest") to me, and the rest of the screen is black.


One of the coolest projects I've seen built with Svelte!


They should add place markers for hydrological apexes like Snow Dome in Canada. Fun to see single pixel shifts result in water traveling to a whole other ocean :)


For a list of these to try, see https://en.m.wikipedia.org/wiki/Triple_divide


Is it possible to get the reverse? Click a location and see where all the possible rain drops came from?


Working on adding some ability to view upstream paths, but there are a lot of complications with that and it would probably be limited to the US for now. That's the next major item on the to-do list, though.


That would be incredibly useful!!!


[clicks the pacific ocean]


Not a substantive comment here, just saying thanks for this extremely cool thing.


I second the notion.


This is more fun if you think of it as if i pee on the ground where does it go.


Gradient descent in action.


I'm dropping it in places in death valley that i'm sure will never make it to the amargosa river unless the entire valley floods


Uh, how about also pick a wet spot and see where its water came FROM??


I doubt it does 8km in the Sahara like I tried haha


This has absolutely captivated my 7 year old son!


It couldn't find the stream on my property.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: