{ "cells": [ { "cell_type": "markdown", "id": "f14e6532-a513-46b1-a3f0-a2ca0d2ba1be", "metadata": {}, "source": [ "# Amphibole Thermobarometry and Chemometry\n", "- This workbook demonstrates how to use the various amphibole-only, and amphibole-liquid functions\n", "- You can download the excel spreadsheet with data here:\n", "https://github.com/PennyWieser/Thermobar/blob/main/docs/Examples/Amphibole/Amphibole_Liquids.xlsx" ] }, { "cell_type": "markdown", "id": "4376a858-f0b6-4bbd-ab2e-987ff6a29d5b", "metadata": {}, "source": [ "### You need to install Thermobar once on your machine, if you haven't done this yet, uncomment the line below (remove the #)" ] }, { "cell_type": "code", "execution_count": 1, "id": "a4f28cf1-3896-4d8c-a3b2-f73ff98ca12d", "metadata": {}, "outputs": [], "source": [ "#!pip install Thermobar" ] }, { "cell_type": "markdown", "id": "4c9a0348-3cc9-4c20-a608-358b57c93834", "metadata": {}, "source": [ "## Load python things" ] }, { "cell_type": "code", "execution_count": 2, "id": "ab1e4ba2-d2d8-4082-bf81-b803d7c16fce", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import Thermobar as pt\n", "pd.options.display.max_columns = None" ] }, { "cell_type": "markdown", "id": "ab04c6fa-e684-42c4-9997-e4f11c354f7e", "metadata": {}, "source": [ "## Load data" ] }, { "cell_type": "code", "execution_count": 3, "id": "833ae94f-687b-46c4-8f47-cd1c0d67a266", "metadata": {}, "outputs": [], "source": [ "out=pt.import_excel('Amphibole_Liquids.xlsx', sheet_name=\"Amp-Liq\")\n", "my_input=out['my_input']\n", "Amps=out['Amps']\n", "Liqs=out['Liqs']" ] }, { "cell_type": "markdown", "id": "cfe03415-e1b3-4c06-806f-d12cb98cf58d", "metadata": {}, "source": [ "## Checking data read in correctly (check no columns are full of zeros that you think you inputted)" ] }, { "cell_type": "code", "execution_count": 4, "id": "b0a41043-c300-4461-9329-4ff3e3982c43", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SiO2_AmpTiO2_AmpAl2O3_AmpFeOt_AmpMnO_AmpMgO_AmpCaO_AmpNa2O_AmpK2O_AmpCr2O3_AmpF_AmpCl_AmpSample_ID_Amp
040.572.4512.8213.110.2613.0211.632.200.920.0000probe1
139.451.8810.8011.850.0011.3210.942.040.750.0000probe2
242.883.4614.2815.990.5414.2512.122.431.180.0300probe3
342.202.7511.1013.100.3913.5511.072.270.950.0100probe4
440.372.2810.0611.760.1912.4110.402.090.820.0000probe5
\n", "
" ], "text/plain": [ " SiO2_Amp TiO2_Amp Al2O3_Amp FeOt_Amp MnO_Amp MgO_Amp CaO_Amp \\\n", "0 40.57 2.45 12.82 13.11 0.26 13.02 11.63 \n", "1 39.45 1.88 10.80 11.85 0.00 11.32 10.94 \n", "2 42.88 3.46 14.28 15.99 0.54 14.25 12.12 \n", "3 42.20 2.75 11.10 13.10 0.39 13.55 11.07 \n", "4 40.37 2.28 10.06 11.76 0.19 12.41 10.40 \n", "\n", " Na2O_Amp K2O_Amp Cr2O3_Amp F_Amp Cl_Amp Sample_ID_Amp \n", "0 2.20 0.92 0.00 0 0 probe1 \n", "1 2.04 0.75 0.00 0 0 probe2 \n", "2 2.43 1.18 0.03 0 0 probe3 \n", "3 2.27 0.95 0.01 0 0 probe4 \n", "4 2.09 0.82 0.00 0 0 probe5 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SiO2_LiqTiO2_LiqAl2O3_LiqFeOt_LiqMnO_LiqMgO_LiqCaO_LiqNa2O_LiqK2O_LiqCr2O3_LiqP2O5_LiqH2O_LiqFe3Fet_LiqNiO_LiqCoO_LiqCO2_LiqSample_ID_Liq
062.3174030.59258317.0150425.5789740.1473841.4937845.1990673.7995173.84012500.32096750.00.00.00.0probe_s2_1
163.4106550.56762716.6822235.2116480.1394731.3430744.6802913.7972264.11833600.32085450.00.00.00.0probe_s2_2
264.9783510.53184016.2049674.6849120.1281301.1269603.9363793.7939404.51728500.32069150.00.00.00.0probe_s2_3
360.9537150.62371217.4301916.0371640.1572511.6817755.8461723.8023753.49309300.32110950.00.00.00.0probe_s2_4
460.1883940.64118317.6631786.2943070.1627891.7872786.2093373.8039793.29833300.32118950.00.00.00.0probe_s2_5
\n", "
" ], "text/plain": [ " SiO2_Liq TiO2_Liq Al2O3_Liq FeOt_Liq MnO_Liq MgO_Liq CaO_Liq \\\n", "0 62.317403 0.592583 17.015042 5.578974 0.147384 1.493784 5.199067 \n", "1 63.410655 0.567627 16.682223 5.211648 0.139473 1.343074 4.680291 \n", "2 64.978351 0.531840 16.204967 4.684912 0.128130 1.126960 3.936379 \n", "3 60.953715 0.623712 17.430191 6.037164 0.157251 1.681775 5.846172 \n", "4 60.188394 0.641183 17.663178 6.294307 0.162789 1.787278 6.209337 \n", "\n", " Na2O_Liq K2O_Liq Cr2O3_Liq P2O5_Liq H2O_Liq Fe3Fet_Liq NiO_Liq \\\n", "0 3.799517 3.840125 0 0.320967 5 0.0 0.0 \n", "1 3.797226 4.118336 0 0.320854 5 0.0 0.0 \n", "2 3.793940 4.517285 0 0.320691 5 0.0 0.0 \n", "3 3.802375 3.493093 0 0.321109 5 0.0 0.0 \n", "4 3.803979 3.298333 0 0.321189 5 0.0 0.0 \n", "\n", " CoO_Liq CO2_Liq Sample_ID_Liq \n", "0 0.0 0.0 probe_s2_1 \n", "1 0.0 0.0 probe_s2_2 \n", "2 0.0 0.0 probe_s2_3 \n", "3 0.0 0.0 probe_s2_4 \n", "4 0.0 0.0 probe_s2_5 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(Amps.head())\n", "display(Liqs.head())" ] }, { "cell_type": "markdown", "id": "f0e72ca0-74be-4d31-a238-03096df72a74", "metadata": {}, "source": [ "## Example 1 - Amphibole-only pressure\n", "- can use help functions to see equation options" ] }, { "cell_type": "code", "execution_count": 5, "id": "f5a8b891-670f-4232-b6d4-970798ada276", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Help on function calculate_amp_only_press in module Thermobar.amphibole:\n", "\n", "calculate_amp_only_press(amp_comps=None, equationP=None, T=None, deltaNNO=None, classification=False, Ridolfi_Filter=True)\n", " Amphibole-only barometry, returns pressure in kbar.\n", " \n", " Parameters\n", " -----------\n", " \n", " amp_comps: pandas.DataFrame\n", " Amphibole compositions with column headings SiO2_Amp, MgO_Amp etc.\n", " \n", " \n", " EquationP: str\n", " | P_Mutch2016 (T-independent)\n", " | P_Ridolfi2012_1a (T-independent)\n", " | P_Ridolfi2012_1b (T-independent)\n", " | P_Ridolfi2012_1c (T-independent)\n", " | P_Ridolfi2012_1d (T-independent)\n", " | P_Ridolfi2012_1e (T-independent)\n", " | P_Ridolfi2021 - (T-independent)- Uses new algorithm in 2021 paper to\n", " select pressures from equations 1a-e.\n", " | P_Medard2022. Choose how you want the sites calculated:\n", " P_Medard2022_RidolfiSites, LeakeSites, MutchSites\n", " \n", " | P_Ridolfi2010 (T-independent)\n", " | P_Hammarstrom1986_eq1 (T-independent)\n", " | P_Hammarstrom1986_eq2 (T-independent)\n", " | P_Hammarstrom1986_eq3 (T-independent)\n", " | P_Hollister1987 (T-independent)\n", " | P_Johnson1989 (T-independent)\n", " | P_Blundy1990 (T-independent)\n", " | P_Schmidt1992 (T-independent)\n", " | P_Anderson1995 (*T-dependent*)\n", " \n", " T: float, int, pandas.Series, str (\"Solve\")\n", " Temperature in Kelvin\n", " Only needed for T-sensitive barometers.\n", " If enter T=\"Solve\", returns a partial function\n", " Else, enter an integer, float, or panda series\n", " \n", " Returns\n", " -------\n", " pandas series\n", " Pressure in kbar\n", "\n" ] } ], "source": [ "help(pt.calculate_amp_only_press)" ] }, { "cell_type": "markdown", "id": "e3000341-a48b-4eb0-93d4-ae26ab84ac67", "metadata": {}, "source": [ "### Ridolfi 2021 - Minerals algorithm\n", "- here, we specify equationP=\"P_Ridolfi2021\", which combines equations 1a-1e from Ridolfi 2012 and chooses the \"correct\" equation using a number of filters (see Ridolfi 2021, Minerals)\n", "- The output dataframe shows the calulated pressure, as well as the equation selected\n", "- The code also prints a warning that some of the rows have oxide sums <90, so a Nan is returned for these following Ridolfi 2021 supplement" ] }, { "cell_type": "code", "execution_count": 6, "id": "8ca0733c-9cbd-4004-a609-f7f26642e719", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
P_kbar_calcInput_CheckFail MsgclassificationequationH2O_calcFe2O3_calcFeO_calcTotal_recalcSum_inputSiO2_Amp_cat_propMgO_Amp_cat_propFeOt_Amp_cat_propCaO_Amp_cat_propAl2O3_Amp_cat_propNa2O_Amp_cat_propK2O_Amp_cat_propMnO_Amp_cat_propTiO2_Amp_cat_propCr2O3_Amp_cat_propF_Amp_cat_propCl_Amp_cat_propSi_Amp_13_catMg_Amp_13_catFet_Amp_13_catCa_Amp_13_catAl_Amp_13_catNa_Amp_13_catK_Amp_13_catMn_Amp_13_catTi_Amp_13_catCr_Amp_13_catF_Amp_13_catCl_Amp_13_catcation_sum_Si_MgSi_TAl_IV_TTi_TCr_CFe3_CMg_CFe2_CMn_CCa_BNa_BNa_AK_AAl_VI_CTi_CChargeFe3_calcFe2_calcO=F,ClTotalMgno_Fe2Mgno_FeTNa_calcB_SumA_SumclassAPE
04.572174TrueMg-hastingsite(1b+1c)/21.9177807.0004336.81092199.59913496.980.6752210.3230450.1824740.2073860.2514690.0709920.0195340.0036650.0306640.0000000.00.05.9854422.8636041.6175221.8383562.2291230.6293010.1731570.0324900.2718190.0000000.00.01.4665385.9854422.0145580.0000000.0000000.7771852.8636040.8403370.0324901.8383560.1616440.4676560.1731570.2145650.27181945.2228150.7771850.840337-0.0NaN0.7731240.6390370.1616442.00.640813N/A28.333126
1NaNFalseRecalc Total<98.5Pargasite1b0.0000000.00000010.83661588.01661589.030.6565810.2808650.1649360.1950820.2118460.0658290.0159240.0000000.0235300.0000000.00.06.3804892.7293801.6028081.8957582.0586640.6397070.1547490.0000000.2286590.0000000.00.01.3377586.3804891.6195110.0000000.0000000.1370682.7293801.4657400.0000001.8957580.1042420.5354650.1547490.4391530.22865945.8629320.1370681.4657400.00.00.6506080.6300230.1042422.00.690215N/ANaN
2NaNFalseRecalc Total>102Mg-hastingsite1c+1d2.12004313.0950884.206872110.592004107.160.7136680.3535630.2225590.2161240.2801070.0784140.0250540.0076120.0433050.0003950.00.05.7226902.8351171.7846381.7330322.2460960.6287760.2009040.0610420.3472520.0031650.00.01.6212095.7226902.2460960.0312140.0031651.3151112.8351170.4695270.0610421.7330320.2669680.3618080.2009040.0000000.31603844.6848891.3151110.469527-0.0NaN0.8579190.6136940.2669682.00.562712N/A53.674852
3NaNFalseAPE >60Mg-hastingsite1b1.9336307.6042466.257602100.08547897.390.7023500.3361950.1823340.1974000.2177300.0732510.0201710.0054980.0344190.0001320.00.06.1748902.9557441.6030401.7354931.9142320.6440020.1773380.0483360.3026020.0011570.00.01.4786586.1748901.8251100.0000000.0011570.8373002.9557440.7657390.0483361.7354930.2645070.3794950.1773380.0891220.30260245.1627000.8373000.765739-0.0NaN0.7942380.6483620.2645072.00.556833N/A60.173092
4NaNFalseRecalc Total<98.5Mg-hastingsite1b1.7941954.5408527.67408392.62913090.380.6718930.3079100.1636830.1854530.1973300.0674420.0174110.0026780.0285360.0000000.00.06.3661852.9174471.5509011.7571651.8697060.6390150.1649660.0253780.2703820.0000000.00.01.3720316.3661851.6338150.0000000.0000000.5388482.9174471.0120530.0253781.7571650.2428350.3961800.1649660.2358910.27038245.4611520.5388481.012053-0.0NaN0.7424470.6529140.2428352.00.561146N/A36.692839
\n", "
" ], "text/plain": [ " P_kbar_calc Input_Check Fail Msg classification equation \\\n", "0 4.572174 True Mg-hastingsite (1b+1c)/2 \n", "1 NaN False Recalc Total<98.5 Pargasite 1b \n", "2 NaN False Recalc Total>102 Mg-hastingsite 1c+1d \n", "3 NaN False APE >60 Mg-hastingsite 1b \n", "4 NaN False Recalc Total<98.5 Mg-hastingsite 1b \n", "\n", " H2O_calc Fe2O3_calc FeO_calc Total_recalc Sum_input \\\n", "0 1.917780 7.000433 6.810921 99.599134 96.98 \n", "1 0.000000 0.000000 10.836615 88.016615 89.03 \n", "2 2.120043 13.095088 4.206872 110.592004 107.16 \n", "3 1.933630 7.604246 6.257602 100.085478 97.39 \n", "4 1.794195 4.540852 7.674083 92.629130 90.38 \n", "\n", " SiO2_Amp_cat_prop MgO_Amp_cat_prop FeOt_Amp_cat_prop CaO_Amp_cat_prop \\\n", "0 0.675221 0.323045 0.182474 0.207386 \n", "1 0.656581 0.280865 0.164936 0.195082 \n", "2 0.713668 0.353563 0.222559 0.216124 \n", "3 0.702350 0.336195 0.182334 0.197400 \n", "4 0.671893 0.307910 0.163683 0.185453 \n", "\n", " Al2O3_Amp_cat_prop Na2O_Amp_cat_prop K2O_Amp_cat_prop MnO_Amp_cat_prop \\\n", "0 0.251469 0.070992 0.019534 0.003665 \n", "1 0.211846 0.065829 0.015924 0.000000 \n", "2 0.280107 0.078414 0.025054 0.007612 \n", "3 0.217730 0.073251 0.020171 0.005498 \n", "4 0.197330 0.067442 0.017411 0.002678 \n", "\n", " TiO2_Amp_cat_prop Cr2O3_Amp_cat_prop F_Amp_cat_prop Cl_Amp_cat_prop \\\n", "0 0.030664 0.000000 0.0 0.0 \n", "1 0.023530 0.000000 0.0 0.0 \n", "2 0.043305 0.000395 0.0 0.0 \n", "3 0.034419 0.000132 0.0 0.0 \n", "4 0.028536 0.000000 0.0 0.0 \n", "\n", " Si_Amp_13_cat Mg_Amp_13_cat Fet_Amp_13_cat Ca_Amp_13_cat Al_Amp_13_cat \\\n", "0 5.985442 2.863604 1.617522 1.838356 2.229123 \n", "1 6.380489 2.729380 1.602808 1.895758 2.058664 \n", "2 5.722690 2.835117 1.784638 1.733032 2.246096 \n", "3 6.174890 2.955744 1.603040 1.735493 1.914232 \n", "4 6.366185 2.917447 1.550901 1.757165 1.869706 \n", "\n", " Na_Amp_13_cat K_Amp_13_cat Mn_Amp_13_cat Ti_Amp_13_cat Cr_Amp_13_cat \\\n", "0 0.629301 0.173157 0.032490 0.271819 0.000000 \n", "1 0.639707 0.154749 0.000000 0.228659 0.000000 \n", "2 0.628776 0.200904 0.061042 0.347252 0.003165 \n", "3 0.644002 0.177338 0.048336 0.302602 0.001157 \n", "4 0.639015 0.164966 0.025378 0.270382 0.000000 \n", "\n", " F_Amp_13_cat Cl_Amp_13_cat cation_sum_Si_Mg Si_T Al_IV_T \\\n", "0 0.0 0.0 1.466538 5.985442 2.014558 \n", "1 0.0 0.0 1.337758 6.380489 1.619511 \n", "2 0.0 0.0 1.621209 5.722690 2.246096 \n", "3 0.0 0.0 1.478658 6.174890 1.825110 \n", "4 0.0 0.0 1.372031 6.366185 1.633815 \n", "\n", " Ti_T Cr_C Fe3_C Mg_C Fe2_C Mn_C Ca_B \\\n", "0 0.000000 0.000000 0.777185 2.863604 0.840337 0.032490 1.838356 \n", "1 0.000000 0.000000 0.137068 2.729380 1.465740 0.000000 1.895758 \n", "2 0.031214 0.003165 1.315111 2.835117 0.469527 0.061042 1.733032 \n", "3 0.000000 0.001157 0.837300 2.955744 0.765739 0.048336 1.735493 \n", "4 0.000000 0.000000 0.538848 2.917447 1.012053 0.025378 1.757165 \n", "\n", " Na_B Na_A K_A Al_VI_C Ti_C Charge Fe3_calc \\\n", "0 0.161644 0.467656 0.173157 0.214565 0.271819 45.222815 0.777185 \n", "1 0.104242 0.535465 0.154749 0.439153 0.228659 45.862932 0.137068 \n", "2 0.266968 0.361808 0.200904 0.000000 0.316038 44.684889 1.315111 \n", "3 0.264507 0.379495 0.177338 0.089122 0.302602 45.162700 0.837300 \n", "4 0.242835 0.396180 0.164966 0.235891 0.270382 45.461152 0.538848 \n", "\n", " Fe2_calc O=F,Cl Total Mgno_Fe2 Mgno_FeT Na_calc B_Sum A_Sum \\\n", "0 0.840337 -0.0 NaN 0.773124 0.639037 0.161644 2.0 0.640813 \n", "1 1.465740 0.0 0.0 0.650608 0.630023 0.104242 2.0 0.690215 \n", "2 0.469527 -0.0 NaN 0.857919 0.613694 0.266968 2.0 0.562712 \n", "3 0.765739 -0.0 NaN 0.794238 0.648362 0.264507 2.0 0.556833 \n", "4 1.012053 -0.0 NaN 0.742447 0.652914 0.242835 2.0 0.561146 \n", "\n", " class APE \n", "0 N/A 28.333126 \n", "1 N/A NaN \n", "2 N/A 53.674852 \n", "3 N/A 60.173092 \n", "4 N/A 36.692839 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_Ridolfi2021=pt.calculate_amp_only_press(amp_comps=Amps, equationP=\"P_Ridolfi2021\")\n", "P_Ridolfi2021.head()" ] }, { "cell_type": "markdown", "id": "083c5650-d087-4b91-8e00-c940338b5077", "metadata": {}, "source": [ "#### Without quality filters\n", "- If you want to use the pressures which yield \"input errors\", you can specify \"Ridolfi_Filter=False\"\n", "- This is more for looking at what ones it has discarded, we don't necessarily recomend this, we just have it as a feature you can use at your peril. " ] }, { "cell_type": "code", "execution_count": 7, "id": "effba148-b577-4ef1-b481-0f7d56cb12f3", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
P_kbar_calcInput_CheckFail MsgclassificationequationH2O_calcFe2O3_calcFeO_calcTotal_recalcSum_inputSiO2_Amp_cat_propMgO_Amp_cat_propFeOt_Amp_cat_propCaO_Amp_cat_propAl2O3_Amp_cat_propNa2O_Amp_cat_propK2O_Amp_cat_propMnO_Amp_cat_propTiO2_Amp_cat_propCr2O3_Amp_cat_propF_Amp_cat_propCl_Amp_cat_propSi_Amp_13_catMg_Amp_13_catFet_Amp_13_catCa_Amp_13_catAl_Amp_13_catNa_Amp_13_catK_Amp_13_catMn_Amp_13_catTi_Amp_13_catCr_Amp_13_catF_Amp_13_catCl_Amp_13_catcation_sum_Si_MgSi_TAl_IV_TTi_TCr_CFe3_CMg_CFe2_CMn_CCa_BNa_BNa_AK_AAl_VI_CTi_CChargeFe3_calcFe2_calcO=F,ClTotalMgno_Fe2Mgno_FeTNa_calcB_SumA_SumclassAPE
04.572174TrueMg-hastingsite(1b+1c)/21.9177807.0004336.81092199.59913496.980.6752210.3230450.1824740.2073860.2514690.0709920.0195340.0036650.0306640.0000000.00.05.9854422.8636041.6175221.8383562.2291230.6293010.1731570.0324900.2718190.0000000.00.01.4665385.9854422.0145580.0000000.0000000.7771852.8636040.8403370.0324901.8383560.1616440.4676560.1731570.2145650.27181945.2228150.7771850.840337-0.0NaN0.7731240.6390370.1616442.00.640813N/A28.333126
1NaNFalseRecalc Total<98.5Pargasite1b0.0000000.00000010.83661588.01661589.030.6565810.2808650.1649360.1950820.2118460.0658290.0159240.0000000.0235300.0000000.00.06.3804892.7293801.6028081.8957582.0586640.6397070.1547490.0000000.2286590.0000000.00.01.3377586.3804891.6195110.0000000.0000000.1370682.7293801.4657400.0000001.8957580.1042420.5354650.1547490.4391530.22865945.8629320.1370681.4657400.00.00.6506080.6300230.1042422.00.690215N/ANaN
26.203253FalseRecalc Total>102Mg-hastingsite1c+1d2.12004313.0950884.206872110.592004107.160.7136680.3535630.2225590.2161240.2801070.0784140.0250540.0076120.0433050.0003950.00.05.7226902.8351171.7846381.7330322.2460960.6287760.2009040.0610420.3472520.0031650.00.01.6212095.7226902.2460960.0312140.0031651.3151112.8351170.4695270.0610421.7330320.2669680.3618080.2009040.0000000.31603844.6848891.3151110.469527-0.0NaN0.8579190.6136940.2669682.00.562712N/A53.674852
33.228704FalseAPE >60Mg-hastingsite1b1.9336307.6042466.257602100.08547897.390.7023500.3361950.1823340.1974000.2177300.0732510.0201710.0054980.0344190.0001320.00.06.1748902.9557441.6030401.7354931.9142320.6440020.1773380.0483360.3026020.0011570.00.01.4786586.1748901.8251100.0000000.0011570.8373002.9557440.7657390.0483361.7354930.2645070.3794950.1773380.0891220.30260245.1627000.8373000.765739-0.0NaN0.7942380.6483620.2645072.00.556833N/A60.173092
42.761702FalseRecalc Total<98.5Mg-hastingsite1b1.7941954.5408527.67408392.62913090.380.6718930.3079100.1636830.1854530.1973300.0674420.0174110.0026780.0285360.0000000.00.06.3661852.9174471.5509011.7571651.8697060.6390150.1649660.0253780.2703820.0000000.00.01.3720316.3661851.6338150.0000000.0000000.5388482.9174471.0120530.0253781.7571650.2428350.3961800.1649660.2358910.27038245.4611520.5388481.012053-0.0NaN0.7424470.6529140.2428352.00.561146N/A36.692839
\n", "
" ], "text/plain": [ " P_kbar_calc Input_Check Fail Msg classification equation \\\n", "0 4.572174 True Mg-hastingsite (1b+1c)/2 \n", "1 NaN False Recalc Total<98.5 Pargasite 1b \n", "2 6.203253 False Recalc Total>102 Mg-hastingsite 1c+1d \n", "3 3.228704 False APE >60 Mg-hastingsite 1b \n", "4 2.761702 False Recalc Total<98.5 Mg-hastingsite 1b \n", "\n", " H2O_calc Fe2O3_calc FeO_calc Total_recalc Sum_input \\\n", "0 1.917780 7.000433 6.810921 99.599134 96.98 \n", "1 0.000000 0.000000 10.836615 88.016615 89.03 \n", "2 2.120043 13.095088 4.206872 110.592004 107.16 \n", "3 1.933630 7.604246 6.257602 100.085478 97.39 \n", "4 1.794195 4.540852 7.674083 92.629130 90.38 \n", "\n", " SiO2_Amp_cat_prop MgO_Amp_cat_prop FeOt_Amp_cat_prop CaO_Amp_cat_prop \\\n", "0 0.675221 0.323045 0.182474 0.207386 \n", "1 0.656581 0.280865 0.164936 0.195082 \n", "2 0.713668 0.353563 0.222559 0.216124 \n", "3 0.702350 0.336195 0.182334 0.197400 \n", "4 0.671893 0.307910 0.163683 0.185453 \n", "\n", " Al2O3_Amp_cat_prop Na2O_Amp_cat_prop K2O_Amp_cat_prop MnO_Amp_cat_prop \\\n", "0 0.251469 0.070992 0.019534 0.003665 \n", "1 0.211846 0.065829 0.015924 0.000000 \n", "2 0.280107 0.078414 0.025054 0.007612 \n", "3 0.217730 0.073251 0.020171 0.005498 \n", "4 0.197330 0.067442 0.017411 0.002678 \n", "\n", " TiO2_Amp_cat_prop Cr2O3_Amp_cat_prop F_Amp_cat_prop Cl_Amp_cat_prop \\\n", "0 0.030664 0.000000 0.0 0.0 \n", "1 0.023530 0.000000 0.0 0.0 \n", "2 0.043305 0.000395 0.0 0.0 \n", "3 0.034419 0.000132 0.0 0.0 \n", "4 0.028536 0.000000 0.0 0.0 \n", "\n", " Si_Amp_13_cat Mg_Amp_13_cat Fet_Amp_13_cat Ca_Amp_13_cat Al_Amp_13_cat \\\n", "0 5.985442 2.863604 1.617522 1.838356 2.229123 \n", "1 6.380489 2.729380 1.602808 1.895758 2.058664 \n", "2 5.722690 2.835117 1.784638 1.733032 2.246096 \n", "3 6.174890 2.955744 1.603040 1.735493 1.914232 \n", "4 6.366185 2.917447 1.550901 1.757165 1.869706 \n", "\n", " Na_Amp_13_cat K_Amp_13_cat Mn_Amp_13_cat Ti_Amp_13_cat Cr_Amp_13_cat \\\n", "0 0.629301 0.173157 0.032490 0.271819 0.000000 \n", "1 0.639707 0.154749 0.000000 0.228659 0.000000 \n", "2 0.628776 0.200904 0.061042 0.347252 0.003165 \n", "3 0.644002 0.177338 0.048336 0.302602 0.001157 \n", "4 0.639015 0.164966 0.025378 0.270382 0.000000 \n", "\n", " F_Amp_13_cat Cl_Amp_13_cat cation_sum_Si_Mg Si_T Al_IV_T \\\n", "0 0.0 0.0 1.466538 5.985442 2.014558 \n", "1 0.0 0.0 1.337758 6.380489 1.619511 \n", "2 0.0 0.0 1.621209 5.722690 2.246096 \n", "3 0.0 0.0 1.478658 6.174890 1.825110 \n", "4 0.0 0.0 1.372031 6.366185 1.633815 \n", "\n", " Ti_T Cr_C Fe3_C Mg_C Fe2_C Mn_C Ca_B \\\n", "0 0.000000 0.000000 0.777185 2.863604 0.840337 0.032490 1.838356 \n", "1 0.000000 0.000000 0.137068 2.729380 1.465740 0.000000 1.895758 \n", "2 0.031214 0.003165 1.315111 2.835117 0.469527 0.061042 1.733032 \n", "3 0.000000 0.001157 0.837300 2.955744 0.765739 0.048336 1.735493 \n", "4 0.000000 0.000000 0.538848 2.917447 1.012053 0.025378 1.757165 \n", "\n", " Na_B Na_A K_A Al_VI_C Ti_C Charge Fe3_calc \\\n", "0 0.161644 0.467656 0.173157 0.214565 0.271819 45.222815 0.777185 \n", "1 0.104242 0.535465 0.154749 0.439153 0.228659 45.862932 0.137068 \n", "2 0.266968 0.361808 0.200904 0.000000 0.316038 44.684889 1.315111 \n", "3 0.264507 0.379495 0.177338 0.089122 0.302602 45.162700 0.837300 \n", "4 0.242835 0.396180 0.164966 0.235891 0.270382 45.461152 0.538848 \n", "\n", " Fe2_calc O=F,Cl Total Mgno_Fe2 Mgno_FeT Na_calc B_Sum A_Sum \\\n", "0 0.840337 -0.0 NaN 0.773124 0.639037 0.161644 2.0 0.640813 \n", "1 1.465740 0.0 0.0 0.650608 0.630023 0.104242 2.0 0.690215 \n", "2 0.469527 -0.0 NaN 0.857919 0.613694 0.266968 2.0 0.562712 \n", "3 0.765739 -0.0 NaN 0.794238 0.648362 0.264507 2.0 0.556833 \n", "4 1.012053 -0.0 NaN 0.742447 0.652914 0.242835 2.0 0.561146 \n", "\n", " class APE \n", "0 N/A 28.333126 \n", "1 N/A NaN \n", "2 N/A 53.674852 \n", "3 N/A 60.173092 \n", "4 N/A 36.692839 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_Ridolfi2021=pt.calculate_amp_only_press(amp_comps=Amps, equationP=\"P_Ridolfi2021\", \n", " Ridolfi_Filter=False)\n", "P_Ridolfi2021.head()" ] }, { "cell_type": "markdown", "id": "1d2c5945-28cb-4634-b1e0-fa389f10af66", "metadata": {}, "source": [ "### Mutch et al. (2016)" ] }, { "cell_type": "code", "execution_count": 8, "id": "08c12f00-92a5-4e2b-8ee6-7169adbf2728", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
P_kbar_calcSi_TAl_TAl_CTi_CMg_CFe3_CFe2_CMn_CCr_CMg_BFe2_BMn_BNa_BCa_BNa_AK_AAl_tot
06.2525776.0250541.9749460.2689400.2736852.8825410.4775031.0973310.000000e+000.000000.00.0533920.0327050.0633191.8505840.5701500.1743022.243886
15.4164896.3931601.6068400.4559220.2291692.7347870.0456321.5344900.000000e+000.000000.00.0258690.0000000.0745451.8995860.5664370.1550562.062763
26.3807555.7847452.2152550.0552090.3511032.8658460.8300900.8945510.000000e+000.003200.00.0793480.0617030.1070651.7518840.5285330.2030812.270464
34.8671116.2427181.7572820.1779870.3060012.9881960.3407901.185856-8.881784e-160.001170.00.0940010.0488660.1025161.7546160.5485640.1792851.935268
44.6622316.4205951.5794050.3062900.2727602.9423670.1499181.3286640.000000e+000.000000.00.0855730.0255950.1165901.7722420.5278910.1663751.885695
\n", "
" ], "text/plain": [ " P_kbar_calc Si_T Al_T Al_C Ti_C Mg_C Fe3_C \\\n", "0 6.252577 6.025054 1.974946 0.268940 0.273685 2.882541 0.477503 \n", "1 5.416489 6.393160 1.606840 0.455922 0.229169 2.734787 0.045632 \n", "2 6.380755 5.784745 2.215255 0.055209 0.351103 2.865846 0.830090 \n", "3 4.867111 6.242718 1.757282 0.177987 0.306001 2.988196 0.340790 \n", "4 4.662231 6.420595 1.579405 0.306290 0.272760 2.942367 0.149918 \n", "\n", " Fe2_C Mn_C Cr_C Mg_B Fe2_B Mn_B Na_B \\\n", "0 1.097331 0.000000e+00 0.00000 0.0 0.053392 0.032705 0.063319 \n", "1 1.534490 0.000000e+00 0.00000 0.0 0.025869 0.000000 0.074545 \n", "2 0.894551 0.000000e+00 0.00320 0.0 0.079348 0.061703 0.107065 \n", "3 1.185856 -8.881784e-16 0.00117 0.0 0.094001 0.048866 0.102516 \n", "4 1.328664 0.000000e+00 0.00000 0.0 0.085573 0.025595 0.116590 \n", "\n", " Ca_B Na_A K_A Al_tot \n", "0 1.850584 0.570150 0.174302 2.243886 \n", "1 1.899586 0.566437 0.155056 2.062763 \n", "2 1.751884 0.528533 0.203081 2.270464 \n", "3 1.754616 0.548564 0.179285 1.935268 \n", "4 1.772242 0.527891 0.166375 1.885695 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_Mutch2016=pt.calculate_amp_only_press(amp_comps=Amps, equationP=\"P_Mutch2016\")\n", "P_Mutch2016.head()" ] }, { "cell_type": "markdown", "id": "d6721df3-ccd7-4b7f-a468-330b93ae957b", "metadata": {}, "source": [ "## Example 2 - Amphibole-only temperatures\n", "- Unlike pressures, some thermometers are sensitive to P\n", "- here, we calculate tempeatures for P=5 kbar" ] }, { "cell_type": "code", "execution_count": 9, "id": "433d663f-72a2-4433-b815-4cdbbcd31d0c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 949.569936\n", "1 909.242756\n", "2 970.552036\n", "3 932.138448\n", "4 913.234118\n", "dtype: float64" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_Put2016_5kbar=pt.calculate_amp_only_temp(amp_comps=Amps, equationT=\"T_Put2016_eq6\", P=5)-273.15\n", "P_Put2016_5kbar.head()" ] }, { "cell_type": "markdown", "id": "e81e43ef-a874-4ae0-8ede-cc3bbac758af", "metadata": {}, "source": [ "## Example 3 - Iterating P and T\n", "- We can also iterate pressure and temperature - most barometers are actually T-insensitive, so it isn't actually iterating, but instead calculates the pressure first, then uses this to calculate the temperature (which does depend on P)." ] }, { "cell_type": "code", "execution_count": 10, "id": "557fd5be-4777-407b-9256-c321cf2ec372", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
P_kbar_calcT_K_calcDelta_P_kbar_IterDelta_T_K_IterSiO2_AmpTiO2_AmpAl2O3_AmpFeOt_AmpMnO_AmpMgO_AmpCaO_AmpNa2O_AmpK2O_AmpCr2O3_AmpF_AmpCl_AmpSample_ID_Amp
06.2525771225.5307200040.572.4512.8213.110.2613.0211.632.200.920.0000probe1
15.4164891183.3273570039.451.8810.8011.850.0011.3210.942.040.750.0000probe2
26.3807551246.8004500042.883.4614.2815.990.5414.2512.122.431.180.0300probe3
34.8671111204.9902440042.202.7511.1013.100.3913.5511.072.270.950.0100probe4
44.6622311185.6261650040.372.2810.0611.760.1912.4110.402.090.820.0000probe5
\n", "
" ], "text/plain": [ " P_kbar_calc T_K_calc Delta_P_kbar_Iter Delta_T_K_Iter SiO2_Amp \\\n", "0 6.252577 1225.530720 0 0 40.57 \n", "1 5.416489 1183.327357 0 0 39.45 \n", "2 6.380755 1246.800450 0 0 42.88 \n", "3 4.867111 1204.990244 0 0 42.20 \n", "4 4.662231 1185.626165 0 0 40.37 \n", "\n", " TiO2_Amp Al2O3_Amp FeOt_Amp MnO_Amp MgO_Amp CaO_Amp Na2O_Amp \\\n", "0 2.45 12.82 13.11 0.26 13.02 11.63 2.20 \n", "1 1.88 10.80 11.85 0.00 11.32 10.94 2.04 \n", "2 3.46 14.28 15.99 0.54 14.25 12.12 2.43 \n", "3 2.75 11.10 13.10 0.39 13.55 11.07 2.27 \n", "4 2.28 10.06 11.76 0.19 12.41 10.40 2.09 \n", "\n", " K2O_Amp Cr2O3_Amp F_Amp Cl_Amp Sample_ID_Amp \n", "0 0.92 0.00 0 0 probe1 \n", "1 0.75 0.00 0 0 probe2 \n", "2 1.18 0.03 0 0 probe3 \n", "3 0.95 0.01 0 0 probe4 \n", "4 0.82 0.00 0 0 probe5 " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "PT_Mutch=pt.calculate_amp_only_press_temp(amp_comps=Amps, equationT=\"T_Put2016_eq6\", \n", " equationP=\"P_Mutch2016\")\n", "PT_Mutch.head()" ] }, { "cell_type": "code", "execution_count": 11, "id": "e37c82b9-2f5f-4139-955b-36ed8a979b06", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
P_kbar_calcT_K_calcInput_CheckFail MsgclassificationequationSiO2_AmpTiO2_AmpAl2O3_AmpFeOt_AmpMnO_AmpMgO_AmpCaO_AmpNa2O_AmpK2O_AmpCr2O3_AmpF_AmpCl_AmpSample_ID_Amp
04.5721741214.531361TrueMg-hastingsite(1b+1c)/240.572.4512.8213.110.2613.0211.632.200.920.0000probe1
1NaNNaNFalseRecalc Total<98.5Pargasite1b39.451.8810.8011.850.0011.3210.942.040.750.0000probe2
2NaNNaNFalseRecalc Total>102Mg-hastingsite1c+1d42.883.4614.2815.990.5414.2512.122.431.180.0300probe3
3NaNNaNFalseAPE >60Mg-hastingsite1b42.202.7511.1013.100.3913.5511.072.270.950.0100probe4
4NaNNaNFalseRecalc Total<98.5Mg-hastingsite1b40.372.2810.0611.760.1912.4110.402.090.820.0000probe5
\n", "
" ], "text/plain": [ " P_kbar_calc T_K_calc Input_Check Fail Msg classification \\\n", "0 4.572174 1214.531361 True Mg-hastingsite \n", "1 NaN NaN False Recalc Total<98.5 Pargasite \n", "2 NaN NaN False Recalc Total>102 Mg-hastingsite \n", "3 NaN NaN False APE >60 Mg-hastingsite \n", "4 NaN NaN False Recalc Total<98.5 Mg-hastingsite \n", "\n", " equation SiO2_Amp TiO2_Amp Al2O3_Amp FeOt_Amp MnO_Amp MgO_Amp \\\n", "0 (1b+1c)/2 40.57 2.45 12.82 13.11 0.26 13.02 \n", "1 1b 39.45 1.88 10.80 11.85 0.00 11.32 \n", "2 1c+1d 42.88 3.46 14.28 15.99 0.54 14.25 \n", "3 1b 42.20 2.75 11.10 13.10 0.39 13.55 \n", "4 1b 40.37 2.28 10.06 11.76 0.19 12.41 \n", "\n", " CaO_Amp Na2O_Amp K2O_Amp Cr2O3_Amp F_Amp Cl_Amp Sample_ID_Amp \n", "0 11.63 2.20 0.92 0.00 0 0 probe1 \n", "1 10.94 2.04 0.75 0.00 0 0 probe2 \n", "2 12.12 2.43 1.18 0.03 0 0 probe3 \n", "3 11.07 2.27 0.95 0.01 0 0 probe4 \n", "4 10.40 2.09 0.82 0.00 0 0 probe5 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Same, but iterating Ridolfi 2021 and Ridolfi 2012\n", "PT_Ridolfi=pt.calculate_amp_only_press_temp(amp_comps=Amps, equationT=\"T_Ridolfi2012\", \n", " equationP=\"P_Ridolfi2021\")\n", "PT_Ridolfi.head()" ] }, { "cell_type": "code", "execution_count": 12, "id": "8c71efc6-1926-4292-8d25-2a8403d1707c", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
P_kbar_calcT_K_calcInput_CheckFail MsgclassificationequationSiO2_AmpTiO2_AmpAl2O3_AmpFeOt_AmpMnO_AmpMgO_AmpCaO_AmpNa2O_AmpK2O_AmpCr2O3_AmpF_AmpCl_AmpSample_ID_Amp
04.5721741214.531361TrueMg-hastingsite(1b+1c)/240.572.4512.8213.110.2613.0211.632.200.920.0000probe1
1NaNNaNFalseRecalc Total<98.5Pargasite1b39.451.8810.8011.850.0011.3210.942.040.750.0000probe2
26.2032531289.245454FalseRecalc Total>102Mg-hastingsite1c+1d42.883.4614.2815.990.5414.2512.122.431.180.0300probe3
33.2287041212.306099FalseAPE >60Mg-hastingsite1b42.202.7511.1013.100.3913.5511.072.270.950.0100probe4
42.7617021165.913034FalseRecalc Total<98.5Mg-hastingsite1b40.372.2810.0611.760.1912.4110.402.090.820.0000probe5
\n", "
" ], "text/plain": [ " P_kbar_calc T_K_calc Input_Check Fail Msg classification \\\n", "0 4.572174 1214.531361 True Mg-hastingsite \n", "1 NaN NaN False Recalc Total<98.5 Pargasite \n", "2 6.203253 1289.245454 False Recalc Total>102 Mg-hastingsite \n", "3 3.228704 1212.306099 False APE >60 Mg-hastingsite \n", "4 2.761702 1165.913034 False Recalc Total<98.5 Mg-hastingsite \n", "\n", " equation SiO2_Amp TiO2_Amp Al2O3_Amp FeOt_Amp MnO_Amp MgO_Amp \\\n", "0 (1b+1c)/2 40.57 2.45 12.82 13.11 0.26 13.02 \n", "1 1b 39.45 1.88 10.80 11.85 0.00 11.32 \n", "2 1c+1d 42.88 3.46 14.28 15.99 0.54 14.25 \n", "3 1b 42.20 2.75 11.10 13.10 0.39 13.55 \n", "4 1b 40.37 2.28 10.06 11.76 0.19 12.41 \n", "\n", " CaO_Amp Na2O_Amp K2O_Amp Cr2O3_Amp F_Amp Cl_Amp Sample_ID_Amp \n", "0 11.63 2.20 0.92 0.00 0 0 probe1 \n", "1 10.94 2.04 0.75 0.00 0 0 probe2 \n", "2 12.12 2.43 1.18 0.03 0 0 probe3 \n", "3 11.07 2.27 0.95 0.01 0 0 probe4 \n", "4 10.40 2.09 0.82 0.00 0 0 probe5 " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# As above, but without quality filters\n", "PT_Ridolfi=pt.calculate_amp_only_press_temp(amp_comps=Amps, equationT=\"T_Ridolfi2012\", \n", " equationP=\"P_Ridolfi2021\", Ridolfi_Filter=False)\n", "PT_Ridolfi.head()" ] }, { "cell_type": "markdown", "id": "9a054fdc-b3c7-4623-a82c-0c5c2c2e1f66", "metadata": {}, "source": [ "## Example 4 - Amphibole-liquid thermometry\n", "- as for Amp-only, except also specify liquid composition\n", "- help function details your options" ] }, { "cell_type": "code", "execution_count": 13, "id": "002185cf-9a85-4652-a853-6cd3de0e2814", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Help on function calculate_amp_liq_temp in module Thermobar.amphibole:\n", "\n", "calculate_amp_liq_temp(*, amp_comps=None, liq_comps=None, meltmatch=None, equationT=None, P=None, H2O_Liq=None, eq_tests=False)\n", " Amphibole-liquid thermometers. Returns temperature in Kelvin.\n", " \n", " Parameters\n", " -------\n", " \n", " amp_comps: pandas DataFrame\n", " amphibole compositions (SiO2_Amp, TiO2_Amp etc.)\n", " \n", " liq_comps: pandas DataFrame\n", " liquid compositions (SiO2_Liq, TiO2_Liq etc.)\n", " \n", " equationT: str\n", " T_Put2016_eq4a_amp_sat (P-independent, H2O-dep through hydrous fractions)\n", " T_Put2016_eq4b (P-independent, H2O-dep)\n", " T_Put2016_eq9 (P-independent, H2O-dep through hydrous fractions)\n", " \n", " P: float, int, pandas.Series, str (\"Solve\")\n", " Pressure in kbar\n", " Only needed for P-sensitive thermometers.\n", " If enter P=\"Solve\", returns a partial function\n", " Else, enter an integer, float, or panda series\n", " \n", " eq_tests: bool. Default False\n", " If True, also calcualtes Kd Fe-Mg, which Putirka (2016) suggest\n", " as an equilibrium test.\n", " \n", " \n", " Returns\n", " -------\n", " pandas.core.series.Series\n", " Temperature in Kelvin\n", "\n" ] } ], "source": [ "help(pt.calculate_amp_liq_temp)" ] }, { "cell_type": "markdown", "id": "70aad809-9dbd-4445-b5d5-22af6258a564", "metadata": {}, "source": [ "### Using T_Put2016_eq4a_amp_sat. \n", "- Note, this calculates the temperature at which a liquid is saturated in amphibole, not the temperature of the liquid" ] }, { "cell_type": "code", "execution_count": 14, "id": "811c2b0f-0b09-42a4-8cac-457ce62a6522", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 955.645223\n", "1 953.150156\n", "2 948.694038\n", "3 960.445436\n", "4 959.956477\n", "dtype: float64" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq4a_T=pt.calculate_amp_liq_temp(liq_comps=Liqs, amp_comps=Amps, \n", " equationT=\"T_Put2016_eq4a_amp_sat\")-273.15\n", "eq4a_T.head()" ] }, { "cell_type": "markdown", "id": "55d55fc3-5a7b-4173-94f2-fa1d504e803b", "metadata": {}, "source": [ "### Assessing equilibrium \n", "- As for other functions, you can also specify eq_tests=True, to get the Kd Fe-Mg value Putirka suggest may be a useful equilibrium test (+0.28+-0.11)" ] }, { "cell_type": "code", "execution_count": 15, "id": "20146a0c-a434-4df8-9274-335f587a26b5", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
T_K_calcKd-Fe-MgEq Putirka 2016?
01228.7952230.269594Y
11226.3001560.269763Y
21221.8440380.269914Y
31233.5954360.269310Y
41233.1064770.269070Y
\n", "
" ], "text/plain": [ " T_K_calc Kd-Fe-Mg Eq Putirka 2016?\n", "0 1228.795223 0.269594 Y\n", "1 1226.300156 0.269763 Y\n", "2 1221.844038 0.269914 Y\n", "3 1233.595436 0.269310 Y\n", "4 1233.106477 0.269070 Y" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq4a_T_EqTest=pt.calculate_amp_liq_temp(liq_comps=Liqs, amp_comps=Amps, \n", " equationT=\"T_Put2016_eq4a_amp_sat\", \n", " eq_tests=True)\n", "eq4a_T_EqTest.head()" ] }, { "cell_type": "markdown", "id": "fde4ae25-ee5e-4f7c-8fa6-f0d0098fe4c9", "metadata": {}, "source": [ "### Overwriting H2O_Liq.\n", "- These equations are a little sensitive to melt H2O, because they are parameterized in terms of hydrous fractions, and some contain a separate T term too. You can overwrite the H2O_Liq value in the entered spreadsheet" ] }, { "cell_type": "code", "execution_count": 16, "id": "58e27bd3-a55c-4a2a-a60a-33ee0baf9b7e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 956.245340\n", "1 956.054834\n", "2 954.875620\n", "3 958.149927\n", "4 956.046688\n", "dtype: float64" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq4a_T_1H2O=pt.calculate_amp_liq_temp(liq_comps=Liqs, amp_comps=Amps,\n", " equationT=\"T_Put2016_eq4a_amp_sat\", H2O_Liq=1)-273.15\n", "eq4a_T_1H2O.head()" ] }, { "cell_type": "markdown", "id": "111bbfa3-e94d-4b41-aa5c-2ff90fcd6e28", "metadata": {}, "source": [ "## Example 5 - Amphibole-Liquid barometry\n", "- Here we are overwriting the input H2O content with 1, if you remove this, reads from spreadsheet" ] }, { "cell_type": "code", "execution_count": 17, "id": "02f1baca-caf9-4e5d-9815-fe80c7b38a15", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Note - Putirka 2016 spreadsheet calculates H2O using a H2O-solubility law of uncertian origin based on the pressure calculated for 7a, and iterates H2O and P. We dont do this, as we dont believe a pure h2o model is necessarily valid as you may be mixed fluid saturated or undersaturated. We recomend instead you choose a reasonable H2O content based on your system.\n" ] }, { "data": { "text/plain": [ "0 4.328014\n", "1 2.960536\n", "2 5.182170\n", "3 3.167717\n", "4 2.728212\n", "dtype: float64" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq7a_T_1H2O=pt.calculate_amp_liq_press(liq_comps=Liqs, amp_comps=Amps, \n", " equationP=\"P_Put2016_eq7a\", H2O_Liq=1)\n", "eq7a_T_1H2O.head()" ] }, { "cell_type": "markdown", "id": "0aa2fda8-70f1-4510-8f73-c6747f980710", "metadata": {}, "source": [ "## Example 6 - Iterating equations for pressure and temperature for amphibole liquid\n", "- The function prints to tell you actually you selected 2 functions independent of P and T, so only 1 iterative step is being done." ] }, { "cell_type": "code", "execution_count": 18, "id": "b8c90d28-e153-4d6e-9ef7-920c7d2a39cf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Youve selected a P-independent function\n", "Note - Putirka 2016 spreadsheet calculates H2O using a H2O-solubility law of uncertian origin based on the pressure calculated for 7a, and iterates H2O and P. We dont do this, as we dont believe a pure h2o model is necessarily valid as you may be mixed fluid saturated or undersaturated. We recomend instead you choose a reasonable H2O content based on your system.\n", "Youve selected a T-independent function\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
P_kbar_calcT_K_calcDelta_P_kbar_IterDelta_T_K_Iter
06.1680271202.5072840.00.0
14.8012231189.3763710.00.0
27.0238251185.0970510.00.0
35.0068901216.9752190.00.0
44.5669141219.9443340.00.0
\n", "
" ], "text/plain": [ " P_kbar_calc T_K_calc Delta_P_kbar_Iter Delta_T_K_Iter\n", "0 6.168027 1202.507284 0.0 0.0\n", "1 4.801223 1189.376371 0.0 0.0\n", "2 7.023825 1185.097051 0.0 0.0\n", "3 5.006890 1216.975219 0.0 0.0\n", "4 4.566914 1219.944334 0.0 0.0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq7a_eq4b=pt.calculate_amp_liq_press_temp(liq_comps=Liqs, amp_comps=Amps, \n", " equationP=\"P_Put2016_eq7a\", \n", " equationT=\"T_Put2016_eq4b\")\n", "eq7a_eq4b.head()" ] }, { "cell_type": "markdown", "id": "6530d3c9-a1c8-4ceb-86a6-00326cdb95d3", "metadata": {}, "source": [ "### Both are actually pretty sensitive to water. " ] }, { "cell_type": "code", "execution_count": 19, "id": "06e19ef2-a314-4fef-9c93-d9786e6b8864", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Youve selected a P-independent function\n", "Note - Putirka 2016 spreadsheet calculates H2O using a H2O-solubility law of uncertian origin based on the pressure calculated for 7a, and iterates H2O and P. We dont do this, as we dont believe a pure h2o model is necessarily valid as you may be mixed fluid saturated or undersaturated. We recomend instead you choose a reasonable H2O content based on your system.\n", "Youve selected a T-independent function\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
P_kbar_calcT_K_calcDelta_P_kbar_IterDelta_T_K_Iter
04.3280141192.9340860.00.0
12.9605361180.0680370.00.0
25.1821701175.8716300.00.0
33.1677171207.1063790.00.0
42.7282121210.0154160.00.0
\n", "
" ], "text/plain": [ " P_kbar_calc T_K_calc Delta_P_kbar_Iter Delta_T_K_Iter\n", "0 4.328014 1192.934086 0.0 0.0\n", "1 2.960536 1180.068037 0.0 0.0\n", "2 5.182170 1175.871630 0.0 0.0\n", "3 3.167717 1207.106379 0.0 0.0\n", "4 2.728212 1210.015416 0.0 0.0" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq7a_eq4b_1H2O=pt.calculate_amp_liq_press_temp(liq_comps=Liqs, amp_comps=Amps, \n", " equationP=\"P_Put2016_eq7a\", \n", " equationT=\"T_Put2016_eq4b\", \n", " H2O_Liq=1)\n", "eq7a_eq4b_1H2O.head()" ] }, { "cell_type": "markdown", "id": "5a71266f-b3df-4c25-81b0-39740ad5c697", "metadata": {}, "source": [ "### can also specify eq_tests=True, and it calculates Kd Fe-Mg, and then classifies within this is within the suggested range of Putirka (2008)" ] }, { "cell_type": "code", "execution_count": 20, "id": "aff62dc7-c8cb-41e7-b763-578c29da1007", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Youve selected a P-independent function\n", "Note - Putirka 2016 spreadsheet calculates H2O using a H2O-solubility law of uncertian origin based on the pressure calculated for 7a, and iterates H2O and P. We dont do this, as we dont believe a pure h2o model is necessarily valid as you may be mixed fluid saturated or undersaturated. We recomend instead you choose a reasonable H2O content based on your system.\n", "Youve selected a T-independent function\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
P_kbar_calcT_K_calcDelta_P_kbar_IterDelta_T_K_IterKd-Fe-MgEq Putirka 2016?
04.3280141192.9340860.00.00.269594Y
12.9605361180.0680370.00.00.269763Y
25.1821701175.8716300.00.00.269914Y
33.1677171207.1063790.00.00.269310Y
42.7282121210.0154160.00.00.269070Y
\n", "
" ], "text/plain": [ " P_kbar_calc T_K_calc Delta_P_kbar_Iter Delta_T_K_Iter Kd-Fe-Mg \\\n", "0 4.328014 1192.934086 0.0 0.0 0.269594 \n", "1 2.960536 1180.068037 0.0 0.0 0.269763 \n", "2 5.182170 1175.871630 0.0 0.0 0.269914 \n", "3 3.167717 1207.106379 0.0 0.0 0.269310 \n", "4 2.728212 1210.015416 0.0 0.0 0.269070 \n", "\n", " Eq Putirka 2016? \n", "0 Y \n", "1 Y \n", "2 Y \n", "3 Y \n", "4 Y " ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq7a_eq4b_1H2O_EqTests=pt.calculate_amp_liq_press_temp(liq_comps=Liqs, amp_comps=Amps, \n", " equationP=\"P_Put2016_eq7a\", \n", " equationT=\"T_Put2016_eq4b\", \n", " H2O_Liq=1, eq_tests=True)\n", "eq7a_eq4b_1H2O_EqTests.head()" ] }, { "cell_type": "markdown", "id": "e4cdb7af-d3bc-4437-814c-0c00976bc2a1", "metadata": {}, "source": [ "## Example 8 - Calculating melt compositions from amphibole compositions.\n", "- You need to specify amphibole compositions.\n", "- For some equations, e.g., equation 3 and 5 from Zhang, Putirka (2016) SiO2 content you also need to specify temperature. \n", "- If you don't, it returns a warning telling you that you won't get results for 3 equations unless you enter a T." ] }, { "cell_type": "code", "execution_count": 21, "id": "ca1c3fed-7097-498e-b94b-4a8959ea87e6", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "C:\\Users\\penny\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:2115: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)\n", " new_ix = Index(new_ix)\n", "g:\\my drive\\postdoc\\pymme\\mybarometers\\thermobar_outer\\src\\Thermobar\\amphibole.py:297: UserWarning: You must enter a value for T in Kelvin to get results from equation3 and 5 from Zhang, and SiO2 from Putrka (2016)\n", " w.warn('You must enter a value for T in Kelvin to get results from equation3 and 5 from Zhang, and SiO2 from Putrka (2016)')\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SiO2_Eq1_Zhang17SiO2_Eq2_Zhang17SiO2_Eq4_Zhang17TiO2_Eq6_Zhang17FeO_Eq7_Zhang17MgO_Eq9_Zhang17CaO_Eq10_Zhang17CaO_Eq11_Zhang17K2O_Eq12_Zhang17K2O_Eq13_Zhang17Al2O3_Eq14_Zhang17H2O_Ridolfi21deltaNNO_Ridolfi21Si_Amp_cat_23oxMg_Amp_cat_23oxFet_Amp_cat_23oxCa_Amp_cat_23oxAl_Amp_cat_23oxNa_Amp_cat_23oxK_Amp_cat_23oxMn_Amp_cat_23oxTi_Amp_cat_23oxCr_Amp_cat_23oxoxy_renorm_factorcation_sum_Si_Mgcation_sum_Si_Cacation_sum_AllMgno_AmpSi_TAl_TAl_CTi_CMg_CFe_CMn_CCr_CMg_BFe_BMn_BNa_BCa_BNa_AK_ACa_ASum_TSum_CSum_BSum_Afactor_8SiAlfactor_15eKfactor_13eCNKAll ferric8Si_Min16CAT_Min15eNK_MinMin_MinFactorMin_factorMax_factorAv_factorSi_T_idealAl_IV_T_idealTi_T_idealAl_VI_C_idealTi_C_idealCr_C_idealFe3_C_idealMg_C_idealFe2_C_idealMn_C_idealMg_B_idealFe2_B_idealMn_B_idealCa_B_idealNa_B_idealNa_A_idealK_A_idealFeO_Eq8_Zhang17
059.33365460.64514656.1170800.6858745.5864122.1289366.4372424.9353492.3787802.33471817.8863126.2217052.7810626.0882532.9127771.6453051.8699952.2674230.6401140.1761300.0330480.2765560.0000000.013.22336215.09335715.9096020.6390366.0882531.9117470.3556760.2765562.9127771.45499100.0000000.00.1903140.0330480.0000001.8699950.6401140.17613008.04.7234442.0933570.8162450.9574330.9533810.8613060.9654681.3140061.0056820.9938150.9938150.9938150.9654680.9796415.9643032.03569700.1855640.2709260.0000000.9365062.8534760.6753020.03237500.000000.0000001.8319240.1680760.4590070.1725445.949181
170.90252270.51540866.2233150.2731322.2506640.8460233.2850683.6033271.9741132.73052117.9627799.2824631.9560646.3995082.7375031.6075851.9014722.0648110.6416190.1552100.0000000.2293970.0000000.013.03880314.94027615.7371040.6300226.3995081.6004920.4643190.2293972.7375031.56878200.0000000.00.0388030.0000000.0597241.9014720.5818940.15521008.04.7706032.0000000.7371040.9451440.9626560.8701310.9662331.2500961.0167051.0039981.0039981.0000000.9662330.9831166.2914611.70853900.3214100.2255240.0000000.7766502.6912840.8037920.00000000.000000.0000001.8693690.1306310.5001540.1525892.686836
251.36376352.10714450.9325541.24574211.3725463.0234367.4052705.1783382.9167342.43864117.4803664.1481202.8694975.8910522.9185121.8371411.7840782.3121880.6472790.2068130.0628370.3575560.0032580.013.38254515.16662316.0207150.6136935.8910522.1089480.2032400.3575562.9185121.51743400.0032580.00.3197080.0628370.0000001.7840780.6472790.20681308.04.6424442.1666230.8540920.9752240.9485330.8571450.9615961.3579920.9987070.9890140.9890140.9890140.9752240.9821195.7857152.21428500.0565590.3511620.0032000.8225212.8663260.9002310.00000000.081540.0617141.7521770.1045700.5311350.2031159.665180
360.68764762.26899361.7036440.6907914.6149211.2399175.3096113.7063223.3305582.61914916.3700364.3035752.0460196.2893133.0105001.6327441.7677121.9497130.6559390.1806230.0492310.3082850.0011780.013.24096315.00867515.8452380.6483616.2893131.7106870.2390250.3082853.0105001.44101100.0011780.00.1917320.0492310.0000001.7677120.6559390.18062308.04.6917152.0086750.8365620.9709890.9575720.8661660.9657221.2719991.0097670.9994220.9994220.9994220.9709890.9852056.1962641.80373600.1171310.3037240.0011610.6805562.9659600.9280320.00343500.000000.0450671.7415590.2133730.4328620.1779514.298402
466.49412268.10078165.8703710.4548222.9154190.8631564.3239923.3482602.9086772.62023516.6584885.6424251.7995596.4415892.9519881.5692701.7780371.8918610.6465880.1669190.0256790.2736520.0000000.013.15403814.93207515.7455820.6529136.4415891.5584110.3334500.2736522.9519881.44091000.0000000.00.1283590.0256790.0679251.7780370.5786630.16691908.04.7263482.0000000.7455820.9599870.9628550.8706090.9670111.2419301.0161581.0045491.0045491.0000000.9670110.9835056.3353381.66466200.1959930.2691380.0000000.7587502.9032960.7846350.02525500.000000.0000001.7487090.2512910.3846320.1641663.109003
\n", "
" ], "text/plain": [ " SiO2_Eq1_Zhang17 SiO2_Eq2_Zhang17 SiO2_Eq4_Zhang17 TiO2_Eq6_Zhang17 \\\n", "0 59.333654 60.645146 56.117080 0.685874 \n", "1 70.902522 70.515408 66.223315 0.273132 \n", "2 51.363763 52.107144 50.932554 1.245742 \n", "3 60.687647 62.268993 61.703644 0.690791 \n", "4 66.494122 68.100781 65.870371 0.454822 \n", "\n", " FeO_Eq7_Zhang17 MgO_Eq9_Zhang17 CaO_Eq10_Zhang17 CaO_Eq11_Zhang17 \\\n", "0 5.586412 2.128936 6.437242 4.935349 \n", "1 2.250664 0.846023 3.285068 3.603327 \n", "2 11.372546 3.023436 7.405270 5.178338 \n", "3 4.614921 1.239917 5.309611 3.706322 \n", "4 2.915419 0.863156 4.323992 3.348260 \n", "\n", " K2O_Eq12_Zhang17 K2O_Eq13_Zhang17 Al2O3_Eq14_Zhang17 H2O_Ridolfi21 \\\n", "0 2.378780 2.334718 17.886312 6.221705 \n", "1 1.974113 2.730521 17.962779 9.282463 \n", "2 2.916734 2.438641 17.480366 4.148120 \n", "3 3.330558 2.619149 16.370036 4.303575 \n", "4 2.908677 2.620235 16.658488 5.642425 \n", "\n", " deltaNNO_Ridolfi21 Si_Amp_cat_23ox Mg_Amp_cat_23ox Fet_Amp_cat_23ox \\\n", "0 2.781062 6.088253 2.912777 1.645305 \n", "1 1.956064 6.399508 2.737503 1.607585 \n", "2 2.869497 5.891052 2.918512 1.837141 \n", "3 2.046019 6.289313 3.010500 1.632744 \n", "4 1.799559 6.441589 2.951988 1.569270 \n", "\n", " Ca_Amp_cat_23ox Al_Amp_cat_23ox Na_Amp_cat_23ox K_Amp_cat_23ox \\\n", "0 1.869995 2.267423 0.640114 0.176130 \n", "1 1.901472 2.064811 0.641619 0.155210 \n", "2 1.784078 2.312188 0.647279 0.206813 \n", "3 1.767712 1.949713 0.655939 0.180623 \n", "4 1.778037 1.891861 0.646588 0.166919 \n", "\n", " Mn_Amp_cat_23ox Ti_Amp_cat_23ox Cr_Amp_cat_23ox oxy_renorm_factor \\\n", "0 0.033048 0.276556 0.000000 0.0 \n", "1 0.000000 0.229397 0.000000 0.0 \n", "2 0.062837 0.357556 0.003258 0.0 \n", "3 0.049231 0.308285 0.001178 0.0 \n", "4 0.025679 0.273652 0.000000 0.0 \n", "\n", " cation_sum_Si_Mg cation_sum_Si_Ca cation_sum_All Mgno_Amp Si_T \\\n", "0 13.223362 15.093357 15.909602 0.639036 6.088253 \n", "1 13.038803 14.940276 15.737104 0.630022 6.399508 \n", "2 13.382545 15.166623 16.020715 0.613693 5.891052 \n", "3 13.240963 15.008675 15.845238 0.648361 6.289313 \n", "4 13.154038 14.932075 15.745582 0.652913 6.441589 \n", "\n", " Al_T Al_C Ti_C Mg_C Fe_C Mn_C Cr_C Mg_B \\\n", "0 1.911747 0.355676 0.276556 2.912777 1.454991 0 0.000000 0.0 \n", "1 1.600492 0.464319 0.229397 2.737503 1.568782 0 0.000000 0.0 \n", "2 2.108948 0.203240 0.357556 2.918512 1.517434 0 0.003258 0.0 \n", "3 1.710687 0.239025 0.308285 3.010500 1.441011 0 0.001178 0.0 \n", "4 1.558411 0.333450 0.273652 2.951988 1.440910 0 0.000000 0.0 \n", "\n", " Fe_B Mn_B Na_B Ca_B Na_A K_A Ca_A Sum_T \\\n", "0 0.190314 0.033048 0.000000 1.869995 0.640114 0.176130 0 8.0 \n", "1 0.038803 0.000000 0.059724 1.901472 0.581894 0.155210 0 8.0 \n", "2 0.319708 0.062837 0.000000 1.784078 0.647279 0.206813 0 8.0 \n", "3 0.191732 0.049231 0.000000 1.767712 0.655939 0.180623 0 8.0 \n", "4 0.128359 0.025679 0.067925 1.778037 0.578663 0.166919 0 8.0 \n", "\n", " Sum_C Sum_B Sum_A factor_8SiAl factor_15eK factor_13eCNK \\\n", "0 4.723444 2.093357 0.816245 0.957433 0.953381 0.861306 \n", "1 4.770603 2.000000 0.737104 0.945144 0.962656 0.870131 \n", "2 4.642444 2.166623 0.854092 0.975224 0.948533 0.857145 \n", "3 4.691715 2.008675 0.836562 0.970989 0.957572 0.866166 \n", "4 4.726348 2.000000 0.745582 0.959987 0.962855 0.870609 \n", "\n", " All ferric 8Si_Min 16CAT_Min 15eNK_Min Min_MinFactor Min_factor \\\n", "0 0.965468 1.314006 1.005682 0.993815 0.993815 0.993815 \n", "1 0.966233 1.250096 1.016705 1.003998 1.003998 1.000000 \n", "2 0.961596 1.357992 0.998707 0.989014 0.989014 0.989014 \n", "3 0.965722 1.271999 1.009767 0.999422 0.999422 0.999422 \n", "4 0.967011 1.241930 1.016158 1.004549 1.004549 1.000000 \n", "\n", " Max_factor Av_factor Si_T_ideal Al_IV_T_ideal Ti_T_ideal \\\n", "0 0.965468 0.979641 5.964303 2.035697 0 \n", "1 0.966233 0.983116 6.291461 1.708539 0 \n", "2 0.975224 0.982119 5.785715 2.214285 0 \n", "3 0.970989 0.985205 6.196264 1.803736 0 \n", "4 0.967011 0.983505 6.335338 1.664662 0 \n", "\n", " Al_VI_C_ideal Ti_C_ideal Cr_C_ideal Fe3_C_ideal Mg_C_ideal \\\n", "0 0.185564 0.270926 0.000000 0.936506 2.853476 \n", "1 0.321410 0.225524 0.000000 0.776650 2.691284 \n", "2 0.056559 0.351162 0.003200 0.822521 2.866326 \n", "3 0.117131 0.303724 0.001161 0.680556 2.965960 \n", "4 0.195993 0.269138 0.000000 0.758750 2.903296 \n", "\n", " Fe2_C_ideal Mn_C_ideal Mg_B_ideal Fe2_B_ideal Mn_B_ideal Ca_B_ideal \\\n", "0 0.675302 0.032375 0 0.00000 0.000000 1.831924 \n", "1 0.803792 0.000000 0 0.00000 0.000000 1.869369 \n", "2 0.900231 0.000000 0 0.08154 0.061714 1.752177 \n", "3 0.928032 0.003435 0 0.00000 0.045067 1.741559 \n", "4 0.784635 0.025255 0 0.00000 0.000000 1.748709 \n", "\n", " Na_B_ideal Na_A_ideal K_A_ideal FeO_Eq8_Zhang17 \n", "0 0.168076 0.459007 0.172544 5.949181 \n", "1 0.130631 0.500154 0.152589 2.686836 \n", "2 0.104570 0.531135 0.203115 9.665180 \n", "3 0.213373 0.432862 0.177951 4.298402 \n", "4 0.251291 0.384632 0.164166 3.109003 " ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Melt_Comps=pt.calculate_amp_only_melt_comps(amp_comps=Amps)\n", "Melt_Comps.head()" ] }, { "cell_type": "markdown", "id": "cb8cb43f-e9b0-499e-bcda-73b44968ab89", "metadata": {}, "source": [ "- Calculations at a fixed temperature (1300 Kelvin!)" ] }, { "cell_type": "code", "execution_count": 29, "id": "2c92f3f4-6217-40f4-885e-570cd6923062", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SiO2_Eq10_Put2016SiO2_Eq1_Zhang17SiO2_Eq2_Zhang17SiO2_Eq4_Zhang17TiO2_Eq6_Zhang17SiO2_Eq3_Zhang17FeO_Eq7_Zhang17TiO2_Eq5_Zhang17MgO_Eq9_Zhang17CaO_Eq10_Zhang17CaO_Eq11_Zhang17K2O_Eq12_Zhang17K2O_Eq13_Zhang17Al2O3_Eq14_Zhang17H2O_Ridolfi21deltaNNO_Ridolfi21Si_Amp_cat_23oxMg_Amp_cat_23oxFet_Amp_cat_23oxCa_Amp_cat_23oxAl_Amp_cat_23oxNa_Amp_cat_23oxK_Amp_cat_23oxMn_Amp_cat_23oxTi_Amp_cat_23oxCr_Amp_cat_23oxoxy_renorm_factorcation_sum_Si_Mgcation_sum_Si_Cacation_sum_AllMgno_AmpSi_TAl_TAl_CTi_CMg_CFe_CMn_CCr_CMg_BFe_BMn_BNa_BCa_BNa_AK_ACa_ASum_TSum_CSum_BSum_Afactor_8SiAlfactor_15eKfactor_13eCNKAll ferric8Si_Min16CAT_Min15eNK_MinMin_MinFactorMin_factorMax_factorAv_factorSi_T_idealAl_IV_T_idealTi_T_idealAl_VI_C_idealTi_C_idealCr_C_idealFe3_C_idealMg_C_idealFe2_C_idealMn_C_idealMg_B_idealFe2_B_idealMn_B_idealCa_B_idealNa_B_idealNa_A_idealK_A_idealFeO_Eq8_Zhang17
049.65510859.33365460.64514656.1170800.68587456.9924245.5864120.6494262.1289366.4372424.9353492.3787802.33471817.8863126.2217052.7810626.0882532.9127771.6453051.8699952.2674230.6401140.1761300.0330480.2765560.0000000.013.22336215.09335715.9096020.6390366.0882531.9117470.3556760.2765562.9127771.45499100.0000000.00.1903140.0330480.0000001.8699950.6401140.17613008.04.7234442.0933570.8162450.9574330.9533810.8613060.9654681.3140061.0056820.9938150.9938150.9938150.9654680.9796415.9643032.03569700.1855640.2709260.0000000.9365062.8534760.6753020.03237500.000000.0000001.8319240.1680760.4590070.1725445.949181
151.51590270.90252270.51540866.2233150.27313266.9744672.2506640.2464850.8460233.2850683.6033271.9741132.73052117.9627799.2824631.9560646.3995082.7375031.6075851.9014722.0648110.6416190.1552100.0000000.2293970.0000000.013.03880314.94027615.7371040.6300226.3995081.6004920.4643190.2293972.7375031.56878200.0000000.00.0388030.0000000.0597241.9014720.5818940.15521008.04.7706032.0000000.7371040.9451440.9626560.8701310.9662331.2500961.0167051.0039981.0039981.0000000.9662330.9831166.2914611.70853900.3214100.2255240.0000000.7766502.6912840.8037920.00000000.000000.0000001.8693690.1306310.5001540.1525892.686836
249.24398751.36376352.10714450.9325541.24574251.88360711.3725461.1919963.0234367.4052705.1783382.9167342.43864117.4803664.1481202.8694975.8910522.9185121.8371411.7840782.3121880.6472790.2068130.0628370.3575560.0032580.013.38254515.16662316.0207150.6136935.8910522.1089480.2032400.3575562.9185121.51743400.0032580.00.3197080.0628370.0000001.7840780.6472790.20681308.04.6424442.1666230.8540920.9752240.9485330.8571450.9615961.3579920.9987070.9890140.9890140.9890140.9752240.9821195.7857152.21428500.0565590.3511620.0032000.8225212.8663260.9002310.00000000.081540.0617141.7521770.1045700.5311350.2031159.665180
352.57296260.68764762.26899361.7036440.69079162.4758684.6149210.6522531.2399175.3096113.7063223.3305582.61914916.3700364.3035752.0460196.2893133.0105001.6327441.7677121.9497130.6559390.1806230.0492310.3082850.0011780.013.24096315.00867515.8452380.6483616.2893131.7106870.2390250.3082853.0105001.44101100.0011780.00.1917320.0492310.0000001.7677120.6559390.18062308.04.6917152.0086750.8365620.9709890.9575720.8661660.9657221.2719991.0097670.9994220.9994220.9994220.9709890.9852056.1962641.80373600.1171310.3037240.0011610.6805562.9659600.9280320.00343500.000000.0450671.7415590.2133730.4328620.1779514.298402
453.10427566.49412268.10078165.8703710.45482266.5906742.9154190.4286190.8631564.3239923.3482602.9086772.62023516.6584885.6424251.7995596.4415892.9519881.5692701.7780371.8918610.6465880.1669190.0256790.2736520.0000000.013.15403814.93207515.7455820.6529136.4415891.5584110.3334500.2736522.9519881.44091000.0000000.00.1283590.0256790.0679251.7780370.5786630.16691908.04.7263482.0000000.7455820.9599870.9628550.8706090.9670111.2419301.0161581.0045491.0045491.0000000.9670110.9835056.3353381.66466200.1959930.2691380.0000000.7587502.9032960.7846350.02525500.000000.0000001.7487090.2512910.3846320.1641663.109003
\n", "
" ], "text/plain": [ " SiO2_Eq10_Put2016 SiO2_Eq1_Zhang17 SiO2_Eq2_Zhang17 SiO2_Eq4_Zhang17 \\\n", "0 49.655108 59.333654 60.645146 56.117080 \n", "1 51.515902 70.902522 70.515408 66.223315 \n", "2 49.243987 51.363763 52.107144 50.932554 \n", "3 52.572962 60.687647 62.268993 61.703644 \n", "4 53.104275 66.494122 68.100781 65.870371 \n", "\n", " TiO2_Eq6_Zhang17 SiO2_Eq3_Zhang17 FeO_Eq7_Zhang17 TiO2_Eq5_Zhang17 \\\n", "0 0.685874 56.992424 5.586412 0.649426 \n", "1 0.273132 66.974467 2.250664 0.246485 \n", "2 1.245742 51.883607 11.372546 1.191996 \n", "3 0.690791 62.475868 4.614921 0.652253 \n", "4 0.454822 66.590674 2.915419 0.428619 \n", "\n", " MgO_Eq9_Zhang17 CaO_Eq10_Zhang17 CaO_Eq11_Zhang17 K2O_Eq12_Zhang17 \\\n", "0 2.128936 6.437242 4.935349 2.378780 \n", "1 0.846023 3.285068 3.603327 1.974113 \n", "2 3.023436 7.405270 5.178338 2.916734 \n", "3 1.239917 5.309611 3.706322 3.330558 \n", "4 0.863156 4.323992 3.348260 2.908677 \n", "\n", " K2O_Eq13_Zhang17 Al2O3_Eq14_Zhang17 H2O_Ridolfi21 deltaNNO_Ridolfi21 \\\n", "0 2.334718 17.886312 6.221705 2.781062 \n", "1 2.730521 17.962779 9.282463 1.956064 \n", "2 2.438641 17.480366 4.148120 2.869497 \n", "3 2.619149 16.370036 4.303575 2.046019 \n", "4 2.620235 16.658488 5.642425 1.799559 \n", "\n", " Si_Amp_cat_23ox Mg_Amp_cat_23ox Fet_Amp_cat_23ox Ca_Amp_cat_23ox \\\n", "0 6.088253 2.912777 1.645305 1.869995 \n", "1 6.399508 2.737503 1.607585 1.901472 \n", "2 5.891052 2.918512 1.837141 1.784078 \n", "3 6.289313 3.010500 1.632744 1.767712 \n", "4 6.441589 2.951988 1.569270 1.778037 \n", "\n", " Al_Amp_cat_23ox Na_Amp_cat_23ox K_Amp_cat_23ox Mn_Amp_cat_23ox \\\n", "0 2.267423 0.640114 0.176130 0.033048 \n", "1 2.064811 0.641619 0.155210 0.000000 \n", "2 2.312188 0.647279 0.206813 0.062837 \n", "3 1.949713 0.655939 0.180623 0.049231 \n", "4 1.891861 0.646588 0.166919 0.025679 \n", "\n", " Ti_Amp_cat_23ox Cr_Amp_cat_23ox oxy_renorm_factor cation_sum_Si_Mg \\\n", "0 0.276556 0.000000 0.0 13.223362 \n", "1 0.229397 0.000000 0.0 13.038803 \n", "2 0.357556 0.003258 0.0 13.382545 \n", "3 0.308285 0.001178 0.0 13.240963 \n", "4 0.273652 0.000000 0.0 13.154038 \n", "\n", " cation_sum_Si_Ca cation_sum_All Mgno_Amp Si_T Al_T Al_C \\\n", "0 15.093357 15.909602 0.639036 6.088253 1.911747 0.355676 \n", "1 14.940276 15.737104 0.630022 6.399508 1.600492 0.464319 \n", "2 15.166623 16.020715 0.613693 5.891052 2.108948 0.203240 \n", "3 15.008675 15.845238 0.648361 6.289313 1.710687 0.239025 \n", "4 14.932075 15.745582 0.652913 6.441589 1.558411 0.333450 \n", "\n", " Ti_C Mg_C Fe_C Mn_C Cr_C Mg_B Fe_B Mn_B \\\n", "0 0.276556 2.912777 1.454991 0 0.000000 0.0 0.190314 0.033048 \n", "1 0.229397 2.737503 1.568782 0 0.000000 0.0 0.038803 0.000000 \n", "2 0.357556 2.918512 1.517434 0 0.003258 0.0 0.319708 0.062837 \n", "3 0.308285 3.010500 1.441011 0 0.001178 0.0 0.191732 0.049231 \n", "4 0.273652 2.951988 1.440910 0 0.000000 0.0 0.128359 0.025679 \n", "\n", " Na_B Ca_B Na_A K_A Ca_A Sum_T Sum_C Sum_B \\\n", "0 0.000000 1.869995 0.640114 0.176130 0 8.0 4.723444 2.093357 \n", "1 0.059724 1.901472 0.581894 0.155210 0 8.0 4.770603 2.000000 \n", "2 0.000000 1.784078 0.647279 0.206813 0 8.0 4.642444 2.166623 \n", "3 0.000000 1.767712 0.655939 0.180623 0 8.0 4.691715 2.008675 \n", "4 0.067925 1.778037 0.578663 0.166919 0 8.0 4.726348 2.000000 \n", "\n", " Sum_A factor_8SiAl factor_15eK factor_13eCNK All ferric 8Si_Min \\\n", "0 0.816245 0.957433 0.953381 0.861306 0.965468 1.314006 \n", "1 0.737104 0.945144 0.962656 0.870131 0.966233 1.250096 \n", "2 0.854092 0.975224 0.948533 0.857145 0.961596 1.357992 \n", "3 0.836562 0.970989 0.957572 0.866166 0.965722 1.271999 \n", "4 0.745582 0.959987 0.962855 0.870609 0.967011 1.241930 \n", "\n", " 16CAT_Min 15eNK_Min Min_MinFactor Min_factor Max_factor Av_factor \\\n", "0 1.005682 0.993815 0.993815 0.993815 0.965468 0.979641 \n", "1 1.016705 1.003998 1.003998 1.000000 0.966233 0.983116 \n", "2 0.998707 0.989014 0.989014 0.989014 0.975224 0.982119 \n", "3 1.009767 0.999422 0.999422 0.999422 0.970989 0.985205 \n", "4 1.016158 1.004549 1.004549 1.000000 0.967011 0.983505 \n", "\n", " Si_T_ideal Al_IV_T_ideal Ti_T_ideal Al_VI_C_ideal Ti_C_ideal \\\n", "0 5.964303 2.035697 0 0.185564 0.270926 \n", "1 6.291461 1.708539 0 0.321410 0.225524 \n", "2 5.785715 2.214285 0 0.056559 0.351162 \n", "3 6.196264 1.803736 0 0.117131 0.303724 \n", "4 6.335338 1.664662 0 0.195993 0.269138 \n", "\n", " Cr_C_ideal Fe3_C_ideal Mg_C_ideal Fe2_C_ideal Mn_C_ideal Mg_B_ideal \\\n", "0 0.000000 0.936506 2.853476 0.675302 0.032375 0 \n", "1 0.000000 0.776650 2.691284 0.803792 0.000000 0 \n", "2 0.003200 0.822521 2.866326 0.900231 0.000000 0 \n", "3 0.001161 0.680556 2.965960 0.928032 0.003435 0 \n", "4 0.000000 0.758750 2.903296 0.784635 0.025255 0 \n", "\n", " Fe2_B_ideal Mn_B_ideal Ca_B_ideal Na_B_ideal Na_A_ideal K_A_ideal \\\n", "0 0.00000 0.000000 1.831924 0.168076 0.459007 0.172544 \n", "1 0.00000 0.000000 1.869369 0.130631 0.500154 0.152589 \n", "2 0.08154 0.061714 1.752177 0.104570 0.531135 0.203115 \n", "3 0.00000 0.045067 1.741559 0.213373 0.432862 0.177951 \n", "4 0.00000 0.000000 1.748709 0.251291 0.384632 0.164166 \n", "\n", " FeO_Eq8_Zhang17 \n", "0 5.949181 \n", "1 2.686836 \n", "2 9.665180 \n", "3 4.298402 \n", "4 3.109003 " ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Melt_Comps2=pt.calculate_amp_only_melt_comps(amp_comps=Amps, T=1300)\n", "Melt_Comps2.head()" ] }, { "cell_type": "markdown", "id": "302bf388-9c59-4674-99b5-f9f42ffe1de6", "metadata": {}, "source": [ "### Or, we can use an amphibole only thermobarometers to get temperature, to then feed into the chemometry function" ] }, { "cell_type": "code", "execution_count": 30, "id": "70778bb2-fa4b-4b2a-85d6-a3cf6d805b80", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SiO2_Eq10_Put2016SiO2_Eq1_Zhang17SiO2_Eq2_Zhang17SiO2_Eq4_Zhang17TiO2_Eq6_Zhang17SiO2_Eq3_Zhang17FeO_Eq7_Zhang17TiO2_Eq5_Zhang17MgO_Eq9_Zhang17CaO_Eq10_Zhang17CaO_Eq11_Zhang17K2O_Eq12_Zhang17K2O_Eq13_Zhang17Al2O3_Eq14_Zhang17H2O_Ridolfi21deltaNNO_Ridolfi21Si_Amp_cat_23oxMg_Amp_cat_23oxFet_Amp_cat_23oxCa_Amp_cat_23oxAl_Amp_cat_23oxNa_Amp_cat_23oxK_Amp_cat_23oxMn_Amp_cat_23oxTi_Amp_cat_23oxCr_Amp_cat_23oxoxy_renorm_factorcation_sum_Si_Mgcation_sum_Si_Cacation_sum_AllMgno_AmpSi_TAl_TAl_CTi_CMg_CFe_CMn_CCr_CMg_BFe_BMn_BNa_BCa_BNa_AK_ACa_ASum_TSum_CSum_BSum_Afactor_8SiAlfactor_15eKfactor_13eCNKAll ferric8Si_Min16CAT_Min15eNK_MinMin_MinFactorMin_factorMax_factorAv_factorSi_T_idealAl_IV_T_idealTi_T_idealAl_VI_C_idealTi_C_idealCr_C_idealFe3_C_idealMg_C_idealFe2_C_idealMn_C_idealMg_B_idealFe2_B_idealMn_B_idealCa_B_idealNa_B_idealNa_A_idealK_A_idealFeO_Eq8_Zhang17
059.26272859.33365460.64514656.1170800.68587456.0821835.5864120.7134452.1289366.4372424.9353492.3787802.33471817.8863126.2217052.7810626.0882532.9127771.6453051.8699952.2674230.6401140.1761300.0330480.2765560.0000000.013.22336215.09335715.9096020.6390366.0882531.9117470.3556760.2765562.9127771.45499100.0000000.00.1903140.0330480.0000001.8699950.6401140.17613008.04.7234442.0933570.8162450.9574330.9533810.8613060.9654681.3140061.0056820.9938150.9938150.9938150.9654680.9796415.9643032.03569700.1855640.2709260.0000000.9365062.8534760.6753020.03237500.000000.0000001.8319240.1680760.4590070.1725445.949181
1NaN70.90252270.51540866.2233150.273132NaN2.250664NaN0.8460233.2850683.6033271.9741132.73052117.9627799.2824631.9560646.3995082.7375031.6075851.9014722.0648110.6416190.1552100.0000000.2293970.0000000.013.03880314.94027615.7371040.6300226.3995081.6004920.4643190.2293972.7375031.56878200.0000000.00.0388030.0000000.0597241.9014720.5818940.15521008.04.7706032.0000000.7371040.9451440.9626560.8701310.9662331.2500961.0167051.0039981.0039981.0000000.9662330.9831166.2914611.70853900.3214100.2255240.0000000.7766502.6912840.8037920.00000000.000000.0000001.8693690.1306310.5001540.1525892.686836
250.68033851.36376352.10714450.9325541.24574251.76907111.3725461.2061813.0234367.4052705.1783382.9167342.43864117.4803664.1481202.8694975.8910522.9185121.8371411.7840782.3121880.6472790.2068130.0628370.3575560.0032580.013.38254515.16662316.0207150.6136935.8910522.1089480.2032400.3575562.9185121.51743400.0032580.00.3197080.0628370.0000001.7840780.6472790.20681308.04.6424442.1666230.8540920.9752240.9485330.8571450.9615961.3579920.9987070.9890140.9890140.9890140.9752240.9821195.7857152.21428500.0565590.3511620.0032000.8225212.8663260.9002310.00000000.081540.0617141.7521770.1045700.5311350.2031159.665180
362.37097060.68764762.26899361.7036440.69079161.5419284.6149210.7183071.2399175.3096113.7063223.3305582.61914916.3700364.3035752.0460196.2893133.0105001.6327441.7677121.9497130.6559390.1806230.0492310.3082850.0011780.013.24096315.00867515.8452380.6483616.2893131.7106870.2390250.3082853.0105001.44101100.0011780.00.1917320.0492310.0000001.7677120.6559390.18062308.04.6917152.0086750.8365620.9709890.9575720.8661660.9657221.2719991.0097670.9994220.9994220.9994220.9709890.9852056.1962641.80373600.1171310.3037240.0011610.6805562.9659600.9280320.00343500.000000.0450671.7415590.2133730.4328620.1779514.298402
466.07711666.49412268.10078165.8703710.45482265.1626472.9154190.4967390.8631564.3239923.3482602.9086772.62023516.6584885.6424251.7995596.4415892.9519881.5692701.7780371.8918610.6465880.1669190.0256790.2736520.0000000.013.15403814.93207515.7455820.6529136.4415891.5584110.3334500.2736522.9519881.44091000.0000000.00.1283590.0256790.0679251.7780370.5786630.16691908.04.7263482.0000000.7455820.9599870.9628550.8706090.9670111.2419301.0161581.0045491.0045491.0000000.9670110.9835056.3353381.66466200.1959930.2691380.0000000.7587502.9032960.7846350.02525500.000000.0000001.7487090.2512910.3846320.1641663.109003
\n", "
" ], "text/plain": [ " SiO2_Eq10_Put2016 SiO2_Eq1_Zhang17 SiO2_Eq2_Zhang17 SiO2_Eq4_Zhang17 \\\n", "0 59.262728 59.333654 60.645146 56.117080 \n", "1 NaN 70.902522 70.515408 66.223315 \n", "2 50.680338 51.363763 52.107144 50.932554 \n", "3 62.370970 60.687647 62.268993 61.703644 \n", "4 66.077116 66.494122 68.100781 65.870371 \n", "\n", " TiO2_Eq6_Zhang17 SiO2_Eq3_Zhang17 FeO_Eq7_Zhang17 TiO2_Eq5_Zhang17 \\\n", "0 0.685874 56.082183 5.586412 0.713445 \n", "1 0.273132 NaN 2.250664 NaN \n", "2 1.245742 51.769071 11.372546 1.206181 \n", "3 0.690791 61.541928 4.614921 0.718307 \n", "4 0.454822 65.162647 2.915419 0.496739 \n", "\n", " MgO_Eq9_Zhang17 CaO_Eq10_Zhang17 CaO_Eq11_Zhang17 K2O_Eq12_Zhang17 \\\n", "0 2.128936 6.437242 4.935349 2.378780 \n", "1 0.846023 3.285068 3.603327 1.974113 \n", "2 3.023436 7.405270 5.178338 2.916734 \n", "3 1.239917 5.309611 3.706322 3.330558 \n", "4 0.863156 4.323992 3.348260 2.908677 \n", "\n", " K2O_Eq13_Zhang17 Al2O3_Eq14_Zhang17 H2O_Ridolfi21 deltaNNO_Ridolfi21 \\\n", "0 2.334718 17.886312 6.221705 2.781062 \n", "1 2.730521 17.962779 9.282463 1.956064 \n", "2 2.438641 17.480366 4.148120 2.869497 \n", "3 2.619149 16.370036 4.303575 2.046019 \n", "4 2.620235 16.658488 5.642425 1.799559 \n", "\n", " Si_Amp_cat_23ox Mg_Amp_cat_23ox Fet_Amp_cat_23ox Ca_Amp_cat_23ox \\\n", "0 6.088253 2.912777 1.645305 1.869995 \n", "1 6.399508 2.737503 1.607585 1.901472 \n", "2 5.891052 2.918512 1.837141 1.784078 \n", "3 6.289313 3.010500 1.632744 1.767712 \n", "4 6.441589 2.951988 1.569270 1.778037 \n", "\n", " Al_Amp_cat_23ox Na_Amp_cat_23ox K_Amp_cat_23ox Mn_Amp_cat_23ox \\\n", "0 2.267423 0.640114 0.176130 0.033048 \n", "1 2.064811 0.641619 0.155210 0.000000 \n", "2 2.312188 0.647279 0.206813 0.062837 \n", "3 1.949713 0.655939 0.180623 0.049231 \n", "4 1.891861 0.646588 0.166919 0.025679 \n", "\n", " Ti_Amp_cat_23ox Cr_Amp_cat_23ox oxy_renorm_factor cation_sum_Si_Mg \\\n", "0 0.276556 0.000000 0.0 13.223362 \n", "1 0.229397 0.000000 0.0 13.038803 \n", "2 0.357556 0.003258 0.0 13.382545 \n", "3 0.308285 0.001178 0.0 13.240963 \n", "4 0.273652 0.000000 0.0 13.154038 \n", "\n", " cation_sum_Si_Ca cation_sum_All Mgno_Amp Si_T Al_T Al_C \\\n", "0 15.093357 15.909602 0.639036 6.088253 1.911747 0.355676 \n", "1 14.940276 15.737104 0.630022 6.399508 1.600492 0.464319 \n", "2 15.166623 16.020715 0.613693 5.891052 2.108948 0.203240 \n", "3 15.008675 15.845238 0.648361 6.289313 1.710687 0.239025 \n", "4 14.932075 15.745582 0.652913 6.441589 1.558411 0.333450 \n", "\n", " Ti_C Mg_C Fe_C Mn_C Cr_C Mg_B Fe_B Mn_B \\\n", "0 0.276556 2.912777 1.454991 0 0.000000 0.0 0.190314 0.033048 \n", "1 0.229397 2.737503 1.568782 0 0.000000 0.0 0.038803 0.000000 \n", "2 0.357556 2.918512 1.517434 0 0.003258 0.0 0.319708 0.062837 \n", "3 0.308285 3.010500 1.441011 0 0.001178 0.0 0.191732 0.049231 \n", "4 0.273652 2.951988 1.440910 0 0.000000 0.0 0.128359 0.025679 \n", "\n", " Na_B Ca_B Na_A K_A Ca_A Sum_T Sum_C Sum_B \\\n", "0 0.000000 1.869995 0.640114 0.176130 0 8.0 4.723444 2.093357 \n", "1 0.059724 1.901472 0.581894 0.155210 0 8.0 4.770603 2.000000 \n", "2 0.000000 1.784078 0.647279 0.206813 0 8.0 4.642444 2.166623 \n", "3 0.000000 1.767712 0.655939 0.180623 0 8.0 4.691715 2.008675 \n", "4 0.067925 1.778037 0.578663 0.166919 0 8.0 4.726348 2.000000 \n", "\n", " Sum_A factor_8SiAl factor_15eK factor_13eCNK All ferric 8Si_Min \\\n", "0 0.816245 0.957433 0.953381 0.861306 0.965468 1.314006 \n", "1 0.737104 0.945144 0.962656 0.870131 0.966233 1.250096 \n", "2 0.854092 0.975224 0.948533 0.857145 0.961596 1.357992 \n", "3 0.836562 0.970989 0.957572 0.866166 0.965722 1.271999 \n", "4 0.745582 0.959987 0.962855 0.870609 0.967011 1.241930 \n", "\n", " 16CAT_Min 15eNK_Min Min_MinFactor Min_factor Max_factor Av_factor \\\n", "0 1.005682 0.993815 0.993815 0.993815 0.965468 0.979641 \n", "1 1.016705 1.003998 1.003998 1.000000 0.966233 0.983116 \n", "2 0.998707 0.989014 0.989014 0.989014 0.975224 0.982119 \n", "3 1.009767 0.999422 0.999422 0.999422 0.970989 0.985205 \n", "4 1.016158 1.004549 1.004549 1.000000 0.967011 0.983505 \n", "\n", " Si_T_ideal Al_IV_T_ideal Ti_T_ideal Al_VI_C_ideal Ti_C_ideal \\\n", "0 5.964303 2.035697 0 0.185564 0.270926 \n", "1 6.291461 1.708539 0 0.321410 0.225524 \n", "2 5.785715 2.214285 0 0.056559 0.351162 \n", "3 6.196264 1.803736 0 0.117131 0.303724 \n", "4 6.335338 1.664662 0 0.195993 0.269138 \n", "\n", " Cr_C_ideal Fe3_C_ideal Mg_C_ideal Fe2_C_ideal Mn_C_ideal Mg_B_ideal \\\n", "0 0.000000 0.936506 2.853476 0.675302 0.032375 0 \n", "1 0.000000 0.776650 2.691284 0.803792 0.000000 0 \n", "2 0.003200 0.822521 2.866326 0.900231 0.000000 0 \n", "3 0.001161 0.680556 2.965960 0.928032 0.003435 0 \n", "4 0.000000 0.758750 2.903296 0.784635 0.025255 0 \n", "\n", " Fe2_B_ideal Mn_B_ideal Ca_B_ideal Na_B_ideal Na_A_ideal K_A_ideal \\\n", "0 0.00000 0.000000 1.831924 0.168076 0.459007 0.172544 \n", "1 0.00000 0.000000 1.869369 0.130631 0.500154 0.152589 \n", "2 0.08154 0.061714 1.752177 0.104570 0.531135 0.203115 \n", "3 0.00000 0.045067 1.741559 0.213373 0.432862 0.177951 \n", "4 0.00000 0.000000 1.748709 0.251291 0.384632 0.164166 \n", "\n", " FeO_Eq8_Zhang17 \n", "0 5.949181 \n", "1 2.686836 \n", "2 9.665180 \n", "3 4.298402 \n", "4 3.109003 " ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "PT_Rid=pt.calculate_amp_only_press_temp(amp_comps=Amps, equationP=\"P_Ridolfi2021\", \n", " equationT=\"T_Ridolfi2012\", Ridolfi_Filter=False)\n", "Melt_Comps3=pt.calculate_amp_only_melt_comps(amp_comps=Amps, T=PT_Rid['T_K_calc'])\n", "Melt_Comps3.head()" ] }, { "cell_type": "markdown", "id": "1883bfd0-7ec7-400c-82fe-181de50fe456", "metadata": {}, "source": [ "## Comparing calculated melts from different equations" ] }, { "cell_type": "code", "execution_count": 31, "id": "6c5826a2-4254-45a1-824c-614237e97b7b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))\n", "ax1.plot(Melt_Comps3['SiO2_Eq1_Zhang17'], Melt_Comps3['SiO2_Eq10_Put2016'], 'ok')\n", "ax1.set_xlabel('SiO$_2$ wt% Eq 1 Zhang17')\n", "ax1.set_ylabel('SiO$_2$ wt% Eq 10 Putirka 2016')\n", "\n", "ax2.plot(Melt_Comps3['SiO2_Eq1_Zhang17'], Melt_Comps3['TiO2_Eq6_Zhang17'], 'ok')\n", "ax2.set_xlabel('SiO$_2$ wt% Eq 1 Zhang17')\n", "ax2.set_ylabel('TiO$_2$ wt% Eq 6 Zhang17')\n", "\n", "ax1.plot([50, 85], [50, 85], '-r')" ] }, { "cell_type": "code", "execution_count": null, "id": "d988f2a5-7b89-45cf-bf47-59f57ffd42bd", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 5 }