vesical

A generalized python library for calculating and plotting various things related to mixed volatile (H2O-CO2) solubility in silicate melts.

https://github.com/kaylai/vesical

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: wiley.com, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.8%) to scientific vocabulary
Last synced: 7 months ago · JSON representation

Repository

A generalized python library for calculating and plotting various things related to mixed volatile (H2O-CO2) solubility in silicate melts.

Basic Info
  • Host: GitHub
  • Owner: kaylai
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: master
  • Size: 126 MB
Statistics
  • Stars: 33
  • Watchers: 2
  • Forks: 10
  • Open Issues: 46
  • Releases: 15
Created about 6 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation Support Codemeta

README.md

VESIcal

A generalized python library for calculating and plotting various things related to mixed volatile (H2O-CO2) solubility in silicate melts.

Documentation Status DOI

Documentation

Check here first for all your VESIcal questions! And be sure to read the manuscripts.

  • Read all of our documentation, inlcuding quickstart guides here: https://vesical.readthedocs.io/en/latest/
  • Check our our YouTube channel for videos on how to use VESIcal here: https://www.youtube.com/channel/UCpvCCs5KMXzOxXWm0seF8Qw

Interactive versions of manuscripts

  • Curvenote/AGU Notebooks Now! implementation of VESIcal Part I manuscript: Manuscript on Curvenote
  • Direct link to interactive jupyter notebook version of VESIcal Part I manuscript: Manuscript on Binder
  • Jupyter Notebook hub with VESIcal: Manuscript on Binder

PDF versions of manuscripts

Installation and online use

In general, VESIcal can be accessed and used in a variety of ways. From most flexible (advanced) to least flexible (novice), these are:

VESIcal on the ENKI server

VESIcal requires installation of not only the VESIcal library but also some other python libraries, one of which is a bit tricky to install (ENKI/thermoengine aka the engine behind MELTS). But, we have a solution! All dependencies and the latest version of VESIcal are all installed on the ENKI server, within a Jupyter Notebook Hub. Steps to use VESIcal on the ENKI server are:

  1. Create a (free) GitLab account, which you'll use to sign into ENKI here: https://gitlab.com/users/sign_up
  2. Email ENKI PI Mark Ghiorso at ghiorso@ofm-research.org with your GitLab username and requet access to the ENKI server.
  3. Access the ENKI Production Server by going to http://enki-portal.org/ and clicking "SERVERS" > "PRODUCTION SERVER"
  4. Sign in with your GitLab credentials: You are now in your own jupyter notebook workspace! You can upload and create files here. They won't be accessible to anyone else.
  5. Click the green "CLOSE THIS SCREEN" button
  6. Create a new notebook by clicking the blue plus button and then selecting Python3 under Notebook. Or select from the menu File > New > Notebook
  7. Be sure to import VESIcal as v at the top of your file, and now you are ready to get to work!

See video tutorials on our ReadTheDocs page for more.

Installing locally

Important! Thermoengine must be installed! Please see below for details on how to install thermoengine, the python implementation of MELTS/MagmaSat

First, obtain Python3.x if you do not already have it installed. If you are new to python, we recommend installing it via anaconda3. VESIcal can be installed with one line. Open a terminal and type the following:

pip install VESIcal

Check that the installation worked by entering the following lines into a terminal:

python import VESIcal as v

If no output is returned, VESIcal has installed properly! You will very likely, however, see a warning telling you that no module named 'thermoengine' could be found. The installation you performed via pip attempts to install all dependencies (other libraries that VESIcal requires), but thermoengine is not available via pip and so must be manually installed.

Dependencies that should automatically be installed for you are:

  • pandas
  • numpy
  • matplotlib
  • cycler
  • abc
  • scipy
  • sys
  • sympy
  • copy

If any warnings related to these libraries appear, try installing them as you did VESIcal: with 'pip install [package]'.

Installing thermoengine

Thermoengine is the ENKI implementation of MELTS (MagmaSat), which is the default solubility model implemented in VESIcal. VESIcal cannot be run without thermoengine at this time, however a VESIcal-lite that does not include MagmaSat is planned. To install thermoengine, please refer to the ENKI documentation here: https://gitlab.com/ENKI-portal/ThermoEngine.

In almost all cases you will need to install thermoengine using docker. The thermoengine devs have kindly put together a docker image for you. We suggest you follow those instructions here: https://gitlab.com/ENKI-portal/ThermoEngine/-/tree/master/#running-a-container-image-locally.

Updating

To upgrade to the most recent version of VESIcal, type the following into terminal:

pip install VESIcal --upgrade

Contributing

Issues are tracked on GitHub.

Patches may be submitted via a Github pull request. All changes should include tests (VESIcal uses python's unittest library) and pass flake8.

Owner

  • Name: Kayla i
  • Login: kaylai
  • Kind: user

Professional magma maker

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "license": "https://spdx.org/licenses/MIT",
  "codeRepository": "https://github.com/kaylai/VESIcal",
  "dateCreated": "2021-06-22",
  "datePublished": "2021-06-22",
  "dateModified": "2021-06-22",
  "downloadUrl": "https://github.com/kaylai/VESIcal",
  "name": "VESIcal",
  "version": "1.0.1",
  "identifier": "10.5281/zenodo.4914503",
  "description": "A generalized python library for calculating and plotting various things related to mixed volatile (H2O-CO2) solubility in silicate melts.",
  "applicationCategory": "Geology",
  "referencePublication": "https://doi.org/10.1029/2020EA001584",
  "keywords": [
    "volatile solubility",
    "volcanology",
    "petrology",
    "igneous"
  ],
  "programmingLanguage": [
    "Python 3"
  ],
  "relatedLink": [
    "https://vesical.readthedocs.io/en/latest/"
  ],
  "author": [
    {
      "@type": "Person",
      "@id": "http://orcid.org/0000-0002-2461-7748",
      "givenName": "Kayla",
      "familyName": "Iacovino",
      "email": "kayla.iacovino@nasa.gov",
      "affiliation": {
        "@type": "Organization",
        "name": "Jacobs, NASA Johnson Space Center"
      }
    },
    {
      "@type": "Person",
      "givenName": "Simon",
      "familyName": "Matthews",
      "affiliation": {
        "@type": "Organization",
        "name": "University of Iceland"
      }
    },
    {
      "@type": "Person",
      "givenName": "Penny E.",
      "familyName": "Wieser",
      "affiliation": {
        "@type": "Organization",
        "name": "University of Cambridge"
      }
    },
    {
      "@type": "Person",
      "givenName": "Gordon M.",
      "familyName": "Moore",
      "affiliation": {
        "@type": "Organization",
        "name": "Jacobs, NASA Johnson Space Center"
      }
    },
    {
      "@type": "Person",
      "givenName": "Florence",
      "familyName": "Bgu",
      "affiliation": {
        "@type": "Organization",
        "name": "University of Geneva"
      }
    }
  ]
}

GitHub Events

Total
  • Issues event: 12
  • Watch event: 6
  • Issue comment event: 4
  • Push event: 6
  • Pull request event: 1
  • Fork event: 1
  • Create event: 2
Last Year
  • Issues event: 12
  • Watch event: 6
  • Issue comment event: 4
  • Push event: 6
  • Pull request event: 1
  • Fork event: 1
  • Create event: 2

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 677
  • Total Committers: 6
  • Avg Commits per committer: 112.833
  • Development Distribution Score (DDS): 0.403
Top Committers
Name Email Commits
Kayla Iacovino k****o@g****m 404
Simon Matthews s****s@g****m 170
PennyWieser 6****r@u****m 53
Kayla i c****a@g****m 45
Bob Myhill m****b@g****m 4
TDGerve t****e@g****m 1

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 117
  • Total pull requests: 19
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 5
  • Total pull request authors: 7
  • Average comments per issue: 3.0
  • Average comments per pull request: 1.05
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 3
Past Year
  • Issues: 11
  • Pull requests: 1
  • Average time to close issues: about 2 hours
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.09
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • kaylai (65)
  • PennyWieser (32)
  • simonwmatthews (16)
  • fboschetty (3)
  • lvanderlaat (1)
Pull Request Authors
  • kaylai (16)
  • dependabot[bot] (4)
  • PennyWieser (2)
  • simonwmatthews (2)
  • JetForMe (1)
  • bobmyhill (1)
  • TDGerve (1)
Top Labels
Issue Labels
bug (25) enhancement (21) documentation (11) question (7) good first issue (4) help wanted (3) manuscript submission (3) For major release (2) wontfix (1) invalid (1) Sulfur_X (1)
Pull Request Labels
dependencies (4) bug (3) wontfix (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 93 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 2
    (may contain duplicates)
  • Total versions: 37
  • Total maintainers: 2
pypi.org: vesical

A generalized python library for calculating and plotting various things related to mixed volatile (H2O-CO2) solubility in silicate melts.

  • Versions: 35
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 84 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 11.9%
Stargazers count: 12.9%
Average: 15.4%
Downloads: 20.3%
Dependent repos count: 21.6%
Maintainers (2)
Last synced: 7 months ago
pypi.org: vesical-kaylai

A generalized python library for calculating and plotting various things related to mixed volatile (H2O-CO2) solubility in silicate melts.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 9 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 11.9%
Stargazers count: 12.9%
Dependent repos count: 21.6%
Average: 23.3%
Downloads: 60.0%
Maintainers (1)
Last synced: 7 months ago

Dependencies

setup.py pypi
  • matplotlib *
  • numpy *
  • openpyxl *
  • pandas *
  • scipy *
  • sympy *
VESIcal/tasplot/setup.py pypi
  • matplotlib *
VESIcal.egg-info/requires.txt pypi
  • matplotlib *
  • numpy *
  • openpyxl *
  • pandas *
  • scipy *
  • sympy *
build/lib/VESIcal/tasplot/setup.py pypi
  • matplotlib *
docs/requirements.txt pypi
  • ipykernel *
  • ipynb *
  • matplotlib *
  • mock *
  • nbsphinx *
  • numpy *
  • pandas *
  • scipy *
  • sphinx >=1.4
  • sphinx_rtd_theme *
  • sympy *
requirements.txt pypi
  • matplotlib >=3.3.4
  • numpy >=1.21
  • openpyxl >=1.1.0
  • pandas >=1.2.3
  • scipy >=1.6.1
  • sympy >=1.7.1