Skip to main navigation Skip to main content Skip to page footer

Recap: Geodynamic World Builder Hackathon II 2026

Hands-on collaboration, learning, and development in geodynamics

The project

In March 2026, 14 early-career researchers from three Geo.X institutions—joined by guests from AiP and the US—gathered in Groß Kreutz (Brandenburg) for an in-person, five-day hackathon. The goal: enhance the Geodynamic World Builder (GWB), explore geodynamic modeling challenges, and foster cross-disciplinary collaboration.

What We Did

Day 1 kicked off with tool introductions, an overview of the GWB, and project planning sessions. Days 2–5 followed a productive rhythm: Morning check-ins, Focused hacking sessions, Spontaneous brainstorming and technical discussions and of course, communal cooking, shared meals, and time to reflect (and occasionally just have fun ;))

Explore the Projects

A range of ideas and improvements were tackled during the hackathon, see below. In general, you can follow all ongoing work and contributions via the GWB GitHub issues.

Acknowledgements

This hackathon was made possible through an ECS Community Grant awarded to Michael Pons. 

 

Projects worked on

Added the four mantle plumes beneath the ECRiS regions and wrote the documentation of the cookbook

This hackathon project turned the regional concept into a reproducible WorldBuilder cookbook: continental and oceanic domains, mountain belts, ECRiS volcanic provinces, a stagnating slab, and four mantle plumes were combined in one three-dimensional setup. The resulting model is intended as a test bed for the Big Mantle Wedge hypothesis and gives future users a documented starting point for experiments on European intraplate volcanism. The cookbook contribution is recorded in WorldBuilder PR #911.

(Enrico Marzotto, Menno Fraters, Michael Pons)

This work extends the original GeoJSON. It reconstructs plate tectonics at a given time, derives additional geodynamic quantities, and produces ready-to-use World Builder models for both global and regional setups.

New features:
- Generation of seafloor age and spreading rate grids from plate reconstructions 
- Trench enrichment with slab dip (based on @brmather’s Slab-Dip), thickness, azimuth, velocities, and ridge distance 
- Conversion of trenches into subducting slab features with thermal and kinematic parameterization 
- Continental merging and variable lithospheric thickness, including passive margins 
- Addition of background structures (ambient mantle, oceanic lithosphere, optional LLSVP) 
- Velocity-based correction to avoid non-physical trench ages 
- Regional model extraction via clipping and coordinate adjustment 
- Improved GeoJSON → GWB conversion 

https://github.com/GeodynamicWorldBuilder/WorldBuilder/pull/902

(Michael Pons, Menno Fraters)

We aim to build a GUI with which we can create .wb files, based of the generated json schema.
This would create an intuitive and extensive way to generate initial conditions without having to type out the json by hand, which can be a non trivial task for very large models.

The core of the project consists of three parts. The first is a stable pointer arbitrarily growable tree, based on stable index swap and pop vector. This allows us to grow arbitrary tree sizes, maintain a stable user-side interface to the tree which supports deletion at arbitrary indices. The second part is a rapid json parser which specializes in parsing large files (up to several GB). It relies on a large linear virtual memory block that maps the whole file and the kernel pager to phase in and out memory as required.

(Tom van der Wielen)

Added perlin noise models for all features for temperature, composition and topography (Figure 8). It is used to introduce realistic, multi-scale variations in both fields. It can be easily added to existing fields in a feature through the .wb input file.

The hackathon produced both the underlying noise models and examples showing how to apply them. PR #906 introduced Perlin noise for temperature and composition, PR #922 extends the mechanism to topography, and PR #921 adds a cookbook. Together, these changes enable controlled heterogeneity without requiring users to define every perturbation manually.

(Tilman May)

During this Hackaton I have achieved to tasks : 

Task 1: I have tested the new coupling between GWB and CHIC the geodynamics code of Freïe University, in this test I set a initial condition for subduction setup from GWB and run it and visualize it with CHIC.

Task 2:  I have developed another approach for the spline interconnection method (NURBS) for tracking the subducting slab at certain depth.

Points(apart from the points on edges) are allocated with random gaps between them on the x-axis for each y-axis which denotes depth levels. Then each two points find another two points on a different depth layer to connect and form a slab. This process has been done for all the available points and create a smooth continuous structures connected and filed with slabs. This would be the first step of this project.

Advancing from this, the next step would be fixing the four corner points and randomizing the edges points between them. After the randomization of these edges points, each layer points can be represented as a splines and the same algorithm of slabs can be used to filled the connected points. But the current algorithm works for equal number of points in each layer which can be a limitation. 
Nonetheless, for equal number of points in each layer after filling the gaps, the remaining task would be to implement NURBS surfaces instead of this slabs to add the feature of curvature of surfaces.
Further testing would be to check 3D planes with this format. 

(Sushil Thounaojam, Menno Fraters)

In this setup, we define a three-dimensional model domain with dimensions of 500 km in the x-direction, 2000 km in the y-direction, and 200 km in the vertical (z) direction. Within this domain, three major tectonic regions are prescribed: Domain 1 (blue), representing undeformed lithosphere; Domain 2 (green), representing a mountain belt; and Domain 3 (orogen), representing the thickened orogenic domain (Figure 1).

Domains 1 and 2 are initialized with a reference lithospheric structure typical of stable continental regions, consisting of an upper crust of 25 km, a lower crust of 15 km, and a mantle lithosphere of 80 km, corresponding to a lithosphere–asthenosphere boundary (LAB) at ~120 km depth.

In contrast, the mountain domain is characterized by a thickened lithosphere. The upper crust increases to 35 km, while the lower crust gradually thickens to a maximum of 60 km toward the center of the orogen. The mantle lithosphere is also thickened, with the LAB deepening to ~155 km. This configuration represents a fully developed orogenic root.

An initial surface topography of 4 km is imposed over the mountain domain to reflect elevated orogenic relief.

This configuration was packaged as a documented cookbook in WorldBuilder PR #923. By providing a layered crust-mantle structure, predefined lithospheric and asthenospheric domains, figures, and reproducible inputs, it offers a starting point for studies of orogenic roots and lithospheric inheritance.

(Kai Li, Menno Fraters, and Michael Pons)

Implemented two options for initial textures on particle. The first one reads the initial texture from an ASCII file, in the format of the particle CPO output from ASPECT model, with headers for olivine only (id mineral_0_volume_fraction mineral_0_phi mineral_0_theta mineral_0_z) or olivine and enstatite (id mineral_0_volume_fraction mineral_0_phi mineral_0_theta mineral_0_z mineral_1_volume_fraction mineral_1_phi mineral_1_theta mineral_1_z). This allows us to initialize the model with a certain textures either from previous lab measurement or model results.
The second option initializes textures from the second-order structure tensors from the a-, b-, and c- axis of the mineral by sampling a distribution of Euler angles. Since the second-order structure tensors are a more compact and flexible representation of texture, this method is more memory and time efficient compared to the ASCII file method, while still allowing the generation of representative initial texture with some control on its orientation and strength.

The implementation also validates that particle and grain counts match the ASPECT configuration and supports separate texture inputs for different features. Both olivine-only and olivine-enstatite particle-CPO formats are accepted, making it possible to transfer previously generated fabric information into a new model. The completed contribution is documented in WorldBuilder PR #918.

(Yijun Wang, Theo Haußler)

For oceanic plates, a plate-cooling topography model is implemented, similar to the classical half-space cooling model. The formulation allows for flexible input parameters, including top and bottom density, top and bottom temperature, and a minimum ocean depth, which represents the ridge distance from the surface.

The plate thickness 𝐿.  𝐿 used in the formulation is assumed to correspond to the max_depth parameter. This provides a simplified representation of lithospheric cooling and subsidence with age.

Two related pull requests document this outcome. PR #908 couples half-space-cooling age to the initial topography, while PR #924 adds a plate-cooling topography model with configurable thermal and density end members and minimum ocean depth. These alternatives generate age-dependent ocean-basin subsidence directly in the initial condition.

(Simran Suresh, Daniel Douglas, Menno Fraters, Michael Pons)

The main outcome is a reusable regional cookbook rather than a single visualization. It combines the island and continental-margin lithospheres, oceanic crust and intersecting ridges, and the Hainan plume within one three-dimensional initial condition, providing a basis for testing rifting scenarios in the northwestern South China Sea. The cookbook is tracked in WorldBuilder PR #912.

(Chaoyang Li, Michael Pons and Menno Fraters)

Implemented a structure to set uniform density for any feature in the model (see attached image). This is also used to calculate a newly implemented reference compensation pressure profile. With this profile, we can find the change in topography needed to isostatically equilibrate the model.

The reference-profile infrastructure is described in WorldBuilder PR #913. Users can specify a compensation depth, a reference-profile point, and the integration resolution used to calculate reference compensation pressure. This provides the common pressure baseline required by subsequent topography models and makes density variations actionable rather than merely descriptive.

(Derek Neuharth, Alan Yu, Michael Pons, Kai Li, Menno Fraters)

Isostatic rebound for initial topography has also been implemented for continental plate models (Figure 1 and 2).

WorldBuilder PR #925 connects this infrastructure to a continental-plate topography model. Instead of prescribing surface elevation independently, the model derives the required topographic adjustment from the vertical density structure and reference compensation pressure, producing internally consistent initial columns for later numerical simulation.

(Michael Pons, Derek Neuharth, Alan Yu, Kai Li)

Here example of an isostatically equilibrated continental plate featuring Perlin-noise topography and Perlin-noise caves, which are then themselves re-equilibrated isostatically. The bloc in the middle has now lower elevation than in the previous example. Whereas the Perlin noise offer the opportunity to generate new landforms. 

This combined example demonstrates the order of operations: small-scale roughness and internal cavities are generated procedurally, after which the isostatic calculation adjusts the surface to compensate for the modified mass distribution. It therefore serves as an integration test between the new Perlin-noise topography (PR #922) and isostatic-topography (PR #925) capabilities.

(Michael Pons, Derek Neuharth, Tilman May, Menno Fraters, Kai Li)

Since the use of Perlin noise is not intuitive, we developed an application that allows users to interactively adjust the parameters, visualize the resulting signal (e.g., topography) in real time, and export the corresponding JSON snippet. The application also indicates whether the chosen Perlin noise settings are adequately resolved given the model grid resolution when using the GWB grid.

The corresponding visualizer is included in WorldBuilder PR #929. In addition to previewing the signal, it links frequency, octaves, persistence, and lacunarity to wavelengths in kilometres, reports whether features are resolved by the chosen cell size, and generates a ready-to-use WorldBuilder JSON fragment.

(Michael Pons, Derek Neuharth, Tilman May)