An apatite-based thermodynamic model for calculations of:

(1) activities of F, Cl, OH in apatite 

(2) exchange coefficients (KDs) for OH-Cl, OH-F, Cl-F between apatite and melt

(3) water concentration in melt



Excel spreadsheet can be requested

for calculations on multiple samples

(Email: wl413@cam.ac.uk)


A thermodynamic-lattice strain model for

 (1) predicting REE partition coefficients between apatite and silicate melts;

(2) estimating oxygen fugacity of the system ("Eu-in-apatite oxybarometry").


Python codes under development...

Webpage available soon...


This python package contains multiple modules for ApThermo, ApREE2O3, and apatite saturation temperature (AST) calculations.

More modules will be added in the near future. 


Code available at my github page:


(NEW) DiffusionMC3

An upgraded version of ApTimer that combines diffusion algorithm with MCMC sampling for better estimates of magma ascent time and rates.  




MATLAB code available soon...


A three-component diffusion model for:

(1) calculating timescales of F-Cl-OH diffusion in apatite 

(2) estimating the times and velocity of magma ascent



MATLAB and python codes can be requested 

(Email: wl413@cam.ac.uk)

PWD database

We have developed a Petrological Workspace and Database tool (https://petro.wovodat.org) that allows researchers to access, share, store, and manage petrological, mineralogical, and whole rock data in a contextualised manner. 

Main features of PWD:

(1) storage and management of spatial‐referenced data (from fieldwork notes to geochemical analysis) 

(2) visualisation of the hierarchical relationship between different types of data using the Workspace tool

(3) graph plots on petrological data 

(4) data sharing in a database structure that can be managed by different authorisation levels.