python

PyCurious: A Python module for computing the Curie depth from the magnetic anomaly

PyCurious is a Python package for computing the depth to 580°C from maps of the Earth's magnetic anomaly using a Bayesian inference framework. It's a useful tool to probe the thermal structure of the Earth's crust.

Stripy: A Python module for (constrained) triangulation in Cartesian coordinates and on a sphere.

The triangulation of scattered points is a common problem in science and engineering when local neighbourhood information is required for computation. Typical applications include the calculation of neighbour relationships, interpolants, derivatives, …

May the 4th be with you...

In an Underworld release far, far away… Geodynamicists struggle to model planetary dynamics due to the Cartesian Empire. Physical observations suffer inappropriate meshing and projections bend minds. The Underworld team builds the ultimate weapon to erase the Cartesian nightmare based on the ancient practice of the Cubed-Sphere mesh. A fight to modify a numerical implementation begins to bring peace and restore funding across the galaxy. Follow it on Facebook and Twitter.

Introduction to Quagmire

Quagmire is an open source, parallel python module for modelling surface processes and landscape evolution. It comes from the Underworld geodynamics group and has many common design patterns to Underworld. For starters, this is not an out-of-the-box …

Multiprocessing in Python

Most of the codes I develop run in parallel using MPI (Message Passing Interface) using the python wrapper, mpi4py. There is a reason why highly scalable programs use this approach, and that is because each processor handles its own chunk of memory and communicates with other processors only when it’s needed. PETSc, for example, is a behemoth computing framework entirely written in the MPI computing philosophy. Despite MPI’s efficiency, there are some barriers:

Invert geology

A method to relate the spatial configuration of mesh nodes to lithology that is differentiable - an adjoint to the inversion of geological structure.

Curie point depth

Computing Curie depth from the magnetic anomaly

Convert images to arrays

This is how you go from a jpeg to a csv

Analytical conduction adjoint

An adjoint to the analytical steady-state heat equation

Implicit heat conduction

Algebraic expression in matrix representation to solve temperature using implicit 2D finite difference