What is the Geodynamic World Builder?

This c++ library (with wrappers for C and Fortran) allows you to easily set up models of intermediate complexity:

{
  "version":"0.2",
  "coordinate system":{"model":"cartesian"},
  "features":
  [
    {"model":"oceanic plate", "name":"Plate A", "max depth":100e3,
       "coordinates":[[-1e3,-1e3],[1000e3,-1e3],[1000e3,2001e3],[-1e3,2001e3]],
       "temperature models":[{"model":"linear", "max depth":100e3}],
       "composition models":[{"model":"uniform", "compositions":[0], "max depth":30e3},
                             {"model":"uniform", "compositions":[1], "min depth":30e3}]},

    {"model":"oceanic plate", "name":"Plate B", "max depth":100e3,
       "coordinates":[[1000e3,-1e3],[2001e3,-1e3],[2001e3,2001e3],[1000e3,2001e3]],
       "temperature models":[{"model":"linear", "max depth":100e3}],
       "composition models":[{"model":"uniform", "compositions":[2], "max depth":30e3},
                             {"model":"uniform", "compositions":[3], "min depth":30e3}]},

    {"model":"mantle layer", "name":"upper mantle", "min depth":100e3, "max depth":660e3,
       "coordinates":[[2001e3,2001e3],[-1e3,2001e3],[-1e3,-1e3],[2001e3,-1e3]],
       "composition models":[{"model":"uniform", "compositions":[4]}]},

    {"model":"mantle layer", "name":"lower mantle", "min depth":660e3, "max depth":1160e3,
       "coordinates":[[2001e3,2001e3],[-1e3,2001e3],[-1e3,-1e3],[2001e3,-1e3]],
       "composition models":[{"model":"uniform", "compositions":[5]}]},

    {"model":"subducting plate", "name":"Slab A",
       "coordinates":[[950e3,-1e3],[950e3,800e3]],
       "dip point":[2000e3,0],
       "segments":[{"length":200e3, "thickness":[100e3], "angle":[0,50]},
                {"length":298e3, "thickness":[100e3], "angle":[50]},
                {"length":200e3, "thickness":[100e3], "angle":[50,0]},
                {"length":100e3, "thickness":[100e3], "angle":[0]}],
       "temperature models":[{"model":"plate model", "density":3300, "plate velocity":0.02 }],
       "composition models":[{"model":"uniform", "compositions":[0], "max distance slab top":30e3},
                             {"model":"uniform", "compositions":[1], "min distance slab top":30e3}]},

    {"model":"subducting plate", "name":"Slab B",
       "coordinates":[[1050e3,1000e3],[1050e3,2001e3]],
       "dip point":[-2000e3,0],
       "segments":[{"length":200e3, "thickness":[100e3], "angle":[0,80]},
                   {"length":298e3, "thickness":[100e3], "angle":[80]},
                   {"length":200e3, "thickness":[100e3], "angle":[80,0]},
                   {"length":100e3, "thickness":[100e3], "angle":[0]}],
       "temperature models":[{"model":"plate model", "density":3300, "plate velocity":0.01 }],
       "composition models":[{"model":"uniform", "compositions":[2], "max distance slab top":30e3},
                             {"model":"uniform", "compositions":[3], "min distance slab top":30e3}]}
  ]
}

How to install the World Builder?

The Geodynamic World Builder can be installed on many different systems and coupled with programs written in many different programming languages. Linux, OSX, and Windows are offically supported operating systems. The World Builder itself is written in C++, but has wrappers for C and fortran. A command line application is also included. Through the C wrapper it can be called from nearly any other langugage like Python and Matlab. Futhermore a visualzation tool is included. The installation process of each use case is described in the manual. If you can't find install instructions for operating system or find mistakes, please create an issue on github or create a pull request with the solution.

Posts

subscribe via RSS