From e9bb14906ee64518878ddcbb88c2e267c2be4f39 Mon Sep 17 00:00:00 2001 From: MFraters Date: Sat, 9 Sep 2023 11:54:55 -0700 Subject: [PATCH 01/19] Add initial draft JOSS paper. --- doc/JOSS/1.0/paper.bib | 0 doc/JOSS/1.0/paper.md | 161 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 doc/JOSS/1.0/paper.bib create mode 100644 doc/JOSS/1.0/paper.md diff --git a/doc/JOSS/1.0/paper.bib b/doc/JOSS/1.0/paper.bib new file mode 100644 index 000000000..e69de29bb diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md new file mode 100644 index 000000000..05f8fb4db --- /dev/null +++ b/doc/JOSS/1.0/paper.md @@ -0,0 +1,161 @@ +--- +title: 'The Geodynamic World Builder: An initial conditions generator for the geosciences' +tags: + - C++ + - CPP + - C + - Fortran + - Python + - Geodynamics + - Earth science + - Tectonics + - Seismology +authors: + - name: Menno R. T. Fraters + orcid: 0000-0003-0035-7723 + equal-contrib: true + affiliation: "1" # (Multiple affiliations must be quoted) +affiliations: + - name: Universiy of Florida, USA + index: 1 +date: 9 September 2023 +bibliography: paper.bib +--- + +# Summary + +The geodynamic models can be divided in three broad classes. The first class are the simple synthetic models. This class which involve simplistic geometries for generic modeling and are easy to make and parameterize. These are good for simplified problems and benchmarks. The second class of models is the Data driven models. This class which consists of initial conditions (semi-)automatically derived from datasets like tomography. These are often used for instantaneous models. The third class of models are complex synthetic models. The case which blends complex 3D interpretation driven detailed geometrical features and thermal fields. This can be useful to parameterize instantaneous models or make setups for models starting in the past. + +The Geodynamic World Builder (GWB) has been designed to make the third case significantly easier, but can also be used to design simple synthetic models and several types of datasets are supported to be used to setup models in a way which aligns with the GWB design philosophies. + +Besides setting up initial conditions for geodynamic models, the GWB can also be used to make detailed 3D visualizations of geologic and geodynamic settings. + +# Statement of need + +The increase in available computational resources and new numerical methods and infrastructure, has started to enable the creation of numerical models which closer resemble or mimic actual location on the Earth in 3D with a much finer resolution. This also means that setting up these more detailed regional or global models, becomes exponentially more difficult, both in 2D, but especially in 3D. Furthermore, to properly investigate these models, often many smaller and bigger changes to the model need to be tested, which requires a way to change these models quickly and easily. Although successful attempts have been published, such model setups often have one or many of the following issues: + +1. Code is not readable (even hard for their developers) +2. Code/initial conditions is/are not modifiable (even hard for their developers) +3. Code is not extendable +4. Code is not portable or reproducible in other codes +5. Code is not shareable which makes everyone reinvent the wheel. + +This is the problem the GWB was designed to solve. Furthermore, since the GWB comes with its own programs to visualize the constructed model through programs like Paraview, and creating the models requires no programming knowledge, it can be easily used to visualize tectonic and geodynamic settings for publication, teaching or discussion purposes. + +# Methods + +The Geodynamic World Builder is designed to solve the problems stated in the pervious section through implementing a specific code an user design philosophy. +## GWB Code Philosophy +The code philosophy is build around the following points: + +1. A single text-based input file +2. Code, language and platform independent + 1. Supports **Linux**, **OSX** and **Windows** + 2. Has official interfaces for **C++**, **C**, **FORTRAN** and **Python** coupling +3. Up-to-date manual and code documentation +4. Safe to use in parallel codes +5. Readable and extensible (modular) codes +6. Strict version numbering to ensure reproducible results + +Following these points will help to create a clean, portable, extendable code with reproducible results. This is of course not everything needed to reach such results. For example, having integration and unit tests with high code coverage and automatic code indentation are important to keep the GWB in a healthy state. + +## GWB User Philosophy + +The user philosophy is build around the following points: +1. Tectonic features can be parameterized by lines and area +2. These features implicitly define a volume +3. to which a model can be assigned describing + 1. temperature + 2. composition (a label for a material) + 3. Crystal Preferred Orientation + 4. etc. +4. Parameterized by a human readable JSON style file + +The main idea behind these points is design the GWB so that users can easily create and modify complex parameterized initial conditions for their geodynamic or tectonic setting. + +## Example +(TODO: update with the new contours slab and maybe add a fault as well) +3d sphericl subduction from the tutorial? https://gwb.readthedocs.io/en/latest/user_manual/basic_starter_tutorial/17_spherical_models.html + +```json +{ + + "version": "1.0", + "coordinate system":{"model":"spherical", "depth method":"begin segment"}, + "cross section":[[0,0.5],[1,-0.5]], + "features": + [ + { + "model":"mantle layer", "name":"upper mantle", "max depth":660e3, + "coordinates":[[-10,0],[-10,10],[30,10],[30,0]], + "composition models":[{"model":"uniform", "compositions":[4]}] + }, + { + "model":"oceanic plate", "name":"Overriding Plate", "max depth":100e3, + "coordinates":[[0,0],[0,10],[150,10],[16,3.5],[15,0]], + "temperature models": + [ + {"model":"half space model", "max depth":100e3, "spreading velocity":0.04, + "ridge coordinates":[[[4,-0.001],[-1,20]]]} + ], + "composition models":[{"model":"uniform", "compositions":[0], "max depth":50e3}] + }, + { + "model":"continental plate", "name":"Passive margin", "max depth":[[200e3]], + "coordinates":[[-10,0],[-10,10],[0,10],[0,0]], + "temperature models": + [ + {"model":"linear", "max depth":[[100e3],[200e3,[[-2.5,0],[-7.5,10]]]]} + ], + "composition models": + [ + {"model":"uniform", "compositions":[3], + "max depth":[[100e3],[200e3,[[-2.5,0],[-7.5,10]]]]}, + {"model":"uniform", "compositions":[1], + "min depth":[[100e3],[200e3,[[-2.5,0],[-7.5,10]]]]} + ] + }, + { + "model":"oceanic plate", "name":"Subducting Oceanic plate", "max depth":100e3, + "coordinates":[[20,0],[20,10],[15,10],[16,3.5],[15,0]], + "temperature models":[{"model":"linear", "max depth":100e3}], + "composition models":[{"model":"uniform", "compositions":[3], "max depth":50e3}, + {"model":"uniform", "compositions":[1], "min depth":50e3}] + }, + { + "model":"subducting plate", "name":"Slab", "dip point":[0,0], + "coordinates":[[15,10],[16,3.5],[15,0]], + "segments": + [ + {"length":300e3, "thickness":[100e3], "angle":[0,60], + "composition models":[ + {"model":"uniform", "compositions":[3], "max distance slab top":50e3}, + {"model":"uniform", "compositions":[2], "min distance slab top":50e3}]}, + {"length":500e3, "thickness":[100e3], "angle":[60,20]} + ], + "sections": + [ + {"coordinate":0, + "segments":[{"length":300e3, "thickness":[100e3], "angle":[0,60]}, + {"length":400e3, "thickness":[100e3,50e3], "angle":[60]}], + "composition models":[{"model":"uniform", "compositions":[1]}]} + ], + "temperature models":[{"model":"plate model", "density":3300, "plate velocity":0.02}], + "composition models":[{"model":"uniform", "compositions":[2]}] + } + ] +} +``` +![Caption for example figure.\label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_17.png) +# Acknowledgements +see todo + +# References + + +# TODO +1. Add citations to other initial conditions generators +2. Decide on co-authors +3. write acknowledgments for other contributors who are not co-authors and for funding agencies +4. Update the example with the new contours slab and maybe add a fault as well + From 19d8a8215241d483c58a7c9699bf33b19c8fdd74 Mon Sep 17 00:00:00 2001 From: MFraters Date: Sat, 9 Sep 2023 11:56:03 -0700 Subject: [PATCH 02/19] Add github workflow for JOSS draft paper. --- .github/workflows/draft-pdf.yml | 23 +++++++++ doc/JOSS/1.0/paper.md | 92 +++++++-------------------------- 2 files changed, 41 insertions(+), 74 deletions(-) create mode 100644 .github/workflows/draft-pdf.yml diff --git a/.github/workflows/draft-pdf.yml b/.github/workflows/draft-pdf.yml new file mode 100644 index 000000000..fa2e4af1e --- /dev/null +++ b/.github/workflows/draft-pdf.yml @@ -0,0 +1,23 @@ +on: [push] + +jobs: + paper: + runs-on: ubuntu-latest + name: Paper Draft + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Build draft PDF + uses: openjournals/openjournals-draft-action@master + with: + journal: joss + # This should be the path to the paper within your repo. + paper-path: doc/JOSS/1.0/paper.md + - name: Upload + uses: actions/upload-artifact@v1 + with: + name: paper + # This is the output path where Pandoc will write the compiled + # PDF. Note, this should be the same directory as the input + # paper.md + path: doc/JOSS/1.0/paper.pdf \ No newline at end of file diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 05f8fb4db..5fc57c33c 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -13,7 +13,6 @@ tags: authors: - name: Menno R. T. Fraters orcid: 0000-0003-0035-7723 - equal-contrib: true affiliation: "1" # (Multiple affiliations must be quoted) affiliations: - name: Universiy of Florida, USA @@ -52,102 +51,47 @@ The code philosophy is build around the following points: 2. Code, language and platform independent 1. Supports **Linux**, **OSX** and **Windows** 2. Has official interfaces for **C++**, **C**, **FORTRAN** and **Python** coupling -3. Up-to-date manual and code documentation -4. Safe to use in parallel codes -5. Readable and extensible (modular) codes -6. Strict version numbering to ensure reproducible results +3. Safe to use in parallel codes +4. Readable and extensible (modular) codes +5. Strict version numbering to ensure reproducible results Following these points will help to create a clean, portable, extendable code with reproducible results. This is of course not everything needed to reach such results. For example, having integration and unit tests with high code coverage and automatic code indentation are important to keep the GWB in a healthy state. ## GWB User Philosophy -The user philosophy is build around the following points: -1. Tectonic features can be parameterized by lines and area -2. These features implicitly define a volume -3. to which a model can be assigned describing - 1. temperature - 2. composition (a label for a material) - 3. Crystal Preferred Orientation - 4. etc. -4. Parameterized by a human readable JSON style file - -The main idea behind these points is design the GWB so that users can easily create and modify complex parameterized initial conditions for their geodynamic or tectonic setting. +The user philosophy is build around the idea that users define tectonic features. These tectonic features can be parameterized by defining lines or areas where these features are in a map view. For example, a continental plate is an area on a map, so the user defines the area. A fault is a line on a map, so the user defines that line where the fault is. The user also provides information on the feature, such a thickness, which can be spatially variable, or dip angles. These parameters are then used to create the volume for the feature. Next users can attach one or many models to those volumes to define for example temperature or compositional variables. These can be very simple models, such as a uniform temperture distribution, or a more complex distrubution, such as a half space cooling model, or a McKenzie (ref) or mass conserving (ref) slab temperature model. + +All these parameterizations are set through a single input file. This file a JSON styled input file, which human read, write and editable. The main idea behind this design of the GWB so that users can easily create and modify complex parameterized initial conditions for their geodynamic or tectonic setting. ## Example -(TODO: update with the new contours slab and maybe add a fault as well) -3d sphericl subduction from the tutorial? https://gwb.readthedocs.io/en/latest/user_manual/basic_starter_tutorial/17_spherical_models.html +Below we show an example input file for a cartesian model, which can be easily converted to a spherical model, such as shown in the figure below which also shows some extra capabilities. ```json { - "version": "1.0", - "coordinate system":{"model":"spherical", "depth method":"begin segment"}, - "cross section":[[0,0.5],[1,-0.5]], + "coordinate system":{"model":"cartesian"}, "features": [ - { - "model":"mantle layer", "name":"upper mantle", "max depth":660e3, - "coordinates":[[-10,0],[-10,10],[30,10],[30,0]], - "composition models":[{"model":"uniform", "compositions":[4]}] - }, { "model":"oceanic plate", "name":"Overriding Plate", "max depth":100e3, - "coordinates":[[0,0],[0,10],[150,10],[16,3.5],[15,0]], - "temperature models": - [ - {"model":"half space model", "max depth":100e3, "spreading velocity":0.04, - "ridge coordinates":[[[4,-0.001],[-1,20]]]} - ], - "composition models":[{"model":"uniform", "compositions":[0], "max depth":50e3}] - }, - { - "model":"continental plate", "name":"Passive margin", "max depth":[[200e3]], - "coordinates":[[-10,0],[-10,10],[0,10],[0,0]], - "temperature models": - [ - {"model":"linear", "max depth":[[100e3],[200e3,[[-2.5,0],[-7.5,10]]]]} - ], - "composition models": - [ - {"model":"uniform", "compositions":[3], - "max depth":[[100e3],[200e3,[[-2.5,0],[-7.5,10]]]]}, - {"model":"uniform", "compositions":[1], - "min depth":[[100e3],[200e3,[[-2.5,0],[-7.5,10]]]]} - ] - }, - { - "model":"oceanic plate", "name":"Subducting Oceanic plate", "max depth":100e3, - "coordinates":[[20,0],[20,10],[15,10],[16,3.5],[15,0]], - "temperature models":[{"model":"linear", "max depth":100e3}], - "composition models":[{"model":"uniform", "compositions":[3], "max depth":50e3}, - {"model":"uniform", "compositions":[1], "min depth":50e3}] + "coordinates":[[0,0],[0,1000e3],[1500e3,1000e3],[1600e3,350e3],[1500e3,0]], + "temperature models":[{"model":"linear", "max depth":100e3}], + "composition models":[{"model":"uniform", "compositions":[0]}] }, { "model":"subducting plate", "name":"Slab", "dip point":[0,0], - "coordinates":[[15,10],[16,3.5],[15,0]], - "segments": - [ - {"length":300e3, "thickness":[100e3], "angle":[0,60], - "composition models":[ - {"model":"uniform", "compositions":[3], "max distance slab top":50e3}, - {"model":"uniform", "compositions":[2], "min distance slab top":50e3}]}, - {"length":500e3, "thickness":[100e3], "angle":[60,20]} - ], - "sections": - [ - {"coordinate":0, - "segments":[{"length":300e3, "thickness":[100e3], "angle":[0,60]}, - {"length":400e3, "thickness":[100e3,50e3], "angle":[60]}], - "composition models":[{"model":"uniform", "compositions":[1]}]} - ], - "temperature models":[{"model":"plate model", "density":3300, "plate velocity":0.02}], - "composition models":[{"model":"uniform", "compositions":[2]}] + "coordinates":[[1500e3,1000e3],[1600e3,350e3],[1500e3,0]], + "segments":[{"length":300e3, "thickness":[100e3], "angle":[0,60]}], + "temperature models":[{"model":"plate model", "plate velocity":0.02}], } ] } ``` -![Caption for example figure.\label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_17.png) + +![An schematic example of what can be build with 66 lines of GWB inptu file formatted in the same way as in the above input file example. \label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_17.png) + # Acknowledgements + see todo # References From 59da42399f4935c4965c5dd6ed67acb8e80a7c7c Mon Sep 17 00:00:00 2001 From: MFraters Date: Mon, 12 Feb 2024 17:47:18 -0500 Subject: [PATCH 03/19] Small fixes and changes, mostly adding references to alternatives. --- doc/JOSS/1.0/paper.bib | 102 +++++++++++++++++++++++++++++++++++++++++ doc/JOSS/1.0/paper.md | 45 ++++++++++++++---- 2 files changed, 139 insertions(+), 8 deletions(-) diff --git a/doc/JOSS/1.0/paper.bib b/doc/JOSS/1.0/paper.bib index e69de29bb..a02a6b6e5 100644 --- a/doc/JOSS/1.0/paper.bib +++ b/doc/JOSS/1.0/paper.bib @@ -0,0 +1,102 @@ +@Article{Fraters_Thieulot_etal_2019, +AUTHOR = {Fraters, M. and Thieulot, C. and van den Berg, A. and Spakman, W.}, +TITLE = {The Geodynamic World Builder: a solution for complex initial conditions in numerical modeling}, +JOURNAL = {Solid Earth}, +VOLUME = {10}, +YEAR = {2019}, +NUMBER = {5}, +PAGES = {1785--1807}, +URL = {https://se.copernicus.org/articles/10/1785/2019/}, +DOI = {10.5194/se-10-1785-2019} +} + +@article{Bauville_Baumann_2019, +author = {Bauville, A. and Baumann, T. S.}, +title = {geomIO: An Open-Source MATLAB Toolbox to Create the Initial Configuration of 2-D/3-D Thermo-Mechanical Simulations From 2-D Vector Drawings}, +journal = {Geochemistry, Geophysics, Geosystems}, +volume = {20}, +number = {3}, +pages = {1665-1675}, +keywords = {3-D modeling, numerical simulation, MATLAB toolbox, 3-D temperature distribution}, +doi = {https://doi.org/10.1029/2018GC008057}, +url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2018GC008057}, +eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2018GC008057}, +abstract = {Abstract Creating the initial geometry and temperature configuration of 3-D numerical simulations is a challenging task. Professional tools are expensive. They often have a steep learning curve and do mostly not interface with the numerical simulation software used by the geodynamics and tectonics academic community. There, we developed geometry Input/Output (geomIO), a MATLAB toolbox to create the initial configuration of geological models regarding model geometry and temperature structure. geomIO allows users to create a geo-referenced 3-D volume by drawing multiple 2-D cross sections in a standard vector graphics editor. The volume is then used to assign material properties and set up initial temperature distribution on a set of vertices. In 2-D mode, polygons can also be used to create a triangular mesh. In addition to the standard functionality, the gravity anomaly of any geometry created with geomIO can be calculated. In this paper, we give an overview of the basic functionalities of geomIO. We illustrate the strength of our software with advanced tectonic and geodynamic applications that could not have been performed with currently available free software. Applications include the Himalayan orogen, the Japanese subduction zones, present-day salt diapirs, and small-scale tectonic structures. We describe algorithms and file formats in the supporting information. The toolbox is user-friendly and flexible. Users can use custom pipelines or preset data processing pipelines, so most applications require only a few lines of code. geomIO is distributed under the GNU General Public License and includes an online wiki with tutorials and additional examples.}, +year = {2019} +} + +@article{Spang_Baumann_2022, +author = {Spang, A. and Baumann, T. S. and Kaus, B. J. P.}, +title = {Geodynamic Modeling With Uncertain Initial Geometries}, +journal = {Geochemistry, Geophysics, Geosystems}, +volume = {23}, +number = {6}, +pages = {e2021GC010265}, +keywords = {geometry parameterization, variable geometry, salt tectonics, subduction velocity, inversion, subduction angle}, +doi = {https://doi.org/10.1029/2021GC010265}, +url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2021GC010265}, +eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2021GC010265}, +note = {e2021GC010265 2021GC010265}, +abstract = {Abstract Geodynamic codes have become fast and efficient enough to facilitate sensitivity analysis of rheological parameters. With sufficient data, they can even be inverted for. Yet, the geodynamic inverse problem is often regularized by assuming a constant geometry of the geological setting (e.g., shape, location and size of salt diapirs or magma bodies) or approximating irregular bodies with simple shapes like boxes, spheres or ellipsoids to reduce the parameter space. Here, we present a simple and intuitive method to parameterize complex 3D bodies and incorporate them into geodynamic inverse problems. The approach can automatically create an entire ensemble of initial geometries, enabling us to account for uncertainties in imaging data. Furthermore, it allows us to investigate the sensitivity of the model results to geometrical properties and facilitates inverting for them. We demonstrate the method with two examples. A salt diapir in an extending regime and free subduction of an oceanic plate under a continent. In both cases, small differences in the model's initial geometry lead to vastly different results. Be it the formation of faults or the velocity of plates. Using the salt diapir example, we demonstrate that, given an additional geophysical observation, we are able to invert for uncertain geometric properties. This highlights that geodynamic studies should investigate the sensitivity of their models to the initial geometry and include it in their inversion framework. We make our method available as part of the open-source software geomIO.}, +year = {2022} +} + +@article{Beucher_Moresi_etal_2019, +doi = {10.21105/joss.01136}, +url = {https://doi.org/10.21105/joss.01136}, +year = {2019}, +publisher = {The Open Journal}, +volume = {4}, +number = {36}, +pages = {1136}, +author = {Romain Beucher and Louis Moresi and Julian Giordani and John Mansour and Dan Sandiford and Rebecca Farrington and Luke Mondy and Claire Mallard and Patrice Rey and Guillaume Duclaux and Owen Kaluza and Arijit Laik and Sara Morón}, +title = {UWGeodynamics: A teaching and research tool for numerical geodynamic modelling}, +journal = {Journal of Open Source Software} +} + +@article{Moresi_Dufour_2002, +authors = {Moresi, L. and Dufour, F. and Mühlhaus, HB. } +title = {Mantle Convection Modeling with Viscoelastic/Brittle Lithosphere: Numerical Methodology and Plate Tectonic Modeling.} +journal = {Pure appl. geophys.} +volume = {159}, +pages = {2335–2356}, +year = {2002} +url = {https://doi.org/10.1007/s00024-002-8738-3} + +@article{Varga_Schaaf_2019, +AUTHOR = {de la Varga, M. and Schaaf, A. and Wellmann, F.}, +TITLE = {GemPy 1.0: open-source stochastic geological modeling and inversion}, +JOURNAL = {Geoscientific Model Development}, +VOLUME = {12}, +YEAR = {2019}, +NUMBER = {1}, +PAGES = {1--32}, +URL = {https://gmd.copernicus.org/articles/12/1/2019/}, +DOI = {10.5194/gmd-12-1-2019} +} + +@article{Schaaf_Varga_2021, +AUTHOR = {Schaaf, A. and de la Varga, M. and Wellmann, F. and Bond, C. E.}, +TITLE = {Constraining stochastic 3-D structural geological models with topology information using approximate Bayesian computation in GemPy 2.1}, +JOURNAL = {Geoscientific Model Development}, +VOLUME = {14}, +YEAR = {2021}, +NUMBER = {6}, +PAGES = {3899--3913}, +URL = {https://gmd.copernicus.org/articles/14/3899/2021/}, +DOI = {10.5194/gmd-14-3899-2021} +} + +@article{McKenzie_1970, + title = "Temperature and potential temperature beneath island arcs", + journal = "Tectonophysics", + volume = "10", + number = "1", + pages = "357 - 366", + year = "1970", + note = "Geothermal Problems", + issn = "0040-1951", + doi = "https://doi.org/10.1016/0040-1951(70)90115-0", + url = "http://www.sciencedirect.com/science/article/pii/0040195170901150", + author = "D.P. McKenzie" +} diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 5fc57c33c..52da89064 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -14,10 +14,37 @@ authors: - name: Menno R. T. Fraters orcid: 0000-0003-0035-7723 affiliation: "1" # (Multiple affiliations must be quoted) + - name: Magali I. Billen + orcid: 0000-0002-7316-1791 + affiliation: "2" + - name: Rene Gassmöller + orcid: 0000-0001-7098-8198 + affiliation: "1" + - name: Arushi Saxena + orcid: 0000-0003-2930-3497 + affiliation: "3" + - name: Timo Heister + orcid: 0000-0002-8137-3903 + affiliation: "3" + - name: Juliane Dannberg + orcid: 0000-0003-0357-7115 + affiliation: "1" + - name: Haoyuan Li + orcid: 0 + affiliation: "2" + - name: Daniel Douglas + orcid: 0 + affiliation: "4" affiliations: - name: Universiy of Florida, USA index: 1 -date: 9 September 2023 + - name: UC Davis, USA + index: 2 + - name: Clemson University, USA + index: 3 + - name: New Mexico Tech, USA + index: 4 +date: 2 February 2023 bibliography: paper.bib --- @@ -31,7 +58,7 @@ Besides setting up initial conditions for geodynamic models, the GWB can also be # Statement of need -The increase in available computational resources and new numerical methods and infrastructure, has started to enable the creation of numerical models which closer resemble or mimic actual location on the Earth in 3D with a much finer resolution. This also means that setting up these more detailed regional or global models, becomes exponentially more difficult, both in 2D, but especially in 3D. Furthermore, to properly investigate these models, often many smaller and bigger changes to the model need to be tested, which requires a way to change these models quickly and easily. Although successful attempts have been published, such model setups often have one or many of the following issues: +The increase in available computational resources and new numerical methods and infrastructure, has started to enable the creation of numerical models which closer resemble or mimic actual location on the Earth in 3D with a much finer resolution. This also means that setting up these more detailed regional or global models, becomes exponentially more difficult, both in 2D, but especially in 3D. Furthermore, to properly investigate these models, often many smaller and bigger changes to the model need to be tested, which requires a way to change these models quickly and easily. Although successful studies have been published, such model setups often have one or many of the following issues: 1. Code is not readable (even hard for their developers) 2. Code/initial conditions is/are not modifiable (even hard for their developers) @@ -41,6 +68,8 @@ The increase in available computational resources and new numerical methods and This is the problem the GWB was designed to solve. Furthermore, since the GWB comes with its own programs to visualize the constructed model through programs like Paraview, and creating the models requires no programming knowledge, it can be easily used to visualize tectonic and geodynamic settings for publication, teaching or discussion purposes. +Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019,@Spang_Baumann_2022), which use an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function based approach, UWGeodynamics (@Beucher_Moresi_etal_2019) is which specificially designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019,@Schaaf_Varga_2021), which is designed for structural modelling. + # Methods The Geodynamic World Builder is designed to solve the problems stated in the pervious section through implementing a specific code an user design philosophy. @@ -59,7 +88,7 @@ Following these points will help to create a clean, portable, extendable code wi ## GWB User Philosophy -The user philosophy is build around the idea that users define tectonic features. These tectonic features can be parameterized by defining lines or areas where these features are in a map view. For example, a continental plate is an area on a map, so the user defines the area. A fault is a line on a map, so the user defines that line where the fault is. The user also provides information on the feature, such a thickness, which can be spatially variable, or dip angles. These parameters are then used to create the volume for the feature. Next users can attach one or many models to those volumes to define for example temperature or compositional variables. These can be very simple models, such as a uniform temperture distribution, or a more complex distrubution, such as a half space cooling model, or a McKenzie (ref) or mass conserving (ref) slab temperature model. +The user philosophy is build around the idea that users define tectonic features. These tectonic features can be parameterized by defining lines or areas where these features are in a map view. For example, a continental plate is an area on a map, so the user defines the area. A fault is a line on a map, so the user defines that line where the fault is. The user also provides information on the feature, such a thickness, which can be spatially variable, or dip angles. These parameters are then used to create the volume for the feature. Next users can attach one or many models to those volumes to define for example temperature or compositional variables. These can be very simple models, such as a uniform temperture distribution, or a more complex distrubution, such as a half space cooling model, or a McKenzie [@McKenzie_1970] or mass conserving (ref) slab temperature model. All these parameterizations are set through a single input file. This file a JSON styled input file, which human read, write and editable. The main idea behind this design of the GWB so that users can easily create and modify complex parameterized initial conditions for their geodynamic or tectonic setting. @@ -90,16 +119,16 @@ Below we show an example input file for a cartesian model, which can be easily c ![An schematic example of what can be build with 66 lines of GWB inptu file formatted in the same way as in the above input file example. \label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_17.png) + # Acknowledgements -see todo +We would like to acknolege all other contributors to the project, especially Wolfang Bangerth, (Timo and Daniel if not on co-authors), Lorraine Hwang and John Naliboff for their advice and support through the years for this project. We would also like to acknowledge NSF for their funding and support through grands EAR-1620618 (CPO), OCE-1948902 (Cascadia), EAR-0949446 (CIG), EAR-1550901 (CIG) and EAR-1925677 (FRES). # References # TODO -1. Add citations to other initial conditions generators -2. Decide on co-authors -3. write acknowledgments for other contributors who are not co-authors and for funding agencies -4. Update the example with the new contours slab and maybe add a fault as well +1. Decide on co-authors +2. write acknowledgments for other contributors who are not co-authors and for funding agencies +3. Add reference to Mass conserving temperature model? From bbc8e2eab9940423113b7d7539baa44c63565167 Mon Sep 17 00:00:00 2001 From: MFraters Date: Fri, 23 Feb 2024 16:15:25 -0500 Subject: [PATCH 04/19] Finish draft of JOSS paper --- .github/workflows/draft-pdf.yml | 2 +- doc/JOSS/1.0/paper.bib | 55 ++++++++++++++++++++++++++++++--- doc/JOSS/1.0/paper.md | 16 +++++----- 3 files changed, 60 insertions(+), 13 deletions(-) diff --git a/.github/workflows/draft-pdf.yml b/.github/workflows/draft-pdf.yml index fa2e4af1e..8271cf3da 100644 --- a/.github/workflows/draft-pdf.yml +++ b/.github/workflows/draft-pdf.yml @@ -1,4 +1,4 @@ -on: [push] +on: [push,pull_request] jobs: paper: diff --git a/doc/JOSS/1.0/paper.bib b/doc/JOSS/1.0/paper.bib index a02a6b6e5..da9916d65 100644 --- a/doc/JOSS/1.0/paper.bib +++ b/doc/JOSS/1.0/paper.bib @@ -55,13 +55,14 @@ @article{Beucher_Moresi_etal_2019 } @article{Moresi_Dufour_2002, -authors = {Moresi, L. and Dufour, F. and Mühlhaus, HB. } -title = {Mantle Convection Modeling with Viscoelastic/Brittle Lithosphere: Numerical Methodology and Plate Tectonic Modeling.} -journal = {Pure appl. geophys.} +authors = {Moresi, L. and Dufour, F. and Mühlhaus, HB. }, +title = {Mantle Convection Modeling with Viscoelastic/Brittle Lithosphere: Numerical Methodology and Plate Tectonic Modeling.}, +journal = {Pure appl. geophys.}, volume = {159}, pages = {2335–2356}, -year = {2002} +year = {2002}, url = {https://doi.org/10.1007/s00024-002-8738-3} +} @article{Varga_Schaaf_2019, AUTHOR = {de la Varga, M. and Schaaf, A. and Wellmann, F.}, @@ -100,3 +101,49 @@ @article{McKenzie_1970 url = "http://www.sciencedirect.com/science/article/pii/0040195170901150", author = "D.P. McKenzie" } +@software{sebastien_jourdain_2024, + author = {Sebastien Jourdain (Kitware) and + Forrest Li and + Julien Finet and + Sankhesh Jhaveri and + Laurenn Lam and + Adnane Belmadiaf and + Matt McCormick and + Scott Wittenburg and + Alireza and + Thibault Bruyère and + Tom Birdsong and + Lucie Macron and + Shreeraj Jadhav and + JiayiXuu and + Patrick Avery and + rodrigobasilio2022 and + Jules BOURDAIS and + gandis and + Erik Ziegler and + RemiCecchinato and + Anne Haley and + Tom Suchel and + TristanWright and + David Thompson and + Mayeul Chassagnard and + Madison Dickson and + Aron Helser and + Paul Elliott and + ocrossi}, + title = {Kitware/vtk-js: v29.7.2}, + month = feb, + year = 2024, + publisher = {Zenodo}, + version = {v29.7.2}, + doi = {10.5281/zenodo.10680530}, + url = {https://doi.org/10.5281/zenodo.10680530} +} + +@article{billen_Fraters_AGU_2023, + title={A New Method for Assigning Thermal Structure to 2D and 3D Present-day Geodynamic and Seismological Models of Subduction Zones}, + author={Billen, Magali I and Fraters, Menno}, + journal={AGU23}, + year={2023}, + publisher={AGU} +} \ No newline at end of file diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 52da89064..6cb81bba3 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -35,6 +35,9 @@ authors: - name: Daniel Douglas orcid: 0 affiliation: "4" + - name: Yijun Wang + orcid: 0 + affiliation: "5" affiliations: - name: Universiy of Florida, USA index: 1 @@ -44,7 +47,9 @@ affiliations: index: 3 - name: New Mexico Tech, USA index: 4 -date: 2 February 2023 + - name: University of Oslo, Norway + index: 4 +date: 23 February 2023 bibliography: paper.bib --- @@ -88,7 +93,7 @@ Following these points will help to create a clean, portable, extendable code wi ## GWB User Philosophy -The user philosophy is build around the idea that users define tectonic features. These tectonic features can be parameterized by defining lines or areas where these features are in a map view. For example, a continental plate is an area on a map, so the user defines the area. A fault is a line on a map, so the user defines that line where the fault is. The user also provides information on the feature, such a thickness, which can be spatially variable, or dip angles. These parameters are then used to create the volume for the feature. Next users can attach one or many models to those volumes to define for example temperature or compositional variables. These can be very simple models, such as a uniform temperture distribution, or a more complex distrubution, such as a half space cooling model, or a McKenzie [@McKenzie_1970] or mass conserving (ref) slab temperature model. +The user philosophy is build around the idea that users define tectonic features. These tectonic features can be parameterized by defining lines or areas where these features are in a map view. For example, a continental plate is an area on a map, so the user defines the area. A fault is a line on a map, so the user defines that line where the fault is. The user also provides information on the feature, such a thickness, which can be spatially variable, or dip angles. These parameters are then used to create the volume for the feature. Next users can attach one or many models to those volumes to define for example temperature or compositional variables. These can be very simple models, such as a uniform temperture distribution, or a more complex distrubution, such as a half space cooling model, or a McKenzie [@McKenzie_1970] or mass conserving [@billen_Fraters_AGU_2023] slab temperature model. All these parameterizations are set through a single input file. This file a JSON styled input file, which human read, write and editable. The main idea behind this design of the GWB so that users can easily create and modify complex parameterized initial conditions for their geodynamic or tectonic setting. @@ -122,13 +127,8 @@ Below we show an example input file for a cartesian model, which can be easily c # Acknowledgements -We would like to acknolege all other contributors to the project, especially Wolfang Bangerth, (Timo and Daniel if not on co-authors), Lorraine Hwang and John Naliboff for their advice and support through the years for this project. We would also like to acknowledge NSF for their funding and support through grands EAR-1620618 (CPO), OCE-1948902 (Cascadia), EAR-0949446 (CIG), EAR-1550901 (CIG) and EAR-1925677 (FRES). +We would like to acknolege all other contributors to the project, especially Lorraine Hwang, Becky Fildes and John Naliboff for their advice and support through the years for this project. We would also like to acknowledge NSF for their funding and support through grands EAR-1620618 (CPO), OCE-1948902 (Cascadia), EAR-0949446 (CIG), EAR-1550901 (CIG) and EAR-1925677 (FRES). # References -# TODO -1. Decide on co-authors -2. write acknowledgments for other contributors who are not co-authors and for funding agencies -3. Add reference to Mass conserving temperature model? - From 95458c8442c7f1a80d8b41cc10df9672ec93ab3a Mon Sep 17 00:00:00 2001 From: Menno Fraters Date: Sat, 24 Feb 2024 23:21:16 +0000 Subject: [PATCH 05/19] Apply suggestions from code review Timo Co-authored-by: Timo Heister --- doc/JOSS/1.0/paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 6cb81bba3..9616b131c 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -122,12 +122,12 @@ Below we show an example input file for a cartesian model, which can be easily c } ``` -![An schematic example of what can be build with 66 lines of GWB inptu file formatted in the same way as in the above input file example. \label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_17.png) +![An schematic example of what can be build with 66 lines of GWB input file formatted in the same way as in the above input file example. \label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_17.png) # Acknowledgements -We would like to acknolege all other contributors to the project, especially Lorraine Hwang, Becky Fildes and John Naliboff for their advice and support through the years for this project. We would also like to acknowledge NSF for their funding and support through grands EAR-1620618 (CPO), OCE-1948902 (Cascadia), EAR-0949446 (CIG), EAR-1550901 (CIG) and EAR-1925677 (FRES). +We would like to acknowledge all other contributors to the project, especially Lorraine Hwang, Becky Fildes and John Naliboff for their advice and support through the years for this project. We would also like to acknowledge NSF for their funding and support through grants EAR-1620618 (CPO), OCE-1948902 (Cascadia), EAR-0949446 (CIG), EAR-1550901 (CIG) and EAR-1925677 (FRES). # References From bc43dd8f6d710441ae1e4e5220bb5b1d3b9997b6 Mon Sep 17 00:00:00 2001 From: MFraters Date: Wed, 28 Feb 2024 20:38:59 -0500 Subject: [PATCH 06/19] WIP --- doc/JOSS/1.0/paper.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 9616b131c..d0e61ac96 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -33,10 +33,10 @@ authors: orcid: 0 affiliation: "2" - name: Daniel Douglas - orcid: 0 + orcid: 0000-0002-7871-018X affiliation: "4" - name: Yijun Wang - orcid: 0 + orcid: 0000-0002-7637-3239 affiliation: "5" affiliations: - name: Universiy of Florida, USA @@ -49,15 +49,15 @@ affiliations: index: 4 - name: University of Oslo, Norway index: 4 -date: 23 February 2023 +date: 28 February 2023 bibliography: paper.bib --- # Summary -The geodynamic models can be divided in three broad classes. The first class are the simple synthetic models. This class which involve simplistic geometries for generic modeling and are easy to make and parameterize. These are good for simplified problems and benchmarks. The second class of models is the Data driven models. This class which consists of initial conditions (semi-)automatically derived from datasets like tomography. These are often used for instantaneous models. The third class of models are complex synthetic models. The case which blends complex 3D interpretation driven detailed geometrical features and thermal fields. This can be useful to parameterize instantaneous models or make setups for models starting in the past. +Many Earth science applications require the discretization, parametrization and/or visualization of complex geological features in a 3D geometry in global or regional settings. A prime example are geodynamic models, which have to make assumptions about the Earth's thermal and chemical structure and the geometry of different features such as plates, subducted slabs, or mantle plumes. This structure is needed in instantaneous models, as model initial conditions, or to test different hypotheses and compare model predictions to observations. Other examples are the creation of an Earth velocity structure for seismic forward modeling and hypothesis-testing, or the visualization of tectonic features in structural geology. -The Geodynamic World Builder (GWB) has been designed to make the third case significantly easier, but can also be used to design simple synthetic models and several types of datasets are supported to be used to setup models in a way which aligns with the GWB design philosophies. +The Geodynamic World Builder (GWB) has been designed to make the creation of initial conditions for complex parameterized models significantly easier, but can also be used to design simple synthetic models and several types of datasets are supported to be used to setup models in a way which aligns with the GWB design philosophies. Besides setting up initial conditions for geodynamic models, the GWB can also be used to make detailed 3D visualizations of geologic and geodynamic settings. From e31b13e70d090ea5c60473fdc5831ce164725368 Mon Sep 17 00:00:00 2001 From: MFraters Date: Fri, 1 Mar 2024 15:55:07 -0500 Subject: [PATCH 07/19] Process Rene and Julianes comments. --- doc/JOSS/1.0/paper.md | 46 +++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index d0e61ac96..b138d13e4 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -30,7 +30,7 @@ authors: orcid: 0000-0003-0357-7115 affiliation: "1" - name: Haoyuan Li - orcid: 0 + orcid: 0000-0003-0676-9884 affiliation: "2" - name: Daniel Douglas orcid: 0000-0002-7871-018X @@ -57,29 +57,27 @@ bibliography: paper.bib Many Earth science applications require the discretization, parametrization and/or visualization of complex geological features in a 3D geometry in global or regional settings. A prime example are geodynamic models, which have to make assumptions about the Earth's thermal and chemical structure and the geometry of different features such as plates, subducted slabs, or mantle plumes. This structure is needed in instantaneous models, as model initial conditions, or to test different hypotheses and compare model predictions to observations. Other examples are the creation of an Earth velocity structure for seismic forward modeling and hypothesis-testing, or the visualization of tectonic features in structural geology. -The Geodynamic World Builder (GWB) has been designed to make the creation of initial conditions for complex parameterized models significantly easier, but can also be used to design simple synthetic models and several types of datasets are supported to be used to setup models in a way which aligns with the GWB design philosophies. - -Besides setting up initial conditions for geodynamic models, the GWB can also be used to make detailed 3D visualizations of geologic and geodynamic settings. +The Geodynamic World Builder (GWB) has been designed to make the creation of initial conditions for complex parameterized models significantly easier, but can also be used to design simple synthetic models and several types of datasets are supported to be used to setup models in a way which aligns with the GWB design philosophies. Besides setting up initial conditions for geodynamic models, the GWB can also be used to make detailed 3D visualizations of geologic, tectonic and geodynamic settings. # Statement of need -The increase in available computational resources and new numerical methods and infrastructure, has started to enable the creation of numerical models which closer resemble or mimic actual location on the Earth in 3D with a much finer resolution. This also means that setting up these more detailed regional or global models, becomes exponentially more difficult, both in 2D, but especially in 3D. Furthermore, to properly investigate these models, often many smaller and bigger changes to the model need to be tested, which requires a way to change these models quickly and easily. Although successful studies have been published, such model setups often have one or many of the following issues: +The increased availabability of computational resources, infrastructure and new numerical methods over the last decades has allowed for the creation of complex numerical models that closely resemble specific location on the Earth using a 3D geometry and a high resolution. However, the related increase in complexity has also made setting up these more detailed regional or global models exceedingly difficult, especially in three dimensions. Furthermore, investigating the model dynamics often requires testing different scenarios involving variations in model geometry, thermal or chemical structure, or other model assumptions. This highlights the need for changing the model setup in a way that is easy, efficient, and robust. Although successful studies have been published, such model setups often have one or many of the following disadvantages: -1. Code is not readable (even hard for their developers) -2. Code/initial conditions is/are not modifiable (even hard for their developers) -3. Code is not extendable -4. Code is not portable or reproducible in other codes -5. Code is not shareable which makes everyone reinvent the wheel. +1. The configuration is not human-readable. +2. The software is not easily modifiable and extendable. +3. The model setup is not portable to other computing systems or reproducible in other software frameworks. +4. The model setup is not shareable with other users. -This is the problem the GWB was designed to solve. Furthermore, since the GWB comes with its own programs to visualize the constructed model through programs like Paraview, and creating the models requires no programming knowledge, it can be easily used to visualize tectonic and geodynamic settings for publication, teaching or discussion purposes. +These issues lead to a number of problems with the reproducibility and reliability of geodynamic modeling studies, which threaten to undermine the predictive power and usefulness of modeling results. The GWB has been designed to solve these problems. this situation, by creating human readable, parameterized, portable, reproducible and shareable geodynamic model setups. As a side benefit the GWB comes with its own programs to visualize the constructed model through programs like Paraview, and creating the models requires no programming knowledge, it can be easily used to visualize tectonic and geodynamic settings for publications, teaching or and public outreach. -Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019,@Spang_Baumann_2022), which use an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function based approach, UWGeodynamics (@Beucher_Moresi_etal_2019) is which specificially designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019,@Schaaf_Varga_2021), which is designed for structural modelling. +Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019,@Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019,@Schaaf_Varga_2021), which is designed for structural modelling. The GWB was designed to be a more general initial conditions creator, with the methods shown below. # Methods -The Geodynamic World Builder is designed to solve the problems stated in the pervious section through implementing a specific code an user design philosophy. +To address the challenges outlined in the previous section, the Geodynamic World Builder implements a specific code and user design philosophy. + ## GWB Code Philosophy -The code philosophy is build around the following points: +The code philosophy is built around the following points: 1. A single text-based input file 2. Code, language and platform independent @@ -89,16 +87,16 @@ The code philosophy is build around the following points: 4. Readable and extensible (modular) codes 5. Strict version numbering to ensure reproducible results -Following these points will help to create a clean, portable, extendable code with reproducible results. This is of course not everything needed to reach such results. For example, having integration and unit tests with high code coverage and automatic code indentation are important to keep the GWB in a healthy state. +These principles are implemented in an object-oriented C++ code with the mentioned interfaces. All variable parts of the software are implemented as plugin systems using interface classes that decouple individual modules and allow to easily extend the code with new features. Following these principles is the first step to create a clean, portable, extendable code with reproducible results. In addition, the GWB includes an automated extensive test suite with benchmarks, integration and unit tests with high code coverage, memory checking, automatic code indentation and typo checking to keep the GWB in a healthy state. ## GWB User Philosophy -The user philosophy is build around the idea that users define tectonic features. These tectonic features can be parameterized by defining lines or areas where these features are in a map view. For example, a continental plate is an area on a map, so the user defines the area. A fault is a line on a map, so the user defines that line where the fault is. The user also provides information on the feature, such a thickness, which can be spatially variable, or dip angles. These parameters are then used to create the volume for the feature. Next users can attach one or many models to those volumes to define for example temperature or compositional variables. These can be very simple models, such as a uniform temperture distribution, or a more complex distrubution, such as a half space cooling model, or a McKenzie [@McKenzie_1970] or mass conserving [@billen_Fraters_AGU_2023] slab temperature model. +GWB's user philosophy is built around the idea a complex model region can be split into individual tectonic features. These tectonic features can be parameterized by defining their location and geometry in terms of points, lines or areas in a map view. For example, a continental plate can be represented as an area on a map, and the GWB user defines this area. A fault is a linear feature on a map, so the user can define the fault trace a the surface as a line. Users can also provide additional information for a feature, such a spatially variable thickness or dip angle. The GWB then uses these parameters to create the 3D geometry of the feature, defining its volume. Furthermore, users can attach one or many models to those volumes to define additional properties such as thermal or chemical structure. These can be very simple models, such as a uniform temperature distribution, or follow a more complex distribution, such as a half space cooling model, or a McKenzie [@McKenzie_1970] or mass conserving [@billen_Fraters_AGU_2023] slab temperature model. -All these parameterizations are set through a single input file. This file a JSON styled input file, which human read, write and editable. The main idea behind this design of the GWB so that users can easily create and modify complex parameterized initial conditions for their geodynamic or tectonic setting. +All these parameterizations are bundled in a single input file, which is human readable, writeable and editable. The main idea behind this design of the GWB is that users can easily create, modify and visualize complex parameterized initial conditions for their geodynamic or tectonic setting. ## Example -Below we show an example input file for a cartesian model, which can be easily converted to a spherical model, such as shown in the figure below which also shows some extra capabilities. +Below we show an example input file for a Cartesian model with a subducting plate. ```json { @@ -106,12 +104,6 @@ Below we show an example input file for a cartesian model, which can be easily c "coordinate system":{"model":"cartesian"}, "features": [ - { - "model":"oceanic plate", "name":"Overriding Plate", "max depth":100e3, - "coordinates":[[0,0],[0,1000e3],[1500e3,1000e3],[1600e3,350e3],[1500e3,0]], - "temperature models":[{"model":"linear", "max depth":100e3}], - "composition models":[{"model":"uniform", "compositions":[0]}] - }, { "model":"subducting plate", "name":"Slab", "dip point":[0,0], "coordinates":[[1500e3,1000e3],[1600e3,350e3],[1500e3,0]], @@ -122,12 +114,14 @@ Below we show an example input file for a cartesian model, which can be easily c } ``` -![An schematic example of what can be build with 66 lines of GWB input file formatted in the same way as in the above input file example. \label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_17.png) +Combining several of these features can create the spherical model setup of a subducting plate beneath an overriding ocean and with a rising plume, as seen below. The resulting input file is just 85 lines of GWB input formatted in the same way as in the above input file example. + +![A schematic example of what can be built with 85 lines of a GWB input file formatted in the same way as in example input file shown above. \label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_19.png) # Acknowledgements -We would like to acknowledge all other contributors to the project, especially Lorraine Hwang, Becky Fildes and John Naliboff for their advice and support through the years for this project. We would also like to acknowledge NSF for their funding and support through grants EAR-1620618 (CPO), OCE-1948902 (Cascadia), EAR-0949446 (CIG), EAR-1550901 (CIG) and EAR-1925677 (FRES). +We would like to acknowledge all other contributors to the project, especially Lorraine Hwang, Becky Fildes and John Naliboff for their advice and support for this project throughout the years. We would also like to acknowledge NSF for their funding and support through grants EAR-1620618 (CPO), OCE-1948902 (Cascadia), EAR-0949446 (CIG), EAR-1550901 (CIG) and EAR-1925677 (FRES). # References From 7968a175d0904690d1dd3c7c479ae3ec6d594079 Mon Sep 17 00:00:00 2001 From: Juliane Dannberg Date: Tue, 5 Mar 2024 11:10:44 -0500 Subject: [PATCH 08/19] some more suggestions --- doc/JOSS/1.0/paper.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index b138d13e4..814807c92 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -55,22 +55,22 @@ bibliography: paper.bib # Summary -Many Earth science applications require the discretization, parametrization and/or visualization of complex geological features in a 3D geometry in global or regional settings. A prime example are geodynamic models, which have to make assumptions about the Earth's thermal and chemical structure and the geometry of different features such as plates, subducted slabs, or mantle plumes. This structure is needed in instantaneous models, as model initial conditions, or to test different hypotheses and compare model predictions to observations. Other examples are the creation of an Earth velocity structure for seismic forward modeling and hypothesis-testing, or the visualization of tectonic features in structural geology. +Many Earth science applications require the discretization, parametrization and/or visualization of complex geological features in a 3D geometry in global or regional settings. A prime example are geodynamic models, which have to make assumptions about the Earth's thermal and chemical structure and the geometry of different features such as plates, subducted slabs, or mantle plumes. This structure is needed in instantaneous models, as model initial conditions, or to test different hypotheses and compare model predictions to observations. Other example applications are the creation of an Earth velocity structure for seismic forward modeling and hypothesis-testing, or the visualization of tectonic features in structural geology. -The Geodynamic World Builder (GWB) has been designed to make the creation of initial conditions for complex parameterized models significantly easier, but can also be used to design simple synthetic models and several types of datasets are supported to be used to setup models in a way which aligns with the GWB design philosophies. Besides setting up initial conditions for geodynamic models, the GWB can also be used to make detailed 3D visualizations of geologic, tectonic and geodynamic settings. +The Geodynamic World Builder (GWB) has been designed to make the creation of initial conditions for complex parameterized models significantly easier, but can also be used to design simple synthetic models and it supports the use of several types of datasets to set up models in a way that aligns with the GWB design philosophies. Besides setting up initial conditions for geodynamic models, the GWB can also be used to make detailed 3D visualizations of geologic, tectonic and geodynamic settings. # Statement of need -The increased availabability of computational resources, infrastructure and new numerical methods over the last decades has allowed for the creation of complex numerical models that closely resemble specific location on the Earth using a 3D geometry and a high resolution. However, the related increase in complexity has also made setting up these more detailed regional or global models exceedingly difficult, especially in three dimensions. Furthermore, investigating the model dynamics often requires testing different scenarios involving variations in model geometry, thermal or chemical structure, or other model assumptions. This highlights the need for changing the model setup in a way that is easy, efficient, and robust. Although successful studies have been published, such model setups often have one or many of the following disadvantages: +The increased availability of computational resources, infrastructure and new numerical methods over the last decades has allowed for the creation of complex numerical models that closely resemble specific location on the Earth using a 3D geometry and a high resolution. However, the related increase in complexity has also made setting up these more detailed regional or global models exceedingly difficult, especially in three dimensions. Furthermore, investigating the model dynamics often requires testing different scenarios involving variations in model geometry, thermal or chemical structure, or other model assumptions. This highlights the need for changing the model setup in a way that is easy, efficient, and robust. Although successful studies have been published, such model setups often have one or many of the following disadvantages: 1. The configuration is not human-readable. 2. The software is not easily modifiable and extendable. 3. The model setup is not portable to other computing systems or reproducible in other software frameworks. 4. The model setup is not shareable with other users. -These issues lead to a number of problems with the reproducibility and reliability of geodynamic modeling studies, which threaten to undermine the predictive power and usefulness of modeling results. The GWB has been designed to solve these problems. this situation, by creating human readable, parameterized, portable, reproducible and shareable geodynamic model setups. As a side benefit the GWB comes with its own programs to visualize the constructed model through programs like Paraview, and creating the models requires no programming knowledge, it can be easily used to visualize tectonic and geodynamic settings for publications, teaching or and public outreach. +These issues lead to a number of problems with the reproducibility and reliability of geodynamic modeling studies, which threaten to undermine the predictive power and usefulness of modeling results. The GWB has been designed to address these challenges, by creating human readable, parameterized, portable, reproducible and shareable geodynamic model setups. As a side benefit, the GWB comes with its own programs to visualize the constructed model through applications like Paraview, and creating the models requires no programming knowledge. Therefore, the GWB can be easily used to visualize tectonic and geodynamic settings for publications, teaching and public outreach. -Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019,@Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019,@Schaaf_Varga_2021), which is designed for structural modelling. The GWB was designed to be a more general initial conditions creator, with the methods shown below. +Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019,@Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019,@Schaaf_Varga_2021), which is designed for structural modelling. The GWB was designed to be a more general initial conditions creator, using the methods shown below. # Methods @@ -87,11 +87,11 @@ The code philosophy is built around the following points: 4. Readable and extensible (modular) codes 5. Strict version numbering to ensure reproducible results -These principles are implemented in an object-oriented C++ code with the mentioned interfaces. All variable parts of the software are implemented as plugin systems using interface classes that decouple individual modules and allow to easily extend the code with new features. Following these principles is the first step to create a clean, portable, extendable code with reproducible results. In addition, the GWB includes an automated extensive test suite with benchmarks, integration and unit tests with high code coverage, memory checking, automatic code indentation and typo checking to keep the GWB in a healthy state. +These principles are implemented in an object-oriented C++ code with the mentioned interfaces. All variable parts of the software are implemented as plugin systems using interface classes that decouple individual modules and allow to easily extend the code with new features. Following these principles is the first step to create a clean, portable, extendable code with reproducible results. In addition, the GWB includes an automated extensive test suite with benchmarks, integration and unit tests with high code coverage, memory checking, automatic code indentation and a spell checker to keep the GWB in a healthy state. ## GWB User Philosophy -GWB's user philosophy is built around the idea a complex model region can be split into individual tectonic features. These tectonic features can be parameterized by defining their location and geometry in terms of points, lines or areas in a map view. For example, a continental plate can be represented as an area on a map, and the GWB user defines this area. A fault is a linear feature on a map, so the user can define the fault trace a the surface as a line. Users can also provide additional information for a feature, such a spatially variable thickness or dip angle. The GWB then uses these parameters to create the 3D geometry of the feature, defining its volume. Furthermore, users can attach one or many models to those volumes to define additional properties such as thermal or chemical structure. These can be very simple models, such as a uniform temperature distribution, or follow a more complex distribution, such as a half space cooling model, or a McKenzie [@McKenzie_1970] or mass conserving [@billen_Fraters_AGU_2023] slab temperature model. +GWB's user philosophy is built around the idea that a complex model region can be split into individual tectonic features. These tectonic features can be parameterized by defining their location and geometry in terms of points, lines or areas in a map view. For example, a continental plate can be represented as an area on a map, and the GWB user defines this area. A fault is a linear feature on a map, so the user can define the fault trace as a line at the surface. Users can also provide additional information for a feature, such as a spatially variable thickness or dip angle. The GWB then uses these parameters to create the 3D geometry of the feature, defining its volume. Furthermore, users can attach one or many models to those volumes to define additional properties such as thermal or chemical structure. These can be very simple models, such as a uniform temperature distribution, or follow a more complex distribution, such as a half space cooling model, or a McKenzie [@McKenzie_1970] or mass conserving [@billen_Fraters_AGU_2023] slab temperature model. All these parameterizations are bundled in a single input file, which is human readable, writeable and editable. The main idea behind this design of the GWB is that users can easily create, modify and visualize complex parameterized initial conditions for their geodynamic or tectonic setting. @@ -114,9 +114,9 @@ Below we show an example input file for a Cartesian model with a subducting plat } ``` -Combining several of these features can create the spherical model setup of a subducting plate beneath an overriding ocean and with a rising plume, as seen below. The resulting input file is just 85 lines of GWB input formatted in the same way as in the above input file example. +Combining several of these features and changing the `coordinate system` to `spherical` can create the model setup shown in Figure 1: A plate subducting beneath an overriding ocean and a rising plume impinging on the base of the lithosphere between a mid-ocean ridge and a passive margin. The resulting input file is just 85 lines of GWB input formatted in the same way as in the example input file above. -![A schematic example of what can be built with 85 lines of a GWB input file formatted in the same way as in example input file shown above. \label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_19.png) +![A schematic example of what can be built with 85 lines of a GWB input file formatted in the same way as in the example input file shown above. \label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_19.png) # Acknowledgements From 694ba1165878195b698461570eb3745cc56159c8 Mon Sep 17 00:00:00 2001 From: MFraters Date: Wed, 6 Mar 2024 10:55:28 -0500 Subject: [PATCH 09/19] Adress further comments on draft. --- doc/JOSS/1.0/paper.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 814807c92..9cbb7d1a6 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -1,5 +1,5 @@ --- -title: 'The Geodynamic World Builder: An initial conditions generator for the geosciences' +title: 'The Geodynamic World Builder: A Planetary structure creator for the geosciences' tags: - C++ - CPP @@ -57,7 +57,7 @@ bibliography: paper.bib Many Earth science applications require the discretization, parametrization and/or visualization of complex geological features in a 3D geometry in global or regional settings. A prime example are geodynamic models, which have to make assumptions about the Earth's thermal and chemical structure and the geometry of different features such as plates, subducted slabs, or mantle plumes. This structure is needed in instantaneous models, as model initial conditions, or to test different hypotheses and compare model predictions to observations. Other example applications are the creation of an Earth velocity structure for seismic forward modeling and hypothesis-testing, or the visualization of tectonic features in structural geology. -The Geodynamic World Builder (GWB) has been designed to make the creation of initial conditions for complex parameterized models significantly easier, but can also be used to design simple synthetic models and it supports the use of several types of datasets to set up models in a way that aligns with the GWB design philosophies. Besides setting up initial conditions for geodynamic models, the GWB can also be used to make detailed 3D visualizations of geologic, tectonic and geodynamic settings. +The Geodynamic World Builder (GWB) has been designed to make the creation of complex parameterized models significantly easier. It can also be used to design simple synthetic models and it supports the use of several types of datasets to set up models. Besides setting up initial conditions for geodynamic models, the GWB can also be used to make detailed 3D visualizations of geologic, tectonic and geodynamic settings. # Statement of need @@ -68,32 +68,32 @@ The increased availability of computational resources, infrastructure and new nu 3. The model setup is not portable to other computing systems or reproducible in other software frameworks. 4. The model setup is not shareable with other users. -These issues lead to a number of problems with the reproducibility and reliability of geodynamic modeling studies, which threaten to undermine the predictive power and usefulness of modeling results. The GWB has been designed to address these challenges, by creating human readable, parameterized, portable, reproducible and shareable geodynamic model setups. As a side benefit, the GWB comes with its own programs to visualize the constructed model through applications like Paraview, and creating the models requires no programming knowledge. Therefore, the GWB can be easily used to visualize tectonic and geodynamic settings for publications, teaching and public outreach. +These issues lead to a number of problems with the reproducibility and reliability of modeling studies, which threaten to undermine the predictive power and usefulness of modeling results. The GWB has been designed to address these challenges, by creating human readable, parameterized, portable, reproducible and shareable geodynamic model setups. As a side benefit, the GWB comes with its own programs to visualize the constructed model through applications like Paraview. Creating the models requires no programming knowledge. Therefore, the GWB can be easily used to visualize tectonic and geodynamic settings for publications, teaching and public outreach. -Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019,@Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019,@Schaaf_Varga_2021), which is designed for structural modelling. The GWB was designed to be a more general initial conditions creator, using the methods shown below. +The GWB has been already been used in several published studies: TODO. Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019 and @Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019 and @Schaaf_Varga_2021), which is designed for structural modelling. The GWB was designed to be a more general planetary structure creator, using the methods shown below. # Methods -To address the challenges outlined in the previous section, the Geodynamic World Builder implements a specific code and user design philosophy. +To address the challenges outlined in the previous section, the Geodynamic World Builder implements a specific code and world parameterization principles. -## GWB Code Philosophy -The code philosophy is built around the following points: +## GWB Coding Priniples +The GWB's software architecture is built around the following principles: 1. A single text-based input file 2. Code, language and platform independent - 1. Supports **Linux**, **OSX** and **Windows** - 2. Has official interfaces for **C++**, **C**, **FORTRAN** and **Python** coupling -3. Safe to use in parallel codes + 1. Support for **Linux**, **macOS** and **Windows** + 2. Official interfaces for **C++**, **C**, **FORTRAN** and **Python** +3. Safe parallel execution 4. Readable and extensible (modular) codes 5. Strict version numbering to ensure reproducible results -These principles are implemented in an object-oriented C++ code with the mentioned interfaces. All variable parts of the software are implemented as plugin systems using interface classes that decouple individual modules and allow to easily extend the code with new features. Following these principles is the first step to create a clean, portable, extendable code with reproducible results. In addition, the GWB includes an automated extensive test suite with benchmarks, integration and unit tests with high code coverage, memory checking, automatic code indentation and a spell checker to keep the GWB in a healthy state. +These principles are implemented in an object-oriented C++ code with the mentioned interfaces to other porgramingn languages. All part a user might want to modify are implemented as plugin systems using interface classes that decouple individual modules and allow to easily extend the code with new features. Following these principles is the first step to create a clean, portable, extendable code with reproducible results. In addition, the GWB includes an automated extensive test suite with benchmarks, integration and unit tests with high code coverage, memory checking, automatic code indentation and a spell checker to keep the GWB in a healthy state. -## GWB User Philosophy +## GWB World Parameterization Principles -GWB's user philosophy is built around the idea that a complex model region can be split into individual tectonic features. These tectonic features can be parameterized by defining their location and geometry in terms of points, lines or areas in a map view. For example, a continental plate can be represented as an area on a map, and the GWB user defines this area. A fault is a linear feature on a map, so the user can define the fault trace as a line at the surface. Users can also provide additional information for a feature, such as a spatially variable thickness or dip angle. The GWB then uses these parameters to create the 3D geometry of the feature, defining its volume. Furthermore, users can attach one or many models to those volumes to define additional properties such as thermal or chemical structure. These can be very simple models, such as a uniform temperature distribution, or follow a more complex distribution, such as a half space cooling model, or a McKenzie [@McKenzie_1970] or mass conserving [@billen_Fraters_AGU_2023] slab temperature model. +The GWB's world parameterization principles are built around the idea that a complex model region can be split into individual tectonic features. These tectonic features can be parameterized by defining their location and geometry in terms of points, lines or areas in a map view. For example, a continental plate can be represented as an area on a map, and the GWB user defines this area. A fault is a linear feature on a map, so the user can define the fault trace as a line at the surface. Users can also provide additional information for a feature, such as a spatially variable thickness or dip angle. The GWB then uses these parameters to create the 3D geometry of the feature, defining its volume. Furthermore, users can attach one or many models to those volumes to define additional properties such as thermal or chemical structure. These can be very simple models, such as a uniform temperature distribution, or follow a more complex distribution, such as a half space cooling model, or a McKenzie model [@McKenzie_1970] or mass conserving [@billen_Fraters_AGU_2023] slab temperature model. -All these parameterizations are bundled in a single input file, which is human readable, writeable and editable. The main idea behind this design of the GWB is that users can easily create, modify and visualize complex parameterized initial conditions for their geodynamic or tectonic setting. +All these parameterizations are bundled in a single input file, which is human readable, writeable and editable. The main idea behind this design of the GWB is that users can easily create, modify and visualize complex parameterized geodynamic or tectonic setting. ## Example Below we show an example input file for a Cartesian model with a subducting plate. From f96383bb546bd433e5cfbf30ce12a193d5ff351b Mon Sep 17 00:00:00 2001 From: MFraters Date: Wed, 6 Mar 2024 14:22:27 -0500 Subject: [PATCH 10/19] Add workflow diagram. --- doc/JOSS/1.0/paper.bib | 60 +++++++++++++++++++++++++++++- doc/JOSS/1.0/paper.md | 6 ++- doc/JOSS/1.0/workflow_diagram.png | Bin 0 -> 268473 bytes 3 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 doc/JOSS/1.0/workflow_diagram.png diff --git a/doc/JOSS/1.0/paper.bib b/doc/JOSS/1.0/paper.bib index da9916d65..21f0c65d3 100644 --- a/doc/JOSS/1.0/paper.bib +++ b/doc/JOSS/1.0/paper.bib @@ -140,10 +140,66 @@ @software{sebastien_jourdain_2024 url = {https://doi.org/10.5281/zenodo.10680530} } -@article{billen_Fraters_AGU_2023, +@article{Billen_Fraters_AGU_2023, title={A New Method for Assigning Thermal Structure to 2D and 3D Present-day Geodynamic and Seismological Models of Subduction Zones}, author={Billen, Magali I and Fraters, Menno}, journal={AGU23}, year={2023}, publisher={AGU} -} \ No newline at end of file +} + +@article{vanderWiel_Hinsbergen_etal_2024, + title = {Linking rates of slab sinking to long-term lower mantle flow and mixing}, + journal = {Earth and Planetary Science Letters}, + volume = {625}, + pages = {118471}, + year = {2024}, + issn = {0012-821X}, + doi = {https://doi.org/10.1016/j.epsl.2023.118471}, + url = {https://www.sciencedirect.com/science/article/pii/S0012821X23004843}, + author = {Erik {van der Wiel} and Douwe J.J. {van Hinsbergen} and Cedric Thieulot and Wim Spakman}, + keywords = {Mantle convection, Slab sinking rates, Mantle mixing, Modelling constraints}, +} + +@article{Sandiford_Craig_timothy_2023, + author = {Sandiford, Dan and Craig, Timothy J}, + title = "{Plate bending earthquakes and the strength distribution of the lithosphere}", + journal = {Geophysical Journal International}, + volume = {235}, + number = {1}, + pages = {488-508}, + year = {2023}, + month = {06}, + issn = {0956-540X}, + doi = {10.1093/gji/ggad230}, + url = {https://doi.org/10.1093/gji/ggad230}, + eprint = {https://academic.oup.com/gji/article-pdf/235/1/488/50659012/ggad230.pdf}, +} + +@ARTICLE{Gea_Negredo_etal_2023, + AUTHOR={Gea, Pedro J. and Negredo, Ana M. and Mancilla, Flor de Lis}, + TITLE={The Gibraltar slab dynamics and its influence on past and present-day Alboran domain deformation: Insights from thermo-mechanical numerical modelling}, + JOURNAL={Frontiers in Earth Science}, + VOLUME={11}, + YEAR={2023}, + URL={https://www.frontiersin.org/articles/10.3389/feart.2023.995041}, + DOI={10.3389/feart.2023.995041}, + ISSN={2296-6463}, + ABSTRACT={The origin and tectonic evolution of the Gibraltar Arc system is the result of a complex geodynamic evolution involving the convergence of the Eurasian and African plates and the dynamic impact of the Gibraltar slab. Although geologic and geophysical data collected in the last few years have increased our knowledge of the Gibraltar Arc region, it is still unclear which are the mechanical links between the Gibraltar slab and the past deformation of the overriding Alboran lithosphere, as well as to which degree this subduction system is presently active. In this study, we use 2D numerical modelling to investigate the impact of the Gibraltar slab dynamics on the deformation of the overriding Alboran lithosphere. Our model simulates a WE generic vertical section at an approximate latitude of 36°N and considers an initial setup at about Burdigalian times (∼20 Ma), when the subduction front position is relatively well constrained by recent tectonic reconstructions. Our modelling shows a switch in the overriding plate (OP) stress state from extensional stresses during the slab rollback to compressional stresses near the trench when the rollback velocity decreases, caused by the change in slab-induced mantle flow. We also find that much of the crustal and lithospheric deformation occur during fast slab rollback and OP extension in the first 10 Myr of evolution, while after that only moderate deformation associated with subduction is predicted. Finally, we find that despite the subduction rollback ceases, the ongoing motion of the deeper portion of the slab induces a mantle flow that causes some amount of west-directed basal drag of the Alboran lithosphere. This basal drag generates interplate compresional stresses compatible with the distribution of intermediate-depth earthquakes in western Alboran.} +} + +@article{Saxena_Dannberg_etal_2023, + author = {Saxena, Arushi and Dannberg, Juliane and Gassmöller, Rene and Fraters, Menno and Heister, Timo and Styron, Richard}, + title = {High-Resolution Mantle Flow Models Reveal Importance of Plate Boundary Geometry and Slab Pull Forces on Generating Tectonic Plate Motions}, + journal = {Journal of Geophysical Research: Solid Earth}, + volume = {128}, + number = {8}, + pages = {e2022JB025877}, + keywords = {global mantle flow models, plate driving forces, plate tectonics}, + doi = {https://doi.org/10.1029/2022JB025877}, + url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2022JB025877}, + eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2022JB025877}, + note = {e2022JB025877 2022JB025877}, + abstract = {Abstract Mantle convection models based on geophysical constraints have provided us with a basic understanding of the forces driving and resisting plate motions on Earth. However, existing studies computing the balance of underlying forces are contradicting, and the impact of plate boundary geometry on surface deformation remains unknown. We address these issues by developing global instantaneous 3-D mantle convection models with a heterogeneous density and viscosity distribution and weak plate boundaries prescribed using different geometries. We find that the plate boundary geometry of the Global Earthquake Model (GEM, Pagani et al., 2018, https://doi.org/10.1177/8755293020931866), featuring open plate boundaries with discrete lithospheric-depth weak zones in the oceans and distributed crustal faults within continents, achieves the best fit to the observed GPS data with a directional correlation of 95.1\% and a global point-wise velocity residual of 1.87 cm/year. A good fit also requires plate boundaries being 3 to 4 orders of magnitude weaker than the surrounding lithosphere and low asthenospheric viscosities between 5 × 1017 and 5 × 1018 Pa s. Models without asthenospheric and lower mantle heterogeneities retain on average 30\% and 70\% of the plate speeds, respectively. Our results show that Earth's plate boundaries are not uniform and better described by more discrete plate boundaries within the oceans and distributed faults within continents. Furthermore, they emphasize the impact of plate boundary geometry on the direction and speed of plate motions and reaffirm the importance of slab pull in the uppermost mantle as a major plate driving force.}, + year = {2023} +} diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 9cbb7d1a6..1cfbdc30a 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -70,7 +70,9 @@ The increased availability of computational resources, infrastructure and new nu These issues lead to a number of problems with the reproducibility and reliability of modeling studies, which threaten to undermine the predictive power and usefulness of modeling results. The GWB has been designed to address these challenges, by creating human readable, parameterized, portable, reproducible and shareable geodynamic model setups. As a side benefit, the GWB comes with its own programs to visualize the constructed model through applications like Paraview. Creating the models requires no programming knowledge. Therefore, the GWB can be easily used to visualize tectonic and geodynamic settings for publications, teaching and public outreach. -The GWB has been already been used in several published studies: TODO. Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019 and @Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019 and @Schaaf_Varga_2021), which is designed for structural modelling. The GWB was designed to be a more general planetary structure creator, using the methods shown below. +![A worksflow diagram for how to go from a world builder file to visualing the model. Note that the input files for the specific programs themselves are omitted.](workflow_diagram.png) + +The GWB has been already been used in several published studies, examples include @Saxena_Dannberg_etal_2023, @Gea_Negredo_etal_2023, @Sandiford_Craig_timothy_2023 and @vanderWiel_Hinsbergen_etal_2024. Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019 and @Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019 and @Schaaf_Varga_2021), which is designed for structural modelling. The GWB was designed to be a more general planetary structure creator, using the methods shown below. # Methods @@ -91,7 +93,7 @@ These principles are implemented in an object-oriented C++ code with the mention ## GWB World Parameterization Principles -The GWB's world parameterization principles are built around the idea that a complex model region can be split into individual tectonic features. These tectonic features can be parameterized by defining their location and geometry in terms of points, lines or areas in a map view. For example, a continental plate can be represented as an area on a map, and the GWB user defines this area. A fault is a linear feature on a map, so the user can define the fault trace as a line at the surface. Users can also provide additional information for a feature, such as a spatially variable thickness or dip angle. The GWB then uses these parameters to create the 3D geometry of the feature, defining its volume. Furthermore, users can attach one or many models to those volumes to define additional properties such as thermal or chemical structure. These can be very simple models, such as a uniform temperature distribution, or follow a more complex distribution, such as a half space cooling model, or a McKenzie model [@McKenzie_1970] or mass conserving [@billen_Fraters_AGU_2023] slab temperature model. +The GWB's world parameterization principles are built around the idea that a complex model region can be split into individual tectonic features. These tectonic features can be parameterized by defining their location and geometry in terms of points, lines or areas in a map view. For example, a continental plate can be represented as an area on a map, and the GWB user defines this area. A fault is a linear feature on a map, so the user can define the fault trace as a line at the surface. Users can also provide additional information for a feature, such as a spatially variable thickness or dip angle. The GWB then uses these parameters to create the 3D geometry of the feature, defining its volume. Furthermore, users can attach one or many models to those volumes to define additional properties such as thermal or chemical structure. These can be very simple models, such as a uniform temperature distribution, or follow a more complex distribution, such as a half space cooling model, or a McKenzie model [@McKenzie_1970] or mass conserving [@Billen_Fraters_AGU_2023] slab temperature model. All these parameterizations are bundled in a single input file, which is human readable, writeable and editable. The main idea behind this design of the GWB is that users can easily create, modify and visualize complex parameterized geodynamic or tectonic setting. diff --git a/doc/JOSS/1.0/workflow_diagram.png b/doc/JOSS/1.0/workflow_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..7762c0e26b19dc8529ce815997895c1c97eff87f GIT binary patch literal 268473 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 wybTZ#)ZbKgHZ=)>p#4?=Mqd;kCd literal 0 HcmV?d00001 From 63f65088c91447a946a0efad9f9241a1b8b95cb6 Mon Sep 17 00:00:00 2001 From: MFraters Date: Wed, 6 Mar 2024 14:25:01 -0500 Subject: [PATCH 11/19] Add OCE to typos ignore list --- .typos.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/.typos.toml b/.typos.toml index 7bae93700..5925d13c5 100755 --- a/.typos.toml +++ b/.typos.toml @@ -13,6 +13,7 @@ ba = "ba" # Don't correct some other abbreviations FOT = "FOT" +OCE = "OCE" GWB = "GWB" NWO = "NWO" SEH = "SEH" From 70a9562ed261755b48774970e99b67595c824462 Mon Sep 17 00:00:00 2001 From: MFraters Date: Wed, 6 Mar 2024 15:53:27 -0500 Subject: [PATCH 12/19] Improve figure 2 title text. --- doc/JOSS/1.0/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 1cfbdc30a..6d95e7738 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -118,7 +118,7 @@ Below we show an example input file for a Cartesian model with a subducting plat Combining several of these features and changing the `coordinate system` to `spherical` can create the model setup shown in Figure 1: A plate subducting beneath an overriding ocean and a rising plume impinging on the base of the lithosphere between a mid-ocean ridge and a passive margin. The resulting input file is just 85 lines of GWB input formatted in the same way as in the example input file above. -![A schematic example of what can be built with 85 lines of a GWB input file formatted in the same way as in the example input file shown above. \label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_19.png) +![A schematic example of what can be built with 85 lines of a GWB input file formatted in the same way as in the example input file shown above. This includes a slab with variable dip and thickness along depth and trench subducting under an oceanic plate on the right side of the ridge, a passive continental margin, with layers with variable thickness with it, on the left and a mantle plume in the center. The temperature of the continent is linear, the oceanic plates are defined by a half-space cooling model, the slab temperature is defined by a mass conversing temperature model and the plume adds heat based on a Gaussian around the center.\label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_19.png) # Acknowledgements From cad339c036c4b37d0abec1da4d0c5abd651c6456 Mon Sep 17 00:00:00 2001 From: danieldouglas92 Date: Wed, 6 Mar 2024 21:36:02 -0500 Subject: [PATCH 13/19] Daniels Comments --- doc/JOSS/1.0/paper.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 6d95e7738..9d48cb3b0 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -55,28 +55,28 @@ bibliography: paper.bib # Summary -Many Earth science applications require the discretization, parametrization and/or visualization of complex geological features in a 3D geometry in global or regional settings. A prime example are geodynamic models, which have to make assumptions about the Earth's thermal and chemical structure and the geometry of different features such as plates, subducted slabs, or mantle plumes. This structure is needed in instantaneous models, as model initial conditions, or to test different hypotheses and compare model predictions to observations. Other example applications are the creation of an Earth velocity structure for seismic forward modeling and hypothesis-testing, or the visualization of tectonic features in structural geology. +Many Earth science applications require the discretization, parameterization and/or visualization of complex geological features in a 3D geometry in global or regional settings. A prime example are geodynamic models, which have to make assumptions about the Earth's thermal and chemical structure and the geometry of different features such as plates, subducted slabs, or mantle plumes. This structure is needed in instantaneous models, as model initial conditions, or to test different hypotheses and compare model predictions to observations. Other example applications are the creation of an Earth velocity structure for seismic forward modeling and hypothesis-testing, or the visualization of tectonic features in structural geology. The Geodynamic World Builder (GWB) has been designed to make the creation of complex parameterized models significantly easier. It can also be used to design simple synthetic models and it supports the use of several types of datasets to set up models. Besides setting up initial conditions for geodynamic models, the GWB can also be used to make detailed 3D visualizations of geologic, tectonic and geodynamic settings. # Statement of need -The increased availability of computational resources, infrastructure and new numerical methods over the last decades has allowed for the creation of complex numerical models that closely resemble specific location on the Earth using a 3D geometry and a high resolution. However, the related increase in complexity has also made setting up these more detailed regional or global models exceedingly difficult, especially in three dimensions. Furthermore, investigating the model dynamics often requires testing different scenarios involving variations in model geometry, thermal or chemical structure, or other model assumptions. This highlights the need for changing the model setup in a way that is easy, efficient, and robust. Although successful studies have been published, such model setups often have one or many of the following disadvantages: +The increased availability of computational resources, infrastructure and new numerical methods over the last decades has allowed for the creation of complex numerical models that closely resemble specific locations on the Earth using a 3D geometry and a high resolution. However, the related increase in complexity has also made setting up these more detailed regional or global models exceedingly difficult, especially in three dimensions. Furthermore, investigating the model dynamics often requires testing different scenarios involving variations in model geometry, thermal or chemical structure, or other model assumptions. This highlights the need for changing the model setup in a way that is easy, efficient, and robust. Although successful studies have been published, such model setups often have one or many of the following disadvantages: 1. The configuration is not human-readable. 2. The software is not easily modifiable and extendable. 3. The model setup is not portable to other computing systems or reproducible in other software frameworks. 4. The model setup is not shareable with other users. -These issues lead to a number of problems with the reproducibility and reliability of modeling studies, which threaten to undermine the predictive power and usefulness of modeling results. The GWB has been designed to address these challenges, by creating human readable, parameterized, portable, reproducible and shareable geodynamic model setups. As a side benefit, the GWB comes with its own programs to visualize the constructed model through applications like Paraview. Creating the models requires no programming knowledge. Therefore, the GWB can be easily used to visualize tectonic and geodynamic settings for publications, teaching and public outreach. +These issues lead to a number of problems with the reproducibility and reliability of modeling studies, which threaten to undermine the predictive power and usefulness of modeling results. The GWB has been designed to address these challenges, by creating human readable, parameterized, portable, reproducible, and shareable geodynamic model setups. Critically, the GWB comes with its own programs to visualize the constructed model through applications like Paraview. Creating the models requires no programming knowledge. Therefore, the GWB can be easily used to visualize tectonic and geodynamic settings for publications, teaching, and public outreach. -![A worksflow diagram for how to go from a world builder file to visualing the model. Note that the input files for the specific programs themselves are omitted.](workflow_diagram.png) +![A workflow diagram for how to go from a world builder file to visualizing the model. Note that the input files for the specific programs themselves are omitted.](workflow_diagram.png) -The GWB has been already been used in several published studies, examples include @Saxena_Dannberg_etal_2023, @Gea_Negredo_etal_2023, @Sandiford_Craig_timothy_2023 and @vanderWiel_Hinsbergen_etal_2024. Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019 and @Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019 and @Schaaf_Varga_2021), which is designed for structural modelling. The GWB was designed to be a more general planetary structure creator, using the methods shown below. +The GWB has been already been used in several published studies, examples include @Saxena_Dannberg_etal_2023, @Gea_Negredo_etal_2023, @Sandiford_Craig_timothy_2023 and @vanderWiel_Hinsbergen_etal_2024. Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019 and @Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019 and @Schaaf_Varga_2021), which is designed for structural modeling. The GWB was designed to be a more general planetary structure creator, using the methods shown below. # Methods -To address the challenges outlined in the previous section, the Geodynamic World Builder implements a specific code and world parameterization principles. +To address the challenges outlined in the previous section, the Geodynamic World Builder implements specific code and world parameterization principles. ## GWB Coding Priniples The GWB's software architecture is built around the following principles: @@ -89,13 +89,13 @@ The GWB's software architecture is built around the following principles: 4. Readable and extensible (modular) codes 5. Strict version numbering to ensure reproducible results -These principles are implemented in an object-oriented C++ code with the mentioned interfaces to other porgramingn languages. All part a user might want to modify are implemented as plugin systems using interface classes that decouple individual modules and allow to easily extend the code with new features. Following these principles is the first step to create a clean, portable, extendable code with reproducible results. In addition, the GWB includes an automated extensive test suite with benchmarks, integration and unit tests with high code coverage, memory checking, automatic code indentation and a spell checker to keep the GWB in a healthy state. +These principles are implemented in an object-oriented C++ code with the aforementioned interfaces to other programming languages. All parts a user might want to modify are implemented as plugin systems using interface classes that decouple individual modules and allow the user to easily extend the code with new features. Following these principles is the first step to create a clean, portable, extendable code with reproducible results. In addition, the GWB includes an automated extensive test suite with benchmarks, integration, and unit tests with high code coverage, memory checking, automatic code indentation, and a spell checker to keep the GWB in a healthy state. ## GWB World Parameterization Principles The GWB's world parameterization principles are built around the idea that a complex model region can be split into individual tectonic features. These tectonic features can be parameterized by defining their location and geometry in terms of points, lines or areas in a map view. For example, a continental plate can be represented as an area on a map, and the GWB user defines this area. A fault is a linear feature on a map, so the user can define the fault trace as a line at the surface. Users can also provide additional information for a feature, such as a spatially variable thickness or dip angle. The GWB then uses these parameters to create the 3D geometry of the feature, defining its volume. Furthermore, users can attach one or many models to those volumes to define additional properties such as thermal or chemical structure. These can be very simple models, such as a uniform temperature distribution, or follow a more complex distribution, such as a half space cooling model, or a McKenzie model [@McKenzie_1970] or mass conserving [@Billen_Fraters_AGU_2023] slab temperature model. -All these parameterizations are bundled in a single input file, which is human readable, writeable and editable. The main idea behind this design of the GWB is that users can easily create, modify and visualize complex parameterized geodynamic or tectonic setting. +All these parameterizations are bundled in a single input file, which is human readable, writeable, and editable. The main idea behind this design of the GWB is that users can easily create, modify and visualize complex parameterized geodynamic or tectonic settings. ## Example Below we show an example input file for a Cartesian model with a subducting plate. @@ -116,9 +116,9 @@ Below we show an example input file for a Cartesian model with a subducting plat } ``` -Combining several of these features and changing the `coordinate system` to `spherical` can create the model setup shown in Figure 1: A plate subducting beneath an overriding ocean and a rising plume impinging on the base of the lithosphere between a mid-ocean ridge and a passive margin. The resulting input file is just 85 lines of GWB input formatted in the same way as in the example input file above. +Combining several of these features and changing the `coordinate system` to `spherical` can create the model setup shown in Figure 2: A plate subducting beneath an oceanic plate and a rising plume impinging on the base of the lithosphere between a mid-ocean ridge and a passive margin. The resulting input file is just 85 lines of GWB input formatted in the same way as in the example input file above. -![A schematic example of what can be built with 85 lines of a GWB input file formatted in the same way as in the example input file shown above. This includes a slab with variable dip and thickness along depth and trench subducting under an oceanic plate on the right side of the ridge, a passive continental margin, with layers with variable thickness with it, on the left and a mantle plume in the center. The temperature of the continent is linear, the oceanic plates are defined by a half-space cooling model, the slab temperature is defined by a mass conversing temperature model and the plume adds heat based on a Gaussian around the center.\label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_19.png) +![A schematic example of what can be built with 85 lines of a GWB input file formatted in the same way as in the example input file shown above. This includes a slab with variable dip and thickness along strike and down dip subducting under an oceanic plate on the right side of the ridge, as well as a passive continental margin with layers of variable on the left side of the ridge, and a mantle plume beneath the ridge. The temperature of the continent is linear, the oceanic plates are defined by a half-space cooling model, the slab temperature is defined by a mass conversing temperature model and the plume adds heat based on a Gaussian around the center.\label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_19.png) # Acknowledgements From 8e99d3746da3992cb452e0a1e0624274aec61edb Mon Sep 17 00:00:00 2001 From: MFraters Date: Fri, 8 Mar 2024 13:34:24 -0500 Subject: [PATCH 14/19] Adress comments Rene --- doc/JOSS/1.0/paper.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 9d48cb3b0..32d40af90 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -55,13 +55,13 @@ bibliography: paper.bib # Summary -Many Earth science applications require the discretization, parameterization and/or visualization of complex geological features in a 3D geometry in global or regional settings. A prime example are geodynamic models, which have to make assumptions about the Earth's thermal and chemical structure and the geometry of different features such as plates, subducted slabs, or mantle plumes. This structure is needed in instantaneous models, as model initial conditions, or to test different hypotheses and compare model predictions to observations. Other example applications are the creation of an Earth velocity structure for seismic forward modeling and hypothesis-testing, or the visualization of tectonic features in structural geology. +Many Earth science applications require the discretization, parameterization and/or visualization of complex geological features in a 3D geometry in global or regional settings. A prime example are geodynamic models, which have to make assumptions about the Earth's thermal and chemical structure and the geometry of different features such as plates, subducted slabs, or mantle plumes. This structure is needed in instantaneous models, as model initial conditions, or to test different hypotheses and compare model predictions to observations. Other examples are the creation of an Earth velocity structure for seismic forward modeling and hypothesis-testing, or the visualization of tectonic features in structural geology. -The Geodynamic World Builder (GWB) has been designed to make the creation of complex parameterized models significantly easier. It can also be used to design simple synthetic models and it supports the use of several types of datasets to set up models. Besides setting up initial conditions for geodynamic models, the GWB can also be used to make detailed 3D visualizations of geologic, tectonic and geodynamic settings. +The Geodynamic World Builder (GWB) has been designed to make the creation of complex parameterized models significantly easier. It can also be used to design simple synthetic models and it supports the use of several types of datasets to set up models. Besides setting up initial conditions for geodynamic models, the GWB can also visualize complex 3D geologic, tectonic and geodynamic settings. # Statement of need -The increased availability of computational resources, infrastructure and new numerical methods over the last decades has allowed for the creation of complex numerical models that closely resemble specific locations on the Earth using a 3D geometry and a high resolution. However, the related increase in complexity has also made setting up these more detailed regional or global models exceedingly difficult, especially in three dimensions. Furthermore, investigating the model dynamics often requires testing different scenarios involving variations in model geometry, thermal or chemical structure, or other model assumptions. This highlights the need for changing the model setup in a way that is easy, efficient, and robust. Although successful studies have been published, such model setups often have one or many of the following disadvantages: +The increased availability of computational resources, infrastructure and new numerical methods over the last decades has allowed for the creation of complex numerical models that closely resemble specific locations on the Earth using a 3D geometry and a high resolution. However, the related increase in complexity has also made setting up these more detailed regional or global models exceedingly difficult, especially in three dimensions. Furthermore, investigating the model dynamics often requires testing different scenarios involving variations in model geometry, thermal or chemical structure, or other model assumptions. This highlights the need for a way to change the model setup that is easy, efficient, and robust. Although successful studies have been published, such model setups often have one or many of the following disadvantages: 1. The configuration is not human-readable. 2. The software is not easily modifiable and extendable. @@ -70,35 +70,35 @@ The increased availability of computational resources, infrastructure and new nu These issues lead to a number of problems with the reproducibility and reliability of modeling studies, which threaten to undermine the predictive power and usefulness of modeling results. The GWB has been designed to address these challenges, by creating human readable, parameterized, portable, reproducible, and shareable geodynamic model setups. Critically, the GWB comes with its own programs to visualize the constructed model through applications like Paraview. Creating the models requires no programming knowledge. Therefore, the GWB can be easily used to visualize tectonic and geodynamic settings for publications, teaching, and public outreach. -![A workflow diagram for how to go from a world builder file to visualizing the model. Note that the input files for the specific programs themselves are omitted.](workflow_diagram.png) +![A workflow diagram for how a world builder file can be used to create and visualize a geodynamic model. Note that the input files for the intermediate programs are omitted.](workflow_diagram.png) -The GWB has been already been used in several published studies, examples include @Saxena_Dannberg_etal_2023, @Gea_Negredo_etal_2023, @Sandiford_Craig_timothy_2023 and @vanderWiel_Hinsbergen_etal_2024. Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019 and @Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019 and @Schaaf_Varga_2021), which is designed for structural modeling. The GWB was designed to be a more general planetary structure creator, using the methods shown below. +The GWB has been used in several published studies to model global fault patterns, plume, and plate dynamics (@Saxena_Dannberg_etal_2023, @Gea_Negredo_etal_2023, @Sandiford_Craig_timothy_2023 and @vanderWiel_Hinsbergen_etal_2024). Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019 and @Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019 and @Schaaf_Varga_2021), which is designed for structural modeling. The GWB was designed to be a more general planetary structure creator, using the methods shown below. # Methods To address the challenges outlined in the previous section, the Geodynamic World Builder implements specific code and world parameterization principles. -## GWB Coding Priniples +## GWB Code Principles The GWB's software architecture is built around the following principles: 1. A single text-based input file -2. Code, language and platform independent +2. Code, language and platform independence 1. Support for **Linux**, **macOS** and **Windows** 2. Official interfaces for **C++**, **C**, **FORTRAN** and **Python** 3. Safe parallel execution -4. Readable and extensible (modular) codes +4. Readable and extensible software modules 5. Strict version numbering to ensure reproducible results -These principles are implemented in an object-oriented C++ code with the aforementioned interfaces to other programming languages. All parts a user might want to modify are implemented as plugin systems using interface classes that decouple individual modules and allow the user to easily extend the code with new features. Following these principles is the first step to create a clean, portable, extendable code with reproducible results. In addition, the GWB includes an automated extensive test suite with benchmarks, integration, and unit tests with high code coverage, memory checking, automatic code indentation, and a spell checker to keep the GWB in a healthy state. +These principles are implemented in an object-oriented C++ code with the aforementioned interfaces to other programming languages. All parts a user might want to modify are implemented as plugin systems using interface classes that decouple individual modules and allow the user to easily extend the code with new features. In addition, the GWB includes an automated extensive test suite with benchmarks, integration, and unit tests with high code coverage, memory checking, automatic code indentation, and a spell checker to keep the GWB in a healthy state. ## GWB World Parameterization Principles The GWB's world parameterization principles are built around the idea that a complex model region can be split into individual tectonic features. These tectonic features can be parameterized by defining their location and geometry in terms of points, lines or areas in a map view. For example, a continental plate can be represented as an area on a map, and the GWB user defines this area. A fault is a linear feature on a map, so the user can define the fault trace as a line at the surface. Users can also provide additional information for a feature, such as a spatially variable thickness or dip angle. The GWB then uses these parameters to create the 3D geometry of the feature, defining its volume. Furthermore, users can attach one or many models to those volumes to define additional properties such as thermal or chemical structure. These can be very simple models, such as a uniform temperature distribution, or follow a more complex distribution, such as a half space cooling model, or a McKenzie model [@McKenzie_1970] or mass conserving [@Billen_Fraters_AGU_2023] slab temperature model. -All these parameterizations are bundled in a single input file, which is human readable, writeable, and editable. The main idea behind this design of the GWB is that users can easily create, modify and visualize complex parameterized geodynamic or tectonic settings. +All these tectonic features are bundled in a single input file, which is human readable, writeable, and editable. The main idea behind this design of the GWB is that users can easily create, modify and visualize complex parameterized geodynamic or tectonic settings. ## Example -Below we show an example input file for a Cartesian model with a subducting plate. +Below we show an example input file for a Cartesian model that contains a single feature, namely a subducting plate. ```json { @@ -123,7 +123,7 @@ Combining several of these features and changing the `coordinate system` to `sph # Acknowledgements -We would like to acknowledge all other contributors to the project, especially Lorraine Hwang, Becky Fildes and John Naliboff for their advice and support for this project throughout the years. We would also like to acknowledge NSF for their funding and support through grants EAR-1620618 (CPO), OCE-1948902 (Cascadia), EAR-0949446 (CIG), EAR-1550901 (CIG) and EAR-1925677 (FRES). +We would like to acknowledge all other contributors to the project, especially Lorraine Hwang, Rebecca Fildes and John Naliboff for their advice and support for this project throughout the years. We would also like to acknowledge NSF for their funding and support through grants EAR-1620618, OCE-1948902, EAR-0949446, EAR-1550901, EAR-1925677, and EAR-2149126. # References From 65a87a1297f482274fd1cf28ecca6bdab81f788d Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Fri, 8 Mar 2024 17:15:27 -0700 Subject: [PATCH 15/19] Fix Yijun's affiliation. --- doc/JOSS/1.0/paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 32d40af90..d789a6e0b 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -1,5 +1,5 @@ --- -title: 'The Geodynamic World Builder: A Planetary structure creator for the geosciences' +title: 'The Geodynamic World Builder: A planetary structure creator for the geosciences' tags: - C++ - CPP @@ -48,7 +48,7 @@ affiliations: - name: New Mexico Tech, USA index: 4 - name: University of Oslo, Norway - index: 4 + index: 5 date: 28 February 2023 bibliography: paper.bib --- From eea4f1eddbd09e867225231cec21337096403787 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Fri, 8 Mar 2024 17:46:01 -0700 Subject: [PATCH 16/19] Some edits. Also add myself to the authors. --- doc/JOSS/1.0/paper.md | 55 +++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index d789a6e0b..1b3f170e5 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -38,6 +38,9 @@ authors: - name: Yijun Wang orcid: 0000-0002-7637-3239 affiliation: "5" + - name: Wolfgang Bangerth + orcid: 0000-0003-2311-9402 + affiliation: "6" affiliations: - name: Universiy of Florida, USA index: 1 @@ -49,30 +52,32 @@ affiliations: index: 4 - name: University of Oslo, Norway index: 5 + - name: Colorado State University, USA + index: 6 date: 28 February 2023 bibliography: paper.bib --- # Summary -Many Earth science applications require the discretization, parameterization and/or visualization of complex geological features in a 3D geometry in global or regional settings. A prime example are geodynamic models, which have to make assumptions about the Earth's thermal and chemical structure and the geometry of different features such as plates, subducted slabs, or mantle plumes. This structure is needed in instantaneous models, as model initial conditions, or to test different hypotheses and compare model predictions to observations. Other examples are the creation of an Earth velocity structure for seismic forward modeling and hypothesis-testing, or the visualization of tectonic features in structural geology. +Many Earth science applications require the discretization, parameterization, and/or visualization of complex geological features in a 3D geometry in global or regional settings. A prime example are geodynamic models that have to make assumptions about the Earth's thermal and chemical structure and the geometry of different features such as plates, subducted slabs, or mantle plumes. This structure is needed in instantaneous models, as model initial conditions, or to test different hypotheses and compare model predictions to observations. Other examples are the creation of an Earth velocity structure for seismic forward modeling and hypothesis-testing, or the visualization of tectonic features in structural geology. -The Geodynamic World Builder (GWB) has been designed to make the creation of complex parameterized models significantly easier. It can also be used to design simple synthetic models and it supports the use of several types of datasets to set up models. Besides setting up initial conditions for geodynamic models, the GWB can also visualize complex 3D geologic, tectonic and geodynamic settings. +The Geodynamic World Builder (GWB) has been designed to make the creation of complex parameterized models significantly easier. It can also be used to design simple synthetic models and it supports the use of several types of datasets to set up models. Besides setting up initial conditions for geodynamic models, the GWB can also visualize complex 3D geologic, tectonic, and geodynamic settings. # Statement of need -The increased availability of computational resources, infrastructure and new numerical methods over the last decades has allowed for the creation of complex numerical models that closely resemble specific locations on the Earth using a 3D geometry and a high resolution. However, the related increase in complexity has also made setting up these more detailed regional or global models exceedingly difficult, especially in three dimensions. Furthermore, investigating the model dynamics often requires testing different scenarios involving variations in model geometry, thermal or chemical structure, or other model assumptions. This highlights the need for a way to change the model setup that is easy, efficient, and robust. Although successful studies have been published, such model setups often have one or many of the following disadvantages: +Today's computational resources, infrastructure, and numerical methods allow for the creation of complex numerical models that closely resemble specific locations on the Earth, using 3D geometries and high resolutions. However, the related increase in complexity has also made setting up these more detailed regional or global models exceedingly difficult, especially in three dimensions. Furthermore, investigating the model dynamics often requires testing different scenarios involving variations in model geometry, thermal, or chemical structure, or other model assumptions. Although studies with such complex models have been published, the practical realization of these model setups often have one or many of the following disadvantages: 1. The configuration is not human-readable. 2. The software is not easily modifiable and extendable. 3. The model setup is not portable to other computing systems or reproducible in other software frameworks. 4. The model setup is not shareable with other users. -These issues lead to a number of problems with the reproducibility and reliability of modeling studies, which threaten to undermine the predictive power and usefulness of modeling results. The GWB has been designed to address these challenges, by creating human readable, parameterized, portable, reproducible, and shareable geodynamic model setups. Critically, the GWB comes with its own programs to visualize the constructed model through applications like Paraview. Creating the models requires no programming knowledge. Therefore, the GWB can be easily used to visualize tectonic and geodynamic settings for publications, teaching, and public outreach. +These issues lead to a number of problems with the reproducibility and reliability of modeling studies, which threaten to undermine the predictive power and usefulness of modeling results, and highlighting the need for a way to describe model setups that is easy, efficient, and robust. The GWB has been designed to address these challenges, by creating human readable, parameterized, portable, reproducible, and shareable geodynamic model setups. Critically, the GWB comes with its own programs to visualize the constructed model through applications like Paraview. Creating the models requires no programming knowledge. Therefore, the GWB can be easily used to visualize tectonic and geodynamic settings for publications, teaching, and public outreach. ![A workflow diagram for how a world builder file can be used to create and visualize a geodynamic model. Note that the input files for the intermediate programs are omitted.](workflow_diagram.png) -The GWB has been used in several published studies to model global fault patterns, plume, and plate dynamics (@Saxena_Dannberg_etal_2023, @Gea_Negredo_etal_2023, @Sandiford_Craig_timothy_2023 and @vanderWiel_Hinsbergen_etal_2024). Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019 and @Spang_Baumann_2022), which uses an approach based on vector graphics, Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach, UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002) and GemPy (@Varga_Schaaf_2019 and @Schaaf_Varga_2021), which is designed for structural modeling. The GWB was designed to be a more general planetary structure creator, using the methods shown below. +The GWB has been used in several published studies to model global fault patterns, plume, and plate dynamics (@Saxena_Dannberg_etal_2023, @Gea_Negredo_etal_2023, @Sandiford_Craig_timothy_2023, and @vanderWiel_Hinsbergen_etal_2024). Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019 and @Spang_Baumann_2022), which uses an approach based on vector graphics; Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach; UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002); and GemPy (@Varga_Schaaf_2019 and @Schaaf_Varga_2021), which is designed for structural modeling. The GWB was designed to be a more general planetary structure creator, using the methods shown below. # Methods @@ -81,49 +86,49 @@ To address the challenges outlined in the previous section, the Geodynamic World ## GWB Code Principles The GWB's software architecture is built around the following principles: -1. A single text-based input file -2. Code, language and platform independence - 1. Support for **Linux**, **macOS** and **Windows** - 2. Official interfaces for **C++**, **C**, **FORTRAN** and **Python** -3. Safe parallel execution -4. Readable and extensible software modules -5. Strict version numbering to ensure reproducible results +1. A single text-based input file. +2. Code, language and platform independence: + 1. Support for **Linux**, **macOS** and **Windows**; + 2. Official interfaces for **C++**, **C**, **FORTRAN** and **Python**. +3. Safe parallel execution. +4. Readable and extensible software modules. +5. Strict version numbering to ensure reproducible results. -These principles are implemented in an object-oriented C++ code with the aforementioned interfaces to other programming languages. All parts a user might want to modify are implemented as plugin systems using interface classes that decouple individual modules and allow the user to easily extend the code with new features. In addition, the GWB includes an automated extensive test suite with benchmarks, integration, and unit tests with high code coverage, memory checking, automatic code indentation, and a spell checker to keep the GWB in a healthy state. +These principles are implemented in an object-oriented C++ code with interfaces to other programming languages. All parts a user might want to modify are implemented as plugin systems using interface classes that decouple individual modules and allow the user to easily extend the code with new features. In addition, the GWB includes an extensive automated test suite with benchmarks, integration, and unit tests with high code coverage, memory checking, automatic code indentation, and a spell checker to keep the GWB in a healthy state. ## GWB World Parameterization Principles -The GWB's world parameterization principles are built around the idea that a complex model region can be split into individual tectonic features. These tectonic features can be parameterized by defining their location and geometry in terms of points, lines or areas in a map view. For example, a continental plate can be represented as an area on a map, and the GWB user defines this area. A fault is a linear feature on a map, so the user can define the fault trace as a line at the surface. Users can also provide additional information for a feature, such as a spatially variable thickness or dip angle. The GWB then uses these parameters to create the 3D geometry of the feature, defining its volume. Furthermore, users can attach one or many models to those volumes to define additional properties such as thermal or chemical structure. These can be very simple models, such as a uniform temperature distribution, or follow a more complex distribution, such as a half space cooling model, or a McKenzie model [@McKenzie_1970] or mass conserving [@Billen_Fraters_AGU_2023] slab temperature model. +The GWB's world parameterization principles are built around the idea that a complex model region can be split into individual tectonic features. These tectonic features can be parameterized by defining their location and geometry in terms of points, lines, or areas in a map view. For example, a continental plate can be represented as an area on a map, and the GWB user defines this area. A fault is a linear feature on a map, so the user can define the fault trace as a line at the surface. Users can also provide additional information for a feature, such as a spatially variable thickness or dip angle. The GWB then uses these parameters to create the 3D geometry of the feature, defining its volume. Furthermore, users can attach one or many models to those volumes to define additional properties such as thermal or chemical structure. These can be very simple models, such as a uniform temperature distribution; or follow a more complex distribution, such as a half space cooling model, or a McKenzie model [@McKenzie_1970], or a mass conserving slab temperature model [@Billen_Fraters_AGU_2023]. -All these tectonic features are bundled in a single input file, which is human readable, writeable, and editable. The main idea behind this design of the GWB is that users can easily create, modify and visualize complex parameterized geodynamic or tectonic settings. +All these tectonic features are bundled in a single input file in standard JSON format, which is human readable, writeable, and editable. The main idea behind this design of the GWB is that users can easily create, modify, and visualize complex parameterized geodynamic or tectonic settings. ## Example Below we show an example input file for a Cartesian model that contains a single feature, namely a subducting plate. ```json { - "version": "1.0", - "coordinate system":{"model":"cartesian"}, - "features": + "version" : "1.0", + "coordinate system" : {"model":"cartesian"}, + "features" : [ { - "model":"subducting plate", "name":"Slab", "dip point":[0,0], - "coordinates":[[1500e3,1000e3],[1600e3,350e3],[1500e3,0]], - "segments":[{"length":300e3, "thickness":[100e3], "angle":[0,60]}], - "temperature models":[{"model":"plate model", "plate velocity":0.02}], + "model" : "subducting plate", "name" : "Slab", "dip point" : [0,0], + "coordinates" : [[1500e3,1000e3],[1600e3,350e3],[1500e3,0]], + "segments" : [{"length":300e3, "thickness":[100e3], "angle":[0,60]}], + "temperature models" : [{"model":"plate model", "plate velocity":0.02}], } ] } ``` -Combining several of these features and changing the `coordinate system` to `spherical` can create the model setup shown in Figure 2: A plate subducting beneath an oceanic plate and a rising plume impinging on the base of the lithosphere between a mid-ocean ridge and a passive margin. The resulting input file is just 85 lines of GWB input formatted in the same way as in the example input file above. +Combining several of these features and changing the `coordinate system` to `spherical` can create the model setup shown in Figure 2: A plate subducting beneath an oceanic plate and a rising plume impinging on the base of the lithosphere between a mid-ocean ridge and a passive margin. The resulting input file is just 85 lines of GWB input formatted in the same style as in the example input file above. -![A schematic example of what can be built with 85 lines of a GWB input file formatted in the same way as in the example input file shown above. This includes a slab with variable dip and thickness along strike and down dip subducting under an oceanic plate on the right side of the ridge, as well as a passive continental margin with layers of variable on the left side of the ridge, and a mantle plume beneath the ridge. The temperature of the continent is linear, the oceanic plates are defined by a half-space cooling model, the slab temperature is defined by a mass conversing temperature model and the plume adds heat based on a Gaussian around the center.\label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_19.png) +![A schematic example of what can be built with 85 lines of a GWB input file formatted in the same way as in the example input file shown above. This includes a slab with variable dip and thickness along strike and down dip, subducting under an oceanic plate on the right side of the ridge, as well as a passive continental margin with layers of variable on the left side of the ridge, and a mantle plume beneath the ridge. The temperature of the continent is linear, the oceanic plates are defined by a half-space cooling model, the slab temperature is defined by a mass conserving temperature model and the plume adds heat based on a Gaussian around the center.\label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_19.png) # Acknowledgements -We would like to acknowledge all other contributors to the project, especially Lorraine Hwang, Rebecca Fildes and John Naliboff for their advice and support for this project throughout the years. We would also like to acknowledge NSF for their funding and support through grants EAR-1620618, OCE-1948902, EAR-0949446, EAR-1550901, EAR-1925677, and EAR-2149126. +We would like to acknowledge all other contributors to the project, especially Lorraine Hwang, Rebecca Fildes, and John Naliboff for their advice and support for this project throughout the years. We would also like to acknowledge NSF for their funding and support through grants EAR-1620618, OCE-1948902, EAR-0949446, EAR-1550901, EAR-1925677, and EAR-2149126. # References From 646a2447121eb68ab168125b2e66590a2251e882 Mon Sep 17 00:00:00 2001 From: MFraters Date: Fri, 8 Mar 2024 17:29:56 -0500 Subject: [PATCH 17/19] Adress more of Rene's comments. --- doc/JOSS/1.0/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 1b3f170e5..126d5eed5 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -121,7 +121,7 @@ Below we show an example input file for a Cartesian model that contains a single } ``` -Combining several of these features and changing the `coordinate system` to `spherical` can create the model setup shown in Figure 2: A plate subducting beneath an oceanic plate and a rising plume impinging on the base of the lithosphere between a mid-ocean ridge and a passive margin. The resulting input file is just 85 lines of GWB input formatted in the same style as in the example input file above. +A more complicated example (only requiring 85 lines) features a spherical geometry, a spatially variable subducting plate, continental plate, oceanic plate and plume can be seen in Fig 2. ![A schematic example of what can be built with 85 lines of a GWB input file formatted in the same way as in the example input file shown above. This includes a slab with variable dip and thickness along strike and down dip, subducting under an oceanic plate on the right side of the ridge, as well as a passive continental margin with layers of variable on the left side of the ridge, and a mantle plume beneath the ridge. The temperature of the continent is linear, the oceanic plates are defined by a half-space cooling model, the slab temperature is defined by a mass conserving temperature model and the plume adds heat based on a Gaussian around the center.\label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_19.png) From 96f262ee34b09291c7a6b0e2ca4a5428cc69f928 Mon Sep 17 00:00:00 2001 From: MFraters Date: Sat, 9 Mar 2024 21:19:12 -0500 Subject: [PATCH 18/19] Adress further coments. --- doc/JOSS/1.0/paper.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 126d5eed5..8051cca85 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -26,20 +26,20 @@ authors: - name: Timo Heister orcid: 0000-0002-8137-3903 affiliation: "3" - - name: Juliane Dannberg - orcid: 0000-0003-0357-7115 - affiliation: "1" - name: Haoyuan Li orcid: 0000-0003-0676-9884 affiliation: "2" - name: Daniel Douglas orcid: 0000-0002-7871-018X affiliation: "4" - - name: Yijun Wang - orcid: 0000-0002-7637-3239 - affiliation: "5" + - name: Juliane Dannberg + orcid: 0000-0003-0357-7115 + affiliation: "1" - name: Wolfgang Bangerth orcid: 0000-0003-2311-9402 + affiliation: "5" + - name: Yijun Wang + orcid: 0000-0002-7637-3239 affiliation: "6" affiliations: - name: Universiy of Florida, USA @@ -50,11 +50,11 @@ affiliations: index: 3 - name: New Mexico Tech, USA index: 4 - - name: University of Oslo, Norway - index: 5 - name: Colorado State University, USA + index: 5 + - name: University of Oslo, Norway index: 6 -date: 28 February 2023 +date: 11 March 2024 bibliography: paper.bib --- @@ -121,7 +121,7 @@ Below we show an example input file for a Cartesian model that contains a single } ``` -A more complicated example (only requiring 85 lines) features a spherical geometry, a spatially variable subducting plate, continental plate, oceanic plate and plume can be seen in Fig 2. +A more complicated example (only requiring 85 lines, and can be found [here](https://github.com/GeodynamicWorldBuilder/WorldBuilder/blob/GWB-v1.0.0/doc/sphinx/_static/gwb_input_files/BST_19_spherical_models.wb)) features a spherical geometry, a spatially variable subducting plate, continental plate, oceanic plate and plume can be seen in Fig 2. ![A schematic example of what can be built with 85 lines of a GWB input file formatted in the same way as in the example input file shown above. This includes a slab with variable dip and thickness along strike and down dip, subducting under an oceanic plate on the right side of the ridge, as well as a passive continental margin with layers of variable on the left side of the ridge, and a mantle plume beneath the ridge. The temperature of the continent is linear, the oceanic plates are defined by a half-space cooling model, the slab temperature is defined by a mass conserving temperature model and the plume adds heat based on a Gaussian around the center.\label{fig:example}](../../sphinx/_static/images/user_manual/basic_starter_tutorial/BST_19.png) From 917e21090151f238947a3d02558b23067460921d Mon Sep 17 00:00:00 2001 From: MFraters Date: Mon, 11 Mar 2024 10:24:26 -0400 Subject: [PATCH 19/19] Some small edits. --- doc/JOSS/1.0/paper.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/JOSS/1.0/paper.md b/doc/JOSS/1.0/paper.md index 8051cca85..9f327035b 100644 --- a/doc/JOSS/1.0/paper.md +++ b/doc/JOSS/1.0/paper.md @@ -75,7 +75,7 @@ Today's computational resources, infrastructure, and numerical methods allow for These issues lead to a number of problems with the reproducibility and reliability of modeling studies, which threaten to undermine the predictive power and usefulness of modeling results, and highlighting the need for a way to describe model setups that is easy, efficient, and robust. The GWB has been designed to address these challenges, by creating human readable, parameterized, portable, reproducible, and shareable geodynamic model setups. Critically, the GWB comes with its own programs to visualize the constructed model through applications like Paraview. Creating the models requires no programming knowledge. Therefore, the GWB can be easily used to visualize tectonic and geodynamic settings for publications, teaching, and public outreach. -![A workflow diagram for how a world builder file can be used to create and visualize a geodynamic model. Note that the input files for the intermediate programs are omitted.](workflow_diagram.png) +![A workflow diagram for how a world builder file can be used to create and visualize a geodynamic model.](workflow_diagram.png) The GWB has been used in several published studies to model global fault patterns, plume, and plate dynamics (@Saxena_Dannberg_etal_2023, @Gea_Negredo_etal_2023, @Sandiford_Craig_timothy_2023, and @vanderWiel_Hinsbergen_etal_2024). Other tools to solve this problem have emerged at around the same time as the first GWB release (@Fraters_Thieulot_etal_2019). Examples include GeomIO (@Bauville_Baumann_2019 and @Spang_Baumann_2022), which uses an approach based on vector graphics; Easy (https://easyinit.readthedocs.io/), which uses a more generic function-based approach; UWGeodynamics (@Beucher_Moresi_etal_2019), which is specifically designed for Underworld (@Moresi_Dufour_2002); and GemPy (@Varga_Schaaf_2019 and @Schaaf_Varga_2021), which is designed for structural modeling. The GWB was designed to be a more general planetary structure creator, using the methods shown below. @@ -107,15 +107,15 @@ Below we show an example input file for a Cartesian model that contains a single ```json { - "version" : "1.0", - "coordinate system" : {"model":"cartesian"}, - "features" : + "version": "1.0", + "coordinate system": {"model":"cartesian"}, + "features": [ { - "model" : "subducting plate", "name" : "Slab", "dip point" : [0,0], - "coordinates" : [[1500e3,1000e3],[1600e3,350e3],[1500e3,0]], - "segments" : [{"length":300e3, "thickness":[100e3], "angle":[0,60]}], - "temperature models" : [{"model":"plate model", "plate velocity":0.02}], + "model": "subducting plate", "name": "Slab", "dip point": [0,0], + "coordinates": [[1500e3,1000e3],[1600e3,350e3],[1500e3,0]], + "segments": [{"length":300e3, "thickness": [100e3], "angle": [0,60]}], + "temperature models": [{"model": "plate model", "plate velocity": 0.02}], } ] }