Skip to main content

Calculate pressures and temperatures of melting for basaltic rocks and fit with melting models.

Project description

DOI Binder

meltPT

meltPT is a Python package for whole-rock major-element themormobarometric analyses of basaltic (mafic) rocks. It contains modules for:

  • Correcting sample compositions for effects of olivine crystallisation
  • Estimating pressures and temperatures at which samples were last in equilibrium with the mantle
  • Estimating melt fractions and potential temperatures on an individual basis or for a suite of samples

Full documentation can be found here.

You can find more background information and some example analyses in our paper in Volcanica here.

Installation

Quickstart

To try out meltPT without having to install anything, you can run our Tutorials in your browser via our Binder page. You will find our jupyter notebook tutorials under "./Tutorials/jupyter". Alternatively, you can use the terminal function to run the tutorial scripts. For example:

$ # Navigate to script directory.
$ cd Tutorials/scripts

$ # Run the first tutorial.
$ python3 Tutorial_1.py

Linux/Mac

To avoid incompatibility issues with other packages you may have installed, we recommend running meltPT in a virtual environment. Start a terminal and enter:

$ # Create virtual environment.
$ # Replace /path/to/virtual/environment with your desired path.
$ python3 -m venv /path/to/virtual/environment

$ # Activate new virtual environment.
$ source /path/to/virtual/environment/bin/activate

Note that, when using a virtual environment, some users may experience issues trying to display images created with matplotlib (e.g., in our tutorials): the default matplotlib backend is sometimes "agg", which cannot show figures. There does not seem to be a universal solution to this issue, so please see here for some options on how to proceed.

What you do next depends on whether you just want to use meltPT as is or if you want to edit the source code.

Basic Usage

If you just want to use meltPT as it is you can now simply type:

(meltpt) $ pip install meltPT

This will take a minute or two and print lots of stuff. If it completes successfully, you are now ready to use meltPT!

Development usage

If you want to edit meltPT's source code, you first need to download it. Navigate to your desired location and type:

(meltpt) $ git clone git@github.com:fmcnab/meltPT.git

You should now have a directory called "meltPT". To install the package, enter this directory and run the setup script. Using the -e flag means that the code will be installed in "editable" mode, and changes you make locally will be incorporated without the need for a fresh install.

(meltpt) $ cd meltPT
(meltpt) $
(meltpt) $ # Standard install
(meltpt) $ pip install -e .
(meltpt) $
(meltpt) $ # Including extra dependencies - 
(meltpt) $ # required for those who wish to compile documentation locally.
(meltpt) $ pip install .[docs]
(meltpt) $ pip install -e .[docs] # (editable)

This will take a minute or two and print lots of stuff. If it completes successfully, you are now ready to use meltPT!

Windows

We do not have much experience running Python on a Windows system, but outline here some basic steps that we have tested and believe should be accessible to most users.

First, you need to install a Python package manager, if you don't have one already. We tested the Miniforge3 installer from Miniforge, which is free to anyone regardless of affiliation. If you are already running a different Conda distribution, don't worry, the following steps should still work.

Once you have a package manager installed, open the program. You should see a command prompt. Create a new environment in which to install meltPT, called, for example, 'meltpt':

(base) > conda create meltpt

Next, activate the environment:

(base) > conda activate meltpt
(meltpt) >

If you want to install an Interactive Development Environment (IDE), allowing you to edit scripts, use a Python interface etc., now is the time to install it. For example, Spyder:

(meltpt) > conda install spyder

Finally, install meltPT using pip:

(meltpt) > pip install meltPT

If you wish to edit the source code, see the Linux/Mac instructions above for alternative pip commands; these should also work in Conda. You should now be ready to use meltPT!

Using meltPT

Under ./Tutorials, you will find some exaple scripts to help you get started.

For more information, the meltPT ReadtheDocs page has full documentation for the codebase, a series of informative tutorials, information about contributing and our liscence.

Citing meltPT

If you use our code, please cite us!

  • McNab, F. and Ball, P. W. (2023), meltPT: A Python package for basaltic whole-rock thermobarometric analysis with application to Hawai'i, Volcanica, 6(1), p. 63–76, doi: 10.30909/vol.06.01.6376.

You should also refer to the specific release of the code you used. For example, the most recent meltPT release is archived in our Zenodo repository:

We also urge you to cite the original literature on which our code is based. The sample backtracking method is based on that of Lee et al. (2009, EPSL). For a list of themormobarometric schemes available in meltPT, and links to the original papers, see the
Thermobarometers section of our documentation.

If you use our melt-path fitting routines you should also cite:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

meltPT-1.2.1-py3-none-any.whl (40.6 kB view details)

Uploaded Python 3

File details

Details for the file meltPT-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: meltPT-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 40.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for meltPT-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ac4782253c3d52c067dd6e8a1a413531b7fac4b655b35a540279af30d2232f8
MD5 ea3793faf95ffaffc4bbc24cd94bac66
BLAKE2b-256 d499b7af3d3063f3590b7fee474c16b1c92786cee4c8746302cd49fba653b269

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page