Open MFraters opened 5 years ago
I forgot to mention issue #94 here, which also wants to create a passive margin.
I think the right way to go is to begin with variable min and max depths. Currently only fixed values are allowed. Instead of that single value, you would instead define a array of objects: [{100e3}]
to produce the same results. This would internally expand to [{100e3,[[0,0]]}]
. The first number is the depth and the second double array is a list of points with that depth. A more complete example would be: [{100e3,[[10,20],[20,40],[80,60]]},{20e3,[[20,60],[10,30]]}]
The idea of this would be that the depth would be interpolated over multiple points. If there is only one point, that will be use everywhere. If there are multiple, the value (the first number) will be interpolated based on the distance to all the defined points. I currently think this is going to be the cleanest way to implement this. This will be a significant breaking change for the input file and will most likely break all input files. This implementation will however be minimal overhead if you are not interested in the feature, but allow for a huge amount of flexibility in thickness (top and bottom) of plates and for examples layers in plates.
Making a passive margin or a thickened crust would be very easy with this approach. Because there is no connectivity, it may become expensive if a large amount of points are involved. If this would become an issue, a mesh could be generated during initialization, which would make looking up the values a lot faster.
Given that variable thickness has been implemented in #366, what remains to be done is the following:
Having a possibility in the GWB to define and output topography would be useful for nummerical models and for other applications (see for example issue #117).
There are in my mind several options this feature could be integrated in the world builder, but I am not sure yet which is the best.
Currently I think in the long term it the third options is the one to go for, but it will require some more thought and development to make it into something workable.