davidson16807 / tectonics.js

3d plate tectonics in your web browser
http://davidson16807.github.io/tectonics.js/
Creative Commons Attribution 4.0 International
204 stars 28 forks source link

How would one add volcanoes and earthquakes/tsunamis with this model? #48

Open NoMoreNicksLeft opened 4 years ago

NoMoreNicksLeft commented 4 years ago

You do have fault lines, but is there a way to determine which plate boundaries have the most energy? I'd like to be able to see where earthquakes past some Richter-scale threshold might occur.

Similarly, I know volcanoes also tend to stay near plate boundaries, but is that more of a deep Earth issue (plumes of superhot magma) or more of a crust thing?

How difficult would it be to add these features?

davidson16807 commented 4 years ago

We could visualize the relative velocities at plate boundaries to give some sort of indication of earthquakes. I might expect plates that are coming together to have more earthquakes than those coming apart, for instance.

Is there a particular application you expect to use the feature for? It might give me a better idea how to implement the feature.

NoMoreNicksLeft commented 4 years ago

I'm considering using it to generate planets for a game. Depending on circumstances, earthquakes/volcanoes might occur as catastrophes for the player... it would be nice to understand where they happen on these virtual worlds and how powerful they might be. At that point it's just the job of a random number generator to decide what happens (my understanding is that these things aren't even slightly predictable with current science). Of course, there's also the possibility of supervolcanoes threatening the whole planet, and not just region on one...

davidson16807 commented 4 years ago

That sounds like a really cool use case. So it sounds like we're good with just a representative visual. I'll try to fit this in with my current work load.

As for supervolcanos: your guess is as good as mine. If you could dig up some sources explaining how supervolcanos form then maybe we'd be on to something, but otherwise a random position generator is the best we could do.

redferret commented 4 years ago

Super volcanoes form from plumes of hot rock, probably randomly added around the planet for the simulation. Hawaii, Yellowstone... they are all giant plumes of molten rock. Also depending on the composition of the rock, where it pops up in the crust, will determine what kind of impact it would have. Hawaii is very mafic and therefore not explosive, but Yellowstone has more silica making it way more explosive. Just some ideas for this thread. Smaller volcanoes are too small to resolve on this scale

davidson16807 commented 4 years ago

We might generate random hotspots on initialization, keep their positions constant throughout the simulation, then periodically fire them off, probably duplicating the timer logic from SupercontinentCycle to do so. It's probably best to keep it simple since it's a secondary effect and we don't know much about it.

We do have to pay attention to the type of rock created, as you mention with felsic vs. mafic. We might switch between the two based on whether its underneath continent vs ocean during an eruption. We can spew unlimited amounts of mafic since that's not a conserved quantity, it just gets destroyed in a few million years anyway. Any order of magnitude estimates for the mass released?

Felsic on the other hand is a conserved quantity. We might add felsic rock whenever it's needed to prevent mass loss errors, that way we prevent issues like #58, provided it doesn't exceed the mass you'd expect from an eruption.

I just looked up facts about yellowstone and it sounds like it alternates between releasing felsic vs mafic. Interesting!