Geoscientific model codes


PyBasin: burial history and thermochronology of basins


PyBasin is an open-source basin model code that simulates sediment burial, compaction and thermal history. The modelled geological and thermal history can be compared to vitrinite reflectance data and the low-temperature thermochronometers apatite fission track and (U-Th)/He. The code includes support for setting up and running large series of model runs using parallel computing, which allows running large sets of models to explore parameter space and to quantify the values of exhumation rate, timing or basal heat flow that match the data. The code uses a unique approach that combines end-member estimates of provenance history, apatite composition and basin history to quantify the variability of thermochronometers in sedimentary rocks.


The code can be found on this GitHub repository, and a publication on an early version of the model code can be found here.


GroMPy-couple : Coupled density-driven groundwater flow and solute transport model using Python


GroMPy-couple is a 2D cross-sectional model of coupled density-driven groundwater flow and solute transport. The groundwater flow and solute transport equations are solved by an external finite element model code Escript/Finley. The exchange between groundwater and baseflow/evapotranspiration simulated using a seepage algorithm. GroMPy-couple includes support for automated runs of series of model experiments using parallel computing.


See this GitHub repository for the model code. The code was used to quantify the sensitivity of coastal groundwater discharge to hydrogeological parameters and to quantify global coastal groundwater discharge in a publication in Nature Communications (Luijendijk 2020).


Beo: Heat flow and (U-Th)/He thermochronology in hydrothermal systems


Beo is a model of heat flow in hot springs and hydrothermal systems. The model code uses the generic finite element code escript to solve the advective and conductive heat flow equations in a 2D cross-section of the subsurface. The resulting temperature history is used to calculate the apatite (U-Th)/He (AHe) thermochronometer and can be compared to measured AHe ages. Beo supports automated model runs to explore which parameter values like fluid fluxes, fault geometry, age and duration of the hydrothermal activity best match thermochronometer data, spring temperature data or temperature records in nearby boreholes.


The model code for Beo can be found on GitHub. A description of the model background and two example case studies can be found in the journal Geoscientific Model Development (Luijendijk 2019). The model code has been used to quantify episodic fluid flow in a fault zone in the Beowawe geyser field in the Basin and Range Province. The results can be found in a paper in Geology (Louis et al. 2019).


PyBHT: Model estimates of subsurface temperatures from borehole temperature records


PyBHT is a model code that calculates formation temperature from time series of three or more bottom hole temperatures (BHT) recorded at the same depth. The model simulates cooling as a result of drilling and the subsequent thermal recovery using an explicit finite difference solution of the radial heat flow equation. Formation and borehole temperature are calibrated using the downhill simplex algorithm provided by Scipy.


The code can be found at this GitHub repository. The code was used to quantify subsurface temperatures in the Roer Valley Graben in the Netherlands (Luijendijk 2011)