Introducing Stripy

Software Jul 16, 2019

Originally published by AuScope  at https://www.auscope.org.au/posts/stripy by Dr Ben Mather (EarthByte, Sydney Uni) and Jo Condon (AuScope). Stripy has been funded by NCRIS via AuScope.

Geodynamicists from Sydney and Australian National universities have developed Stripy, a software module that allows scientists to efficiently place GIS ‘wrapping paper’ around the spherical Earth ‘present’.

This is the first module to be built for a common scientific programming language like Python, that supports such ‘wrapping’, or mapping features. Here, developer Dr Ben Mather explains Stripy’s key functions for the AuScope Earth modelling community.

Stripy is a Python module for (constrained) triangulation in Cartesian coordinates and on a sphere. Here we show how ocean age data can be triangulated on the sphere with no need for points on land using Stripy. Once Stripy ingests your data points, you can do lots of cool things like sample another data set to your grid (bathymetry in the right image), smoothing, finding the derivatives of your data, or interpolating to another set of points. Image: Prof Louis Moresi.

The Stripy solution

Introducing Stripy: a lightweight object-oriented Python package for building meshes from unstructured data on the sphere. A series of example meshes are provided including such classics as icosahedral, octahedral, and soccer ball meshes.

Stripy includes the following functionality:

  • Spherical and Cartesian triangulation of scattered points.
  • Construction of Cartesian and Spherical meshes.
  • Nearest-neighbour, linear, and hermite cubic interpolation.
  • Evaluation of derivatives.
  • Smoothing operations.
  • Mesh refinement on line segments / triangle centroids.
  • Fast point location with k-d tree interface with angular separation metric on the sphere.

In case you weren’t already sold, all these features are also available in Cartesian coordinates. Stripy is bundled with a linked collection of Jupyter notebooks that can act as a user guide and an introduction to the package. The notebooks are split into matching sets for spherical and Cartesian triangulations.

Download Stripy, or make it better

Stripy is a member of the Underworld family of open-source software packages, and is freely available for download by multiple installation methods on GitHub. If you get stuck and need assistance, please open a GitHub issue. If you want to contribute in some way to the project, please see our contributions guide.

Citing Stripy

If you use the code, please cite our JOSS paper (see here for more options)

Moresi, L. and 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, https://doi.org/10.21105/joss.01410

Tags

Ben Mather

Postdoc in the EarthByte Group at Sydney Uni