Cite two things: the paper that defines the code, and the archive DOI for the version you actually ran. The paper is what the work is; the version DOI is what makes your result reproducible.
DOIs are written as plain text here on purpose — copy them.
Underworld3¶
The current code. Use this for new work.
Moresi, L., Mansour, J., Giordani, J., Knepley, M., Knight, B., Graciosa, J. C., Gollapalli, T., Lu, N., & Beucher, R. (2025). Underworld3: Mathematically Self-Describing Modelling in Python for Desktop, HPC and Cloud. Journal of Open Source Software, 10(112), 7831.
10.21105/joss.07831Version archive:
10.5281/zenodo.16810746
Underworld 2¶
Still supported. UWGeodynamics has been rolled into Underworld 2 — its functionality is part of Underworld 2 and the separate UWGeodynamics repository is archived. For new work, use Underworld 2 (or Underworld3) rather than UWGeodynamics.
Mansour, J., Giordani, J., Moresi, L., Beucher, R., Kaluza, O., Velic, M., Farrington, R., Quenette, S., & Beall, A. (2020). Underworld2: Python Geodynamics Modelling for Desktop, HPC and Cloud. Journal of Open Source Software, 5(47), 1797.
10.21105/joss.01797Version archive:
10.5281/zenodo.1436039
If you used UWGeodynamics for work you are publishing now, cite it — it was a real tool and its authors deserve the credit:
Beucher, R., Moresi, L., Giordani, J., Mansour, J., Sandiford, D., Farrington, R., Mondy, L., et al. (2019). UWGeodynamics: A Teaching and Research Tool for Numerical Geodynamic Modelling. Journal of Open Source Software, 4(36), 1136.
10.21105/joss.01136Version archive:
10.5281/zenodo.1195597
stripy¶
Moresi, L., & Mather, B. R. (2019). Stripy: A Python module for (constrained) triangulation in Cartesian coordinates and on a sphere. Journal of Open Source Software, 4(38), 1410.
10.21105/joss.01410Version archive:
10.5281/zenodo.1422825
A version-archive DOI always resolves to the latest release; DOIs for earlier versions are available from the same record. If you have modified the code, fork it and publish your own DOI — then your paper points at what you ran.
Algorithms¶
Cite these where you are using the method rather than the implementation.
Moresi, L.-N., & Solomatov, V. S. (1995). Numerical investigation of 2D convection with extremely large viscosity variations. Physics of Fluids, 7(9), 2154–2162.
10.1063/1.868465Moresi, L., Dufour, F., & Mühlhaus, H.-B. (2003). A Lagrangian integration point finite element method for large deformation modeling of viscoelastic geomaterials. Journal of Computational Physics, 184(2), 476–497.
10.1016/S0021-9991(02)00031-1Moresi, L., Quenette, S., Lemiale, V., Mériaux, C., Appelbe, B., & Mühlhaus, H.-B. (2007). Computational approaches to studying non-linear dynamics of the crust and mantle. Physics of the Earth and Planetary Interiors, 163(1), 69–82.
10.1016/j.pepi.2007.06.009Moresi, L., Mühlhaus, H.-B., Lemiale, V., & May, D. (2007). Incompressible viscous formulations for deformation and yielding of the lithosphere. Geological Society, London, Special Publications, 282(1), 457–472.
10.1144/SP282.19May, D. A., & Moresi, L. (2008). Preconditioned iterative methods for Stokes flow problems arising in computational geodynamics. Physics of the Earth and Planetary Interiors, 171(1–4), 33–47.
10.1016/j.pepi.2008.07.036Velić, M., May, D., & Moresi, L. (2009). A fast robust algorithm for computing discrete Voronoi diagrams. Journal of Mathematical Modelling and Algorithms, 8(3), 343–355.
10.1007/s10852-008-9097-6
Citing a technical note¶
Each note in this series carries its own DOI, shown on the note and on its archival PDF. Cite the note; the DOI resolves to the newest version of the fixed copy, so a citation made today keeps working when the note is corrected.