GeodynamicWorldBuilder / WorldBuilder

World Builder: An initial conditions generator for geodynamic modeling
GNU Lesser General Public License v2.1
20 stars 28 forks source link

Plate tectonics software recommendation #117

Open JoeHowarth opened 5 years ago

JoeHowarth commented 5 years ago

Hi!

I'm interested in simulating plate tectonics for world / map generation. This tool appears to be an adapter for use in other models, do you have any recommendations for models I should look at?

Thanks :)

MFraters commented 5 years ago

Hey Joe,

Thanks for your interest. The answer to your question really depends on what the propose is of the simulation. Looking at your profile, I suspect that you want to use it for population-simulation project. Is that correct?

The reason I ask this is that doing realistic 3D modelling of plate tectonics with a high resolution can be computationally very expensive in the sense that they have to be run for several days to weeks on large computation clusters/super computers. Freely available model codes for this purpose are for example ASPECT (https://aspect.geodynamics.org/ or https://github.com/geodynamics/aspect/) and Citcom (https://geodynamics.org/cig/software/citcoms/ or https://geodynamics.org/cig/software/citcomcu/). Geodynamics.org has a nice list of freely available model software for al kind of scientific applications (https://geodynamics.org/cig/software/). As stated in the paper under review (https://www.solid-earth-discuss.net/se-2019-24/), the GWB is currently only coupled to the geodynamics modelling software ASPECT, SEPRAN and ELEFANT, but if you know how the modelling code works, it should not be hard to add the GWB to it.

If you are just interested in making something which looks realistic enough, there are I think better approaches, depending on what information you exactly want to use from the model.

JoeHowarth commented 5 years ago

Thanks for the thoughtful response!

Yes I was thinking for my population-simulation project. It currently uses a regional scale map generation and I'd like to extend that to world scale, but randomly placing mountains/hills and letting erosion deform the terrain into something reasonable obviously doesn't scale to that size. I've been contemplating writing a basic tectonics model to get macro heightmaps then up-sampling using some of my existing methods. Obviously that's very complicated so I'd rather use an off-the-shelf solution.

I think you're right, the above models seem more complex than what I'm really looking for though.

MFraters commented 5 years ago

Hey Joe,

There are several options for you which I can see. The simplest option (I would say mostly for regional scale), if you want to include erosion, is to generate a heightmap with some noise or a fractal generator, and then you can use a library such as fastscape (https://github.com/fastscape-lem/fastscapelib) to make erosion. What I have heard of it is that it should be fast enough for your use case, but I haven't used it myself, so you will have to test it. This will get you something which probably looks alright to non-geologists.

If you would want to make something which looks more realistic on a global scale, and you want to use the world builder to create topography and bathymetry, a few things need to be done. Currently the world builder doesn't output topography and bathymetry. There are plans to add them, because it can help to get model setups run faster and be more stable in geodynamic model codes like ASPECT. Once they are added as output options, some models of how the topography behaves in each tectonic feature needs to be added. Then you could write a script which creates a world builder file, randomly distributing subduction zones, mountain ranges and spreading ridges and create a topography map from that through the world builder and feed it to fastscape.

I hope this helps :)

JoeHowarth commented 5 years ago

Wow that's really helpful! There's not a huge speed constraint as I would run this once during setup(ie. anything <30 min is fine). Fastscape looks quite promising compared to my own crude erosion models, but I'll have to investigate further.

Do you have any rough idea when those outputs might be added? Also, would the tectonic feature --> topography be handled within world builder or as either A) another project your group plans on making or B) Something I would make?

MFraters commented 5 years ago

I probably won't have time to work on it before the beginning of may. I still have to think about how they should be implemented exactly, but the rough idea is that they would be handled in a the same way as the temperature and compositional plugins. So, for example, for an oceanic plate you would be able to choose different models of how the bathymetry is modeled, based on the distance from the ridge. So once the framework is in place, topography models need to be written for the different tectonic features. I will make sure that there are at least a few model ready when it is merged into the main branch.

What you will need to think about and write yourself is a way to automatically generate world builder files which creates a world which makes geological sense. The world builder can only provide you the building blocks. If you have any more questions, or need some pointers to literature on the subject, feel free to ask.

JoeHowarth commented 5 years ago

I'll probably circle back around in a couple months then.

Thanks for your help 👍