diff --git a/00_overview.ipynb b/00_overview.ipynb index 1425107..e827dbd 100644 --- a/00_overview.ipynb +++ b/00_overview.ipynb @@ -23,8 +23,8 @@ "\n", "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", @@ -36,8 +36,6 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n", - "\n", "
\n", " About this Presentation\n", "

\n", @@ -51,7 +49,11 @@ " \n", "This presentation has been constructed using Jupyter notebooks and VoilĂ  as an experiment in combining what would typically be found in a conference presentation with live-rendered interactive elements as a way to demonstrate aspects of software.\n", "

\n", - "
" + "\n", + "\n", + "
\n", + " Note: The final versions of these notebooks are on the way, check back soon.\n", + "
" ] }, { @@ -74,8 +76,8 @@ "source": [ "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", diff --git a/01_Introduction.ipynb b/01_intro.ipynb similarity index 97% rename from 01_Introduction.ipynb rename to 01_intro.ipynb index b087a13..c90941b 100644 --- a/01_Introduction.ipynb +++ b/01_intro.ipynb @@ -11,8 +11,8 @@ "\n", "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", @@ -24,16 +24,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Introduction\n", - "\n", - "### Key Messages\n", + "## Key Messages\n", "\n", "* Software is a key part of geochemical research\n", "* Existing software is often relatively inflexible and intransparent\n", "* Developing open-source tools can address some of the existing challenges\n", "* Community input and support is likely required to make this sustainable\n", "\n", - "### Software in Geochemistry\n", + "## Software in Geochemistry\n", "\n", "While software was once auxiliary to the collection of data and generation of knowledge, it is quickly becoming an essential component of scientific research. In geochemical research, we use software[*](#f1) to control instruments and collect data, to reduce this raw data to produce estimates of composition, to analyse and model our data, and to produce graphical representations which we can use to communicate the meaning and significance of all of this. Additionally, while it's not the focus of this presentation, reserach software can also be later tertiary education programmes, especially those which seek to introduce students to what research looks like in practise. \n", "\n", @@ -50,7 +48,7 @@ "

\n", "\n", "\n", - "### Requirements and Challenges for Research Software\n", + "## Requirements and Challenges for Research Software\n", "\n", "There are number of key challenges for the development, adoption and sustainability of research software projects. Below we've listed a few of them with assocaited questions, and some potential solutions or advantages in developing community-driven open-source software.\n", "\n", @@ -199,8 +197,8 @@ "source": [ "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", diff --git a/021_pyrolite.ipynb b/021_pyrolite.ipynb index 685ce55..d703985 100644 --- a/021_pyrolite.ipynb +++ b/021_pyrolite.ipynb @@ -11,8 +11,8 @@ "\n", "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", @@ -36,13 +36,17 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "
\n", + "Note that pyrolite is currently in review, and the following is largely taken from a short paper \"pyrolite: Python for Geochemistry\", recently submitted to pyOpenSci and the Journal of Open Source Software.\n", + "
\n", + "\n", "``pyrolite`` provides tools for processing, transforming and visualising geochemical data from common tabular formats.\n", "The package includes methods to recalculate and rescale whole-rock and mineral compositions, perform compositional statistics and create appropriate visualisations and also includes numerous auxiliary utilities (e.g. a geological timescale).\n", - "In addition, these tools provide a foundation for preparing data for subsequent machine learning applications using ``scikit-learn``[[1]](#pedregosa).\n", + "In addition, these tools provide a foundation for preparing data for subsequent machine learning applications using ``scikit-learn``[1].\n", "\n", - "Geochemical data are compositional (i.e. sum to 100%), and as such require non-standard statistical treatment[[2]](#aitchison). While challenges of compositional data have long been acknowledged[[3]](#pearson), appropriate measures to account for this have thus far seen limited uptake by the geochemistry community. The submodule ``pyrolite.comp`` provides access to methods for transforming compositional data, facilitating more robust statistical practices.\n", + "Geochemical data are compositional (i.e. sum to 100%), and as such require non-standard statistical treatment[2]. While challenges of compositional data have long been acknowledged[3], appropriate measures to account for this have thus far seen limited uptake by the geochemistry community. The submodule ``pyrolite.comp`` provides access to methods for transforming compositional data, facilitating more robust statistical practices.\n", "\n", - "A variety of standard diagram methods (e.g. ternary, spider, and data-density diagrams; see Figs. 1, 2), templated diagrams (e.g. the Total-Alkali Silica diagram[[4]](#lebas); and Pearce diagrams[[5]](#pearce) and novel geochemical visualisation methods are available.\n", + "A variety of standard diagram methods (e.g. ternary, spider, and data-density diagrams; see Figs. 1, 2), templated diagrams (e.g. the Total-Alkali Silica diagram[5]; and Pearce diagrams[5] and novel geochemical visualisation methods are available.\n", "The need to visualise geochemical data (typically graphically represented as bivariate and ternary diagrams) has historically limited the use of multivariate measures in geochemical research.\n", "Together with the methods for compositional data and utilities for dimensional reduction via ``scikit-learn``, ``pyrolite`` eases some of these difficulties and encourages users to make the most of their data dimensionality.\n", "Further, the data-density and histogram-based methods are particularly useful for working with steadily growing volumes of geochemical data, as they reduce the impact of 'overplotting'.\n", @@ -50,9 +54,9 @@ "Reference datasets of compositional reservoirs (e.g. CI-Chondrite, Bulk Silicate Earth, Mid-Ocean Ridge Basalt) and a number of rock-forming mineral endmembers are installed with ``pyrolite``.\n", "The first of these enables normalisation of composition to investigate relative geochemical patterns, and the second facilitates mineral endmember recalculation and normative calculations.\n", "\n", - "``pyrolite`` also includes some specific methods to model geochemical patterns, such as the lattice strain model for trace element partitioning[[6]](#blundy), a Sulfur Content at Sulfur Saturation (SCSS) model[[7]](#li), and orthogonal polynomial decomposition for parameterising Rare Earth Element patterns[[8]](#oneill).\n", + "``pyrolite`` also includes some specific methods to model geochemical patterns, such as the lattice strain model for trace element partitioning[6], a Sulfur Content at Sulfur Saturation (SCSS) model[7], and orthogonal polynomial decomposition for parameterising Rare Earth Element patterns[8].\n", "\n", - "Extensions beyond the core functionality are also being developed, including ``pyrolite-meltsutil`` which provides utilities for working with ``alphaMELTS`` and it's outputs[[9]](#smith), and is targeted towards performing large numbers of related melting and fractionation experiments.\n", + "Extensions beyond the core functionality are also being developed, including ``pyrolite-meltsutil`` which provides utilities for working with ``alphaMELTS`` and it's outputs[9], and is targeted towards performing large numbers of related melting and fractionation experiments.\n", "\n", "| |\n", "| - |\n", @@ -62,7 +66,7 @@ "| |\n", "| - |\n", "|\"\"|\n", - "|Standard and density-mode spider diagrams generated from a synthetic dataset centred around an Enriched- Mid-Ocean Ridge Basalt composition[[10]](#sun), normalised to Primitive Mantle[[11]](#palme). Elements are ordered based on a proxy for trace element 'incompatibility' during mantle melting (e.g. as used by Hofmann[[12]](#hofmann)).|\n", + "|Standard and density-mode spider diagrams generated from a synthetic dataset centred around an Enriched- Mid-Ocean Ridge Basalt composition[10], normalised to Primitive Mantle[11]. Elements are ordered based on a proxy for trace element 'incompatibility' during mantle melting (e.g. as used by Hofmann[12]).|\n", "\n", "\n", "### Conventions\n", @@ -136,8 +140,8 @@ "source": [ "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", diff --git a/022_pyrolite-meltsutil.ipynb b/022_pyrolite-meltsutil.ipynb index 70f3dde..8e604ca 100644 --- a/022_pyrolite-meltsutil.ipynb +++ b/022_pyrolite-meltsutil.ipynb @@ -11,8 +11,8 @@ "\n", "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", @@ -229,8 +229,8 @@ "source": [ "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", diff --git a/023_interferences.ipynb b/023_interferences.ipynb index 328af80..21c62d1 100644 --- a/023_interferences.ipynb +++ b/023_interferences.ipynb @@ -11,8 +11,8 @@ "\n", "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", @@ -239,8 +239,8 @@ "source": [ "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", diff --git a/024_autopew.ipynb b/024_autopew.ipynb index 193860f..c570954 100644 --- a/024_autopew.ipynb +++ b/024_autopew.ipynb @@ -11,8 +11,8 @@ "\n", "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", @@ -56,8 +56,8 @@ "source": [ "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", diff --git a/02_examples.ipynb b/02_examples.ipynb index 3a4dcc6..c49b6e9 100644 --- a/02_examples.ipynb +++ b/02_examples.ipynb @@ -11,8 +11,8 @@ "\n", "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", @@ -81,8 +81,8 @@ "source": [ "[**Abstract**](./00_overview.ipynb) | \n", "**Intro**:\n", - "[Software in Geochem](./01_introduction.ipynb#Software-in-Geochemistry),\n", - "[Development & Tools](./01_introduction.ipynb#Development-Workflow-&-Tools) |\n", + "[Software in Geochem](./01_intro.ipynb#Software-in-Geochemistry),\n", + "[Development & Tools](./01_intro.ipynb#Development-Workflow-&-Tools) |\n", "[**Examples**](./02_examples.ipynb):\n", "[pyrolite](./021_pyrolite.ipynb),\n", "[pyrolite-meltsutil](./022_pyrolite-meltsutil.ipynb),\n", diff --git a/README.md b/README.md index f863682..f54aa0e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Building Open Source Geochemical Research Tools in Python [![License: MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/morganjwilliams/gs2020-python4geochem/blob/master/LICENSE) +[![DOI](https://zenodo.org/badge/268483690.svg)](https://zenodo.org/badge/latestdoi/268483690) This is a Binder-enabled repository to accompany the abstract ["Building Open Source Geochemical Research Tools in Python"]( @@ -12,7 +13,7 @@ https://goldschmidt.info/2020/program/programViewThemes#period_472_4728_12337) | View Presentation with VoilĂ  on Binder | |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| [![View Presentation](https://img.shields.io/badge/Presentation_via-Binder-F5A252.svg?logo=data:image/png;base64,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)](https://mybinder.org/v2/gh/morganjwilliams/gs2020-python4geochem/develop?urlpath=/voila/render/00_overview.ipynb) | +| [![View Presentation](https://img.shields.io/badge/Presentation_via-Binder-F5A252.svg?logo=data:image/png;base64,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)](https://mybinder.org/v2/gh/morganjwilliams/gs2020-python4geochem/master?urlpath=/voila/render/00_overview.ipynb) | This presentation has been constructed using @@ -23,4 +24,4 @@ elements as a way to demonstrate aspects of software. If you'd like to see the u | View and Run Notebooks on Binder | |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| [![View Notebooks](https://img.shields.io/badge/Notebooks_via-Binder-F5A252.svg?logo=data:image/png;base64,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)](https://mybinder.org/v2/gh/morganjwilliams/gs2020-python4geochem/develop?filepath=./00_overview.ipynb) | +| [![View Notebooks](https://img.shields.io/badge/Notebooks_via-Binder-F5A252.svg?logo=data:image/png;base64,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)](https://mybinder.org/v2/gh/morganjwilliams/gs2020-python4geochem/master?filepath=./00_overview.ipynb) | diff --git a/binder/postBuild b/binder/postBuild index d90854f..53a308b 100644 --- a/binder/postBuild +++ b/binder/postBuild @@ -3,9 +3,8 @@ jupyter-nbextension enable widgetsnbextension --py # make sure we have a place where we can pick up the custom template mkdir -p ~/.jupyter/voila/templates/ +mkdir -p ~/.local/share/jupyter/voila/templates cp -r ./custom/ ~/.jupyter/voila/templates/ cp -r ./custom/ ~/.local/share/jupyter/voila/templates - -# alias viola to default to using extensions and our custom template for styling -alias voila="voila --template=custom --enable_nbextensions=True" +cp -r ./custom/ /srv/conda/envs/notebook/share/jupyter/voila/templates diff --git a/custom/nbconvert_templates/voila.tpl b/custom/nbconvert_templates/voila.tpl index aeaac4e..bb07364 100644 --- a/custom/nbconvert_templates/voila.tpl +++ b/custom/nbconvert_templates/voila.tpl @@ -141,32 +141,6 @@ {%- endfor -%} {% endwith %} {%- endblock body_loop -%} - {%- block body_footer -%}
@@ -183,4 +157,30 @@ {%- endblock body_footer -%} + {%- endblock body -%} \ No newline at end of file diff --git a/jupyter_config.json b/jupyter_config.json new file mode 100644 index 0000000..b14161b --- /dev/null +++ b/jupyter_config.json @@ -0,0 +1,6 @@ +{ + "VoilaConfiguration": { + "template": "custom", + "enable_nbextensions": true + } +}