{
"cells": [
{
"attachments": {
"048890b0-2c00-492e-be4e-a63b775e9f69.png": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABtMAAAHaCAYAAAByyrbmAAAgAElEQVR4nOzdeVzVVeL/8ddlu4CCmhgE5riUoqWo5RY2bpWUTS6T20SZmJlmo+ZMLk2DNOVSuX1rLLM0Gxq3fhmZW7lgZomW62RoKWZCEqDIJpf198e97Pcq4EW29/PxoAd+lvM5n+XeuOd9zzmG/Pz8fERERERERERERERERESkDIfqroCIiIiIiIiIiIiIiIhITaUwTURERERERERERERERMQGhWkiIiIiIiIiIiIiIiIiNihMExEREREREREREREREbFBYZqIiIiIiIiIiIiIiIiIDQrTRERERERERERERERERGxQmCYiIiIiIiIiIiIiIiJig8I0ERERERERERERERERERsUpomIiIiIiIiIiIiIiIjYoDBNRERERERERERERERExAaFaSIiIiIiIiIiIiIiIiI2KEwTERERERERERERERERsUFhmoiIiIiIiIiIiIiIiIgNCtNEREREREREREREREREbFCYJiIiIiIiIiIiIiIiImKDwjQRERERERERERERERERGxSmiYiIiIiIiIiIiIiIiNigME1ERERERERERERERETEBoVpIiIiIiIiIiIiIiIiIjYoTBMRERERERERERERERGxQWGaiIiIiIiIiIiIiIiIiA0K00RERERERERERERERERsUJgmIiIiIiIiIiIiIiIiYoPCNBEREREREREREREREREbFKaJiIiIiIiIiIiIiIiI2KAwTURERERERERERERERMQGhWkiIiIiIiIiIiIiIiIiNihMExEREREREREREREREbFBYZqIiIiIiIiIiIiIiIiIDQrTRERERERERERERERERGxwqqqCs7KzSU5OIS0jnSxTFnn5+VV1KKklHAwGXIwuNHRvQOPGnrg4O1d3lURERERERERERESsUht33VGVbdP14TlR2z4Y8vPtf2cTki6SkJhE48aNcTMacTa64OxUZbmd1BLZOTlkm7K4YsokOfkyzbya0qzpTdVdLREREREREREREZES1MZdt1RV23R9eU7Utl8FYVrchXhMWSZu9roZJ2cnikqve2msVJTB/F8DZGdl83tiAq5GI74+3tVcLxEREREREREREREztXHXRfZvm65fz4na9u0apiUkXSQ1NRU/Pz/y86EKOr1JHWEwGDAY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qdcBkq5D7WWf4TlrItOlVEzX2Mbo6YGxHGOz33AZqaRcq/LuHnjeiIHfRURERERERESkVqt1YRqAf9vb8G97W3VXQ0Ts4dhXbEyEwKF/pHF116U66TrUXgXDcz54fcNz1jzHWBz4BO9fdZvezN31FsN9blCVKuDwsnsZsfLq25R3LjMREREREREREanfat0wj1I31ZeuoCJSTrVsmEcRERERERERqf3Uxl0/aZjH61Nf2vbr1HfoRUREREREREREREREROzJbsM8GgwGcnJycHKqlSNHSjXKzs7GYDBUdzVEpCbp3IKMZdVdCRERERERERGpT9TGXf9Upm1az0mR+tS2b7eeac7OTpiyTPYqTuqRrKwsnJ31xiMiIiIiIiIiIiLVR23c9U9l2qb1nBSpT237dgvT3N3cyMrKtldxUo9kZWXh7uZW3dUQERERERERERGRekxt3PWPqRJt03pOilTm+tVWdgvTGnl4kJqaSl5enr2KlHogNzeX1LQ0Gnl4VHdVREREREREREREpB5TG3f9kpubS1pqaoXbpvWcmFX2+tVWdgvTXF2NeDZswO+//26vIqUe+P333/Fs2ABXV2N1V0VERERERERERETqMbVx1y+///47nh4NK9w2refErLLXr7ayW5jm6OhI05ua4OToyG8XfiMnJ8deRUsdlJOTw28XfsPZyYmmNzXB0dGxuqskIiIiIiIiIiIi9ZjauOuH622bru/PSX1t2zfk5+fn26uw/Px8TCYTl5Ivc+lyCo0aNcLVaMTFxQUnp/oxCZ3Ylp2dTXZ2NpkmE5cvX6ZJI0+aNG6E0WjEYDBUd/VERERERERERESknlMbd91k77bp+vacqG3fzmEamB+irKwsTFlZpKWlk5GZSXZ2DnY+jNRCBoMBZ2cn3F1dadiwAUYXF1xcXOrNi01ERERERERERERqPrVx1z1V0TZdn54Tte1XQZhWICcnh5ycuvngyPUxGAw4OTnVyYReRERERERERERE6ga1cdc9VdE2XZ+ek/rctl9lYVqBvLy8evEQSfkYDAYcHOw2VZ+IiIiIiIiIiIhIlVIbd91Q1W3Tdf05qe9t+1UepomIiIiIiIiIiIiIiIjUVvU3RhQRERERERERERERERG5BoVpIiIiIiIiIiIiIiIiIjYoTBMRERERERERERERERGxQWGaiIiIiIiIiIiIiIiIiA0K00RERERERERERERERERsUJgmIiIiIiIiIiIiIiIiYoPCNBEREREREREREREREREbFKaJiIiIiIiIiIiIiIiI2KAwTURERERERERERERERMQGhWkiIiIiIiIiIiIiIiIiNihMExEREREREREREREREbFBYZqIiIiIiIiIiIiIiIiIDQrTRERERERERERERERERGxQmCYiIiIiIiIiIiIiIiJig8I0ERERERERERERERERERsUpomIiIiIiIiIiIiIiIjYoDBNRERERERERERERERExAaFaSIiIiIiIiIiIiIiIiI23JAwLT8//0YcRkREREREREREREREROxIGQ84VVXBKWkZxCclYzJlk5uXh6ODA7l5eVV1OBEREREREREREREREbGjgmzH0cEBo9EZ76aN8WzoXt3VuuEM+VUQKZ4+d4G0jCs09mhAI8+GGF2c7X0IERERERERERERERERuQFMWdkkp6RxOTWdhu5utGnhU91VuqHsHqZFnzmPwWCguY8XDg6akk1ERERERERERERERKQuyMvL4/yFRPLz8/Fv3by6q3PD2DXtOn3uAgaDgRa+NytIExERERERERERERERqUMcHBxo4XszBoOB0+cuVHd1bhi7JV4paRmkZVyhuY+XvYoUERERERERERERERGRGqa5jxdpGVdIScuo7qrcEHYL0+KTkmns0UA90kREREREREREREREROowBwcHGns0ID4pubqrckPYLfkymbJp5NnQXsWJiIiIiIiIiIiIiIhIDdXIsyEmU3Z1V+OGsEuYlp+fT25eHkYXZ3sUJyIiIiIiIiIiIiIiIjWY0cWZ3Ly86q7GDWGXMM1gMOCo4R1FRERERERERERERETqjfqSDdntLOtL+igiIiIiIiIiIiIiIiL1JxuqH5GhiIiIiIiIiIiIiIiISCUoTBMRERERERERERERERGxQWGaiIiIiIiIiIiIiIiIiA0K00RERERERERERERERERsUJgmIiIiIiIiIiIiIiIiYoPCNBEREREREREREREREREbFKaJiIiIiIiIiIiIiIiI2KAwTURERERERERERERERMQGhWkiIiIiIiIiIiIiIiIiNihMExEREREREREREREREbHBqborYA85OTlk52STl5tHfn4+BoMBB0cHnJ2ccXKqE6coIiIiIiIiIiIiIiIi1aDW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"
}
},
"cell_type": "markdown",
"id": "fd2473fb-8b4f-44af-95d9-73cd4787847d",
"metadata": {},
"source": [
"# A five minute intro to Thermobar\n",
"- For more information and examples, see the read-the-docs page. https://thermobar.readthedocs.io/en/latest/index.html, which has links to YouTube Videos.\n",
"- You can download the excel spreadsheet you need here: https://github.com/PennyWieser/Thermobar/blob/main/docs/Examples/Five_min_intro.xlsx,\n",
"click on the download button, and put in the same folder as this notebook\n",
"![image.png](attachment:048890b0-2c00-492e-be4e-a63b775e9f69.png)"
]
},
{
"cell_type": "markdown",
"id": "b34e2265-4fdb-4aff-bb33-fd34740f08dd",
"metadata": {},
"source": [
"## 1 - Introduction "
]
},
{
"cell_type": "markdown",
"id": "05ad16e5-ca43-41d8-b4fa-fb6a6f4e767e",
"metadata": {},
"source": [
"Thermobar is a Python thermobarometry tool. It implements many thermometer and barometer calibrations for single phase (e.g., cpx oer amph) and melt-crystal equilibria (e.g., cpx-liq etc.) "
]
},
{
"cell_type": "markdown",
"id": "a67aed94-349a-4d1f-92e4-a6ef3b71d85b",
"metadata": {},
"source": [
"We recomending importing 3 essential python packages, pandas which allows data to be treated a bit like an excel spreadsheet (with column headings), numpy which does math operations, and matplotlib which does plotting. "
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "bd429847-d8ca-4549-ac97-a38c06aaac99",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"id": "fb23e14b-d3b4-416e-9678-897bf4cda5d9",
"metadata": {},
"source": [
"## 2 - Installing and importing Thermobar\n",
"First, we install Thermobar using \"pip\", you only need to do this once on your computer (although you may wish to update as new features are added)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "2ca12731-7445-41dc-8e0e-7f5ab4f1fdf1",
"metadata": {},
"outputs": [],
"source": [
"#!pip install Thermobar"
]
},
{
"cell_type": "markdown",
"id": "0d1d2ac4-df2a-4689-bd4e-e283d381ce4e",
"metadata": {},
"source": [
"Now we import the thermobarometry tool itself. this is imported as pt, so any time you want to call a function from Thermobar, you do pt.function_name"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "766e90c1-34ce-4b95-832c-414dafa0f7ed",
"metadata": {},
"outputs": [],
"source": [
"import Thermobar as pt"
]
},
{
"cell_type": "markdown",
"id": "6ce20c4e-976d-45fa-88bd-28af052783c2",
"metadata": {},
"source": [
"You can get the version (which you should state in a paper) using the following code"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "6bea1ecd-3202-4cd2-b13b-a3b65ecce7de",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'1.0.7'"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pt.__version__"
]
},
{
"cell_type": "markdown",
"id": "38a5f6ea-07e7-4259-85ab-ced005010aec",
"metadata": {},
"source": [
"## 3 - Load data from an Excel file\n",
"- Excel file is formatted with oxide names, followed by the phase (e.g., SiO2_Liq for the SiO2 content of the liquid, SiO2_Cpx for the Cpx). \n",
"- In this case, it is reading the file named \"Five_min_intro.xlsx\", from Sheet1\n",
"- The import_excel function return a dictionary called \"out\", which is a collection of formatted dataframes, with one for each phase. /\n",
"- We can access these dictionaries using their \"keys\" within square brackets (i.e., 'Liqs' and' Cpxs') and extract 2 dataframes, which we call Liqs and Cpxs\n",
"- The order of headings doesn't matter. \n",
"- You can also have any other columns, e.g., estimate of pressure from any other proxy (melt inclusions, geophysics), and anything else you might want to plot (e.g., latitude, longitude)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "8ca9c32a-dca6-4feb-8238-2ce1af636abd",
"metadata": {},
"outputs": [],
"source": [
"out=pt.import_excel('Five_min_intro.xlsx', sheet_name=\"Sheet1\")\n",
"my_input=out['my_input']\n",
"Liqs=out['Liqs']\n",
"Cpxs=out['Cpxs']"
]
},
{
"cell_type": "markdown",
"id": "f8f25b83-506e-4f5e-87f0-89682acc76e0",
"metadata": {},
"source": [
"The following are the phase identification names you should use when formatting an excel spreadsheet"
]
},
{
"cell_type": "markdown",
"id": "3ca57cfd-585a-41da-86bc-c689e773edb0",
"metadata": {},
"source": [
"Phase identification:\n",
"
\n",
"
\\_Liq: Liquid (the melt)
\n",
"
\\_Ol: olivine
\n",
"
\\_Cpx: clinopyroxene
\n",
"
\\_Plag: plagioclase
\n",
"
\\_Kspar: kfeldspar
\n",
"
\\_Opx: ortopyroxene
\n",
"
\\_Amp: amphibole
\n",
"
\\_Sp: spinel
\n",
"
\n",
" "
]
},
{
"cell_type": "markdown",
"id": "0642f19b-4fbf-405f-9c83-ccfa3c0ca8d3",
"metadata": {},
"source": [
"### 3b - Only 1 phase\n",
"- If you only have one phase, you can also skip the bit where you change the column names, and just state the phase name in the import function as suffix = \" \"...\n",
"- Here, we are reading from the sheet \"Liq_noheader\" to demonstrate this"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "8103e591-4b8b-487d-aed3-c254734a6636",
"metadata": {},
"outputs": [],
"source": [
"out_noheads=pt.import_excel('Five_min_intro.xlsx', sheet_name=\"Liq_noheader\", suffix=\"_Liq\")\n",
"Liqs_noheads=out_noheads['Liqs']"
]
},
{
"cell_type": "markdown",
"id": "03300097-74d0-4a05-8fcb-6e5038c4a075",
"metadata": {},
"source": [
"## 4. Inspect data\n",
"- you should always inspect data to check it has read in correctly, and Thermobar has intepreted all the column headings how you wanted them.\n",
"- In particular, check that you have numbers in the FeOt column. If your heading was FeO, this may be empty. It needs to be FeOt in the user-inputted spreadsheet to avoid ambiguities with Fe partitioning\n",
"- Sometimes your column headings may have funny characters due to use of spaces, subscripts etc. in journal pdf tables. Check that all the columns you entered have numbers. If, say your SiO2_Liq heading had funny characters, this column will be filled with zeros when you inspect it.\n",
"- by default, if you don't have a Sample_ID_phase column, but just a Sample_ID column, the Sample_ID column in each dataframes will be replaced with the index (E.g., 0, 1, 2, 3). \n",
"- The head function shows the first 5 columns. Too look at more columns, remove .head()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "cafb8294-e3ae-48d7-8380-5b6ace68f51a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" SiO2_Cpx TiO2_Cpx Al2O3_Cpx FeOt_Cpx MnO_Cpx MgO_Cpx CaO_Cpx \\\n",
"0 51.5 0.50 3.70 5.18 0.09 15.8 22.8 \n",
"1 50.3 0.73 4.12 5.83 0.00 15.0 22.7 \n",
"2 47.3 1.75 7.85 6.51 0.14 13.1 22.5 \n",
"3 51.1 0.63 4.41 5.66 0.13 15.6 22.6 \n",
"4 51.0 0.56 4.14 7.33 0.20 14.4 22.4 \n",
"\n",
" Na2O_Cpx K2O_Cpx Cr2O3_Cpx Sample_ID_Cpx \n",
"0 0.24 0 0.66 0 \n",
"1 0.24 0 0.28 1 \n",
"2 0.25 0 0.22 2 \n",
"3 0.23 0 0.27 3 \n",
"4 0.31 0 0.09 4 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display(Liqs.head())\n",
"display(Cpxs.head())"
]
},
{
"cell_type": "markdown",
"id": "5e025542-bcb6-4640-953c-30e77d7f8f0d",
"metadata": {},
"source": [
"## 5 - Getting help"
]
},
{
"cell_type": "markdown",
"id": "c62e0eda-53b4-4e02-8194-cf1dcb1318af",
"metadata": {},
"source": [
"The help() method provide you relevant information about any function, e.g., here we want information on the function for calculating Cpx-Liq temperature:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "bd25528f-2656-454d-92d1-fcf15bc1f219",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Help on function calculate_cpx_liq_temp in module Thermobar.clinopyroxene_thermobarometry:\n",
"\n",
"calculate_cpx_liq_temp(*, equationT, cpx_comps=None, liq_comps=None, meltmatch=None, P=None, eq_tests=False, H2O_Liq=None, Fe3Fet_Liq=None, sigma=1, Kd_Err=0.03)\n",
" Clinopyroxene-Liquid thermometry, calculates temperature in Kelvin\n",
" (and equilibrium tests as an option)\n",
" \n",
" Parameters\n",
" -------\n",
" cpx_comps: pandas.DataFrame\n",
" Clinopyroxene compositions with column headings SiO2_Cpx, MgO_Cpx etc.\n",
" \n",
" liq_comps: pandas.DataFrame\n",
" Liquid compositions with column headings SiO2_Liq, MgO_Liq etc.\n",
" \n",
" Or:\n",
" \n",
" meltmatch: pandas.DataFrame\n",
" Combined dataframe of cpx-Liquid compositions\n",
" Used for calculate_cpx_liq_press_temp_matching function.\n",
" \n",
" EquationT: str\n",
" Choice of equation:\n",
" Cpx-Liquid\n",
" | T_Put1996_eqT1 (P-indep, H2O-indep)\n",
" | T_Mas2013_eqTalk1 (P-indep, H2O-indep, alk adaption of T1)\n",
" | T_Brug2019 (P-indep, H2O-indep)\n",
" | T_Put1996_eqT2 (P-dep, H2O-indep)\n",
" | T_Mas2013_eqTalk2 (P-dep, H2O-indep, alk adaption of T2)\n",
" | T_Put1999 (P-dep, H2O-indep)\n",
" | T_Put2003 (P-dep, H2O-indep)\n",
" | T_Put1999 (P-dep, H2O-indep)\n",
" | T_Put2008_eq33 (P-dep, H2O-dep)\n",
" | T_Mas2013_eqalk33 (P-dep, H2O-dep, alk adaption of eq33)\n",
" | T_Mas2013_Palk2012 (P-indep, H2O_dep)\n",
" | T_Petrelli2020_Cpx_Liq (gives voting)\n",
" | T_Jorgenson2022_Cpx_Liq (gives voting)\n",
" | T_Petrelli2020_Cpx_Liq_onnx (gives consistent result every time)\n",
" \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",
" \n",
" eq_tests: bool\n",
" If False, just returns pressure (default) as a panda series\n",
" If True, returns pressure, Values of Eq tests,\n",
" Values of Eq tests (Kd, EnFs, DiHd, CaTs, CrCaTs),\n",
" as well as user-entered cpx and liq comps and components.\n",
" \n",
" \n",
" Returns\n",
" -------\n",
" If eq_tests=False\n",
" pandas.Series: Temperature in Kelvin\n",
" If eq_tests=True\n",
" pandas.DataFrame: Temperature in Kelvin +\n",
" Eq Tests + cpx+liq comps + components\n",
"\n"
]
}
],
"source": [
"help(pt.calculate_cpx_liq_temp)"
]
},
{
"cell_type": "markdown",
"id": "0768b9b6-7c6d-48e6-9ce0-b50dc20b3f76",
"metadata": {},
"source": [
"### You can also get help on specific equations to find out what inputs they use:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "47a49ba4-36c9-4a92-adc7-2d867e524f28",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Help on function T_Put2008_eq33 in module Thermobar.clinopyroxene_thermobarometry:\n",
"\n",
"T_Put2008_eq33(P, *, H2O_Liq, Mg_Number_Liq_NoFe3, Ca_Liq_cat_frac, Si_Liq_cat_frac, Ti_Liq_cat_frac, Na_Liq_cat_frac, K_Liq_cat_frac, EnFs, lnK_Jd_DiHd_liq_2003)\n",
" Clinopyroxene-liquid thermometer of Putirka (2008) Eq 33.\n",
" :cite:`putirka2008thermometers`\n",
" \n",
" SEE=+-45°C (all data)\n",
"\n"
]
}
],
"source": [
"help(pt.T_Put2008_eq33)"
]
},
{
"cell_type": "markdown",
"id": "0d153a04-ec00-419c-b39b-d0c1ef0c5bbb",
"metadata": {},
"source": [
"## 6 - Can perform calculations just for pressure if you know temperature\n",
"- For all functions, the form is calculate_phase1name_phase2name_press, or if its a single-phase barometer, calculate_phase1name_only_press\n",
"- Specify dataframes of phase compositions after _comps=, and specify equationP. If the barometer requires a temperature, you can enter it as a single value, or as a column (see Liquid folder for more info)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "e3591bb6-0642-4a8d-afb1-e012ea7c6ce7",
"metadata": {},
"outputs": [],
"source": [
"# Here performing calculations at 1300 K\n",
"Press_eq30_1300K=pt.calculate_cpx_liq_press(cpx_comps=Cpxs, liq_comps=Liqs, \n",
" equationP=\"P_Put2008_eq30\", T=1300)"
]
},
{
"cell_type": "markdown",
"id": "187d78c0-1b64-40a3-83cd-33ef4de0464f",
"metadata": {},
"source": [
"## 7 - Similarly, for temperature at a known pressure\n",
"- Same as for press, but with the ending _temp instead, and equationT"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "54292ca8-2fe6-41fd-927e-a171fcee9837",
"metadata": {},
"outputs": [],
"source": [
"# Here performing calculations at 5 kbar\n",
"Temp_eq33_5kbar=pt.calculate_cpx_liq_temp(cpx_comps=Cpxs, liq_comps=Liqs, \n",
" equationT=\"T_Put2008_eq33\", P=5)"
]
},
{
"cell_type": "markdown",
"id": "5754a6e9-614f-4ab7-81bf-20ff29461171",
"metadata": {},
"source": [
"## 8 - If you don't know either P or T\n",
"- You can iterate an equation for pressure with an equation for temp for the more realistic situation where you don't know either"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "b0a1e0dd-85b1-4ae3-9215-94223f3cffc2",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
P_kbar_calc
\n",
"
T_K_calc
\n",
"
Delta_P_kbar_Iter
\n",
"
Delta_T_K_Iter
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
2.530914
\n",
"
1352.408784
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
1
\n",
"
1.786845
\n",
"
1290.151507
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
2
\n",
"
1.171520
\n",
"
1255.933868
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
3
\n",
"
2.143416
\n",
"
1292.669093
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
4
\n",
"
2.763538
\n",
"
1243.469600
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" P_kbar_calc T_K_calc Delta_P_kbar_Iter Delta_T_K_Iter\n",
"0 2.530914 1352.408784 0.0 0.0\n",
"1 1.786845 1290.151507 0.0 0.0\n",
"2 1.171520 1255.933868 0.0 0.0\n",
"3 2.143416 1292.669093 0.0 0.0\n",
"4 2.763538 1243.469600 0.0 0.0"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"PT_iter_30_33=pt.calculate_cpx_liq_press_temp(cpx_comps=Cpxs, liq_comps=Liqs, \n",
" equationP=\"P_Put2008_eq30\", equationT=\"T_Put2008_eq33\")\n",
"PT_iter_30_33"
]
},
{
"cell_type": "markdown",
"id": "2c3edf77-1c68-43cd-a889-8f9ed08ea40c",
"metadata": {},
"source": [
"In the example above, calculate_cpx_liq_press_temp iterates equation 30 from Putirka (2008) for P, and equation 33 from Putirka (2008) for temperature. The output is a panda's dataframe."
]
},
{
"cell_type": "markdown",
"id": "c10041d3-e0e0-40cc-854d-39694591b6dd",
"metadata": {},
"source": [
"## 9 - Can plot a very simple x-y diagram using matplotlib (loaded as plt)\n",
"- You take the dataframe name (i.e., PT_iter_30_31), and use square brackets to specify a certain column name"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "cdbe71e9-556b-4945-b0a4-9da748314392",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'T (K)')"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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Z85ozJgxqqur88zJzMxUcXGx8vPzlZ+fr+LiYmVlZTWpVgAA0I7ZPrrrrrvsIUOG2GfOnKm3bMWKFXbHjh3tV155xdfV1SPJzsvL+8E5brfblmSvW7fOtm3bPnXqlN2xY0f73Xff9cw5dOiQ3aFDBzs/P9+2bdvevXu3LckuLCz0zCkoKLAl2Xv37vW5vkvbdrvdTegKAAD4k6/f3z4fIVqzZo3q6uo0btw41dbWesbff/99TZo0Sb/73e/01FNPtXBc+z8XLlzQG2+8IcuylJCQIEn65JNPVFtbq9TUVM+8uLg43XLLLdqyZYskqaCgQJZlaejQoZ45w4YNk2VZnjkNqampUVVVldcLAAC0Tz4Hoi5duujPf/6zDh06pAceeEC2bWvlypV6+OGH9dxzz7XaXWVr1qxRly5d1LlzZy1YsEBr165Vt27dJEkVFRXq1KmTrr32Wq/P9OjRQxUVFZ450dHR9dYbHR3tmdOQ+fPne645sixL8fHxLdgVAAAIJE16UnX37t3117/+Vdu3b9fIkSP18MMPa+7cuXr66adbqz6lpKSouLhYW7ZsUVpamiZOnKijR4/+4Gds25bD4fC8//t/bmzO982ZM0dut9vzKi0tbX4TAAAgoPkciD799FN9+umnqqys1EsvvaSPP/5Y//iP/6ixY8d6ln366actXmB4eLj69OmjYcOGaenSpQoNDdXSpUslSTExMbpw4UK9i72PHj2qHj16eOYcOXKk3nqPHTvmmdOQsLAwRUREeL0AAED75PNPd9x6661yOByeIyu2bev999/XypUrZf/vo4wcDofX3V2twbZt1dTUSJJuv/12dezYUWvXrtXEiRMlffdU7c8++0wvvviiJCkxMVFut1tbt27VkCFDJElFRUVyu9381AgAAJDUhEBUUlLS4hs/c+aMDh486LWN4uJiRUZGKioqSs8//7zS09MVGxurEydOaPHixSorK9N9990nSbIsS48++qj+9V//VVFRUYqMjNSsWbM0cOBAjRw5UpLUv39/paWlacqUKVqyZIkkaerUqRozZoz69u3b4j0BAIDg43Mguu6661p849u3b1dKSorn/cyZMyVJkydP1uuvv669e/dq2bJlOn78uKKionTHHXfI5XLp5ptv9nxmwYIFCg0N1cSJE3Xu3DmNGDFCb7/9tkJCQjxzli9frunTp3vuRktPT2/02UcAAMA8Pv10xzfffKNevXr5vNJDhw6pZ8+eV1RYoOGnOwAACD4t+tMdd9xxh6ZMmaKtW7c2OsftduvNN9/ULbfcotzc3KZXDAAA4Cc+nTLbs2ePfve73yktLU0dO3bU4MGDFRcXp86dO6uyslK7d+/W559/rsGDB+ull17SPffc09p1AwAAtBifTpldcv78eX3wwQdyuVz66quvdO7cOXXr1k2DBg3S6NGjdcstt7RmrX7FKTMAAIKPr9/fTQpEJiMQAQAQfFr0GiIAAID2jEAEAACMRyACAADGIxABAADj+RyIfvazn+n06dOtWQsAAIBf+ByIli1bpnPnzrVmLQAAAH7h82+ZcXc+AASuuro6uVwulZeXKzY2VsnJyV6/6Qjgh/kciCTJ4XC0Vh0AgGbKzc3VjBkzVFZW5hlzOp1atGiRJkyY4MfKgODh84MZO3ToIMuyLhuKTp482SKFBRoezAggEOXm5iojI6PeUfxL++qcnBxCEYzm6/d3k44QPfvss7Is64qLAwBcubq6Os2YMaPBSxps25bD4dCTTz6pcePGcfoMuIwmBaIHHnhA0dHRrVULAKAJXC6X12my77NtW6WlpXK5XBo+fHjbFQYEIZ/vMuP6IQAILOXl5S06DzCZz4GIu8wAILDExsa26DzAZD4HoosXL3K6DAACSHJyspxOZ6NH8B0Oh+Lj45WcnNzGlQHBh5/uANBkdXV12rhxo1asWKGNGzeqrq7O3yUZKSQkRIsWLZJU/7KGS+8XLlzIBdWADwhEAJokNzdXvXv3VkpKijIzM5WSkqLevXsrNzfX36UZacKECcrJyVHPnj29xp1OJ7fcA03g83OITMdziACeeRPIeFI10DBfv78JRD4iEMF0dXV16t27d6O3eTscDjmdTpWUlPBFDCBg+Pr9zSkzAD5pyjNvACDYEIgA+IRn3gBozwhEAHzCM28AtGcEIgA+4Zk3ANozAhEAn/DMGwDtGYEIgM945g2A9orb7n3EbffA/+GZNwCCha/f36FtWBOAdiIkJETDhw/3dxkA0GI4ZQYAAIxHIAIAAMYjEAEAAOMRiAAAgPEIRAAAwHgEIgAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAgAAxiMQAQAA4xGIAACA8QhEAADAeAQiAABgPAIRAAAwHoEIAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxCEQAAMB4fg1EmzZt0tixYxUXFyeHw6FVq1Z5ltXW1urpp5/WwIEDFR4erri4OE2aNEmHDx/2WkdFRYWysrIUExOj8PBw3XbbbcrJyfGaU1lZqaysLFmWJcuylJWVpVOnTrVBhwAAIBj4NRBVV1crISFB2dnZ9ZadPXtWO3bs0DPPPKMdO3YoNzdX+/fvV3p6ute8rKws7du3T6tXr9auXbs0YcIE3X///dq5c6dnTmZmpoqLi5Wfn6/8/HwVFxcrKyur1fsDAADBwWHbtu3vIiTJ4XAoLy9P48ePb3TOtm3bNGTIEH399dfq1auXJKlLly764x//6BVwoqKi9OKLL+rRRx/Vnj17NGDAABUWFmro0KGSpMLCQiUmJmrv3r3q27dvg9uqqalRTU2N531VVZXi4+PldrsVERHRAh0DAIDWVlVVJcuyLvv9HVTXELndbjkcDnXt2tUzduedd+q9997TyZMndfHiRb377ruqqanR8OHDJUkFBQWyLMsThiRp2LBhsixLW7ZsaXRb8+fP95xisyxL8fHxrdUWAADws6AJROfPn9fs2bOVmZnplfDee+89ffvtt4qKilJYWJimTZumvLw83XjjjZK+u8YoOjq63vqio6NVUVHR6PbmzJkjt9vteZWWlrZ8UwAAICCE+rsAX9TW1uqBBx7QxYsXtXjxYq9lv/nNb1RZWal169apW7duWrVqle677z65XC4NHDhQ0nen477Ptu0Gxy8JCwtTWFhYyzYCAAACUsAHotraWk2cOFElJSVav36919GhL774QtnZ2frss8908803S5ISEhLkcrn02muv6fXXX1dMTIyOHDlSb73Hjh1Tjx492qwPAAAQuAL6lNmlMHTgwAGtW7dOUVFRXsvPnj0rSerQwbuNkJAQXbx4UZKUmJgot9utrVu3epYXFRXJ7XYrKSmplTsAAADBwK9HiM6cOaODBw963peUlKi4uFiRkZGKi4tTRkaGduzYoTVr1qiurs5zzU9kZKQ6deqkfv36qU+fPpo2bZpefvllRUVFadWqVVq7dq3WrFkjSerfv7/S0tI0ZcoULVmyRJI0depUjRkzptE7zAAAgFn8etv9xo0blZKSUm988uTJmjdvnq6//voGP7dhwwbPXWQHDhzQ7NmztXnzZp05c0Z9+vTRrFmzvG7DP3nypKZP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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(PT_iter_30_33['P_kbar_calc'], PT_iter_30_33['T_K_calc'], 'ok')\n",
"plt.xlabel('P (kbar)')\n",
"plt.ylabel('T (K)')"
]
},
{
"cell_type": "markdown",
"id": "7c48b76c-5229-4611-b4e1-9ca03f49df54",
"metadata": {},
"source": [
"### 9b - If you want to plot Temperature in Celcius instead, you can simply subtract 273.15 from the dataframe:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "2e763627-a2c4-40f6-a8ac-ab271c62af9b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'T (C)')"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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NaZHKXj2Nw3tLxj3NY35HQbT/qYx/fl1X9Og+AS/q6ystLZv325t377dkmQtWLDA2r59u/XPf/7TsizLevLJJ62MjAzP/LfeessKDQ21fv/731ulpaWex/HjxwPVwhU1tMdLtfQrPxraX2VlpeVyuay0tDRr165d1rp166z4+HjrwQcfDFQLV9TQHl977TUrNDTUWrx4sXXgwAFrw4YNVv/+/a0BAwYEqoXL+sUvfmE5HA5r7dq1Xn+vTp065ZlzaY9ffvml1a5dO+uRRx6xdu/ebf3pT3+yWrdubWVnZweihStqTI/BtL9pTH+Xaun7msb0GEz7m8b05899DYEowNasWWNJqvWYMGGCZVmWNWHCBGvw4MGe+YMHD77s/JaooT1eqqXvpBrT3549e6yhQ4daYWFhlsvlsmbMmOH1l76laUyPL7/8stW7d28rLCzMiomJscaPH28VFxc3f/E+qKs3SdZrr73mmVNXj2vXrrX69u1rtWnTxurWrZv1hz/8oXkLb4DG9BhM+5vG/g6/qaXvaxrbY7Dsbxrbn7/2Nbb/XwQAAICxuMoMAAAYj0AEAACMRyACAADGIxABAADjEYgAAIDxCEQAAMB4BCIAAGA8AhEAADAegQjAVWfv3r1yOp2qrKyUJC1dulTXXnttvfPXrl0rm82m48eP+72W6upqdenSRdu2bfP72gD8h0AEoMX62c9+JpvNJpvNptatW6tHjx6aOXOmTp48ednXPf300/rlL3+p8PDwZqq0fna7XTNnztQTTzwR6FIAXAaBCECLNmLECJWWlurLL7/Ur3/9ay1evFgzZ86sd35xcbFWrVql+++/vxmrrNuZM2ckSePHj1d+fr727NkT4IoA1IdABKBFs9vtcjqdiouLU3p6usaPH6+VK1fWO/+vf/2rEhIS5HK56p1z9OhRDRgwQKNHj9bp06c9459++qkSEhLUtm1bDRw4UDt27PB6zb333iuXy6V27drppptu0vLly73WTUlJ0dSpUzVjxgx17NhRw4YNkyR16NBBSUlJteYDaDkIRACCSlhYmM6ePVvv9vXr16t///71bi8uLlZycrJuvPFG5eTkqG3btp5tjz32mF544QVt3bpVUVFRGj16tOdnnT59Wv369dN7772nnTt3atKkScrIyNDmzZu91n/99dcVGhqqTz/9VEuWLPGMDxgwQPn5+Y1tG0ATIxABCBpbtmzRW2+9pdtvv73eOV999ZViY2Pr3LZv3z794Ac/0NChQz3B5Ztmz56tYcOG6aabbtLrr7+uw4cPKzc3V5LUuXNnzZw5UzfffLN69Oihhx9+WMOHD9e7777rtcb111+v+fPnq2fPnrrxxhs94507d9ZXX33VyM4BNLXQK08BgMB57733dM011+jcuXM6e/asxowZo1deeaXe+VVVVV5Hfb45fuutt+ree+/VokWL6nxtYmKi578jIyPVs2dPz3k/NTU1ev755/XOO+/o0KFDqq6uVnV1tdq3b++1Rn1Hp8LCwnTq1Kkr9gsgMDhCBKBFGzJkiAoLC7V3716dPn1aOTk5ioqKqnd+x44dVV5eXmvcbrdr6NCh+u///m8VFxf7/PNtNpsk6cUXX9RLL72kxx9/XJ988okKCws1fPhwz4nTF10akC46duyYOnXq5PPPBdC8CEQAWrT27dvr+uuvV9euXdW6desrzu/bt692795da7xVq1Z644031K9fP912220qKSmpNWfTpk2e/y4vL9e+ffs8H3vl5+drzJgx+ulPf6qEhAT16NFDX3zxhc997Ny5U3379vV5PoDmRSACcFUZPny4CgoKVFNTU2tbSEiIli1bpoSEBN12220qKyvz2v6f//mf+vjjj7Vz50797Gc/U8eOHXX33XdLunBu0OrVq7Vx40bt2bNHkydPrvX6y8nPz1dqauq36g1A0yEQAbiq3HnnnWrdurU++uijOreHhoZq+fLl+u53v6vbbrtNR44c8Wx7/vnnNX36dPXr10+lpaVatWqV2rRpI0n61a9+pVtuuUXDhw9XSkqKnE6nJyxdSUFBgdxut9LS0r51fwCahs2yLCvQRQCAPy1evFh/+9vf9MEHHwS6FEnSj3/8Y/Xt21dPPfVUoEsBUA+uMgNw1Zk0aZLKy8tVWVkZ8K/vqK6uVkJCgh555JGA1gHg8jhCBAAAjMc5RAAAwHgEIgAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAgAAxiMQAQAA4xGIAACA8QhEAADAeP8PDKlJfai8HdoAAAAASUVORK5CYII=\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(PT_iter_30_33['P_kbar_calc'], PT_iter_30_33['T_K_calc']-273.15, 'ok')\n",
"plt.xlabel('P (kbar)')\n",
"plt.ylabel('T (C)')"
]
},
{
"cell_type": "markdown",
"id": "782bffa4-de89-4fa8-a169-5b308a1cec40",
"metadata": {},
"source": [
"## 10 - Example of warnings for incorrect inputs\n",
"- Here, we read from the sheet \"wrong_header_caps\" to demonstrate what happens if the phase identifiers are lower case in the input spreadsheet.\n",
"- The function returns a warning, saying that it has found lower case names. It may be that you are using these for another purpose, but these are not recognised by the function."
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "98636cad-d427-4fb9-93b4-89e76eb1d416",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"g:\\my drive\\postdoc\\pymme\\mybarometers\\thermobar_outer\\src\\Thermobar\\import_export.py:345: UserWarning: You've got a column heading with a lower case _cpx, this is okay if this column is for your own use, but if its an input to Thermobar, it needs to be capitalized (_Cpx)\n",
" w.warn(\"You've got a column heading with a lower case _cpx, this is okay if this column is for your\"\n",
"g:\\my drive\\postdoc\\pymme\\mybarometers\\thermobar_outer\\src\\Thermobar\\import_export.py:373: UserWarning: You've got a column heading with a lower case _liq, this is okay if this column is for your own use, but if its an input to Thermobar, it needs to be capitalized (_Liq)\n",
" w.warn(\"You've got a column heading with a lower case _liq, this is okay if this column is for your\"\n"
]
}
],
"source": [
"out2=pt.import_excel('Five_min_intro.xlsx', sheet_name=\"wrong_header_caps\")\n",
"Cpxs2=out2['Cpxs']"
]
},
{
"cell_type": "markdown",
"id": "00f2b9e8-b376-4efc-8d25-c7c39c3b1128",
"metadata": {},
"source": [
"- By inspecting the dataframes extracted from this input, you can see that Thermobar couldnt find any relevant column headings as all the columns except the sample ID are 0. \n",
"This is why we recomend users always inspect dataframes before proceeding to calculations!"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "e8626c46-2d19-4e6a-97a5-d03604a4c65c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
SiO2_Cpx
\n",
"
TiO2_Cpx
\n",
"
Al2O3_Cpx
\n",
"
FeOt_Cpx
\n",
"
MnO_Cpx
\n",
"
MgO_Cpx
\n",
"
CaO_Cpx
\n",
"
Na2O_Cpx
\n",
"
K2O_Cpx
\n",
"
Cr2O3_Cpx
\n",
"
Sample_ID_Cpx
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0
\n",
"
\n",
"
\n",
"
1
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
1
\n",
"
\n",
"
\n",
"
2
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
2
\n",
"
\n",
"
\n",
"
3
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
3
\n",
"
\n",
"
\n",
"
4
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
4
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SiO2_Cpx TiO2_Cpx Al2O3_Cpx FeOt_Cpx MnO_Cpx MgO_Cpx CaO_Cpx \\\n",
"0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"\n",
" Na2O_Cpx K2O_Cpx Cr2O3_Cpx Sample_ID_Cpx \n",
"0 0.0 0.0 0.0 0 \n",
"1 0.0 0.0 0.0 1 \n",
"2 0.0 0.0 0.0 2 \n",
"3 0.0 0.0 0.0 3 \n",
"4 0.0 0.0 0.0 4 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display(Cpxs2.head())"
]
},
{
"cell_type": "markdown",
"id": "1d296b7c-7b88-4f4d-bdb8-a6267d61089b",
"metadata": {},
"source": [
"## 11 - Example of Error when you don't have an FeOt column...\n",
"- Here, we load from the sheet \"no_feot\", which only has a heading FeO.\n",
"- This returns an error telling you to go make an FeOt column."
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "93dabe22-6a82-4824-aa7f-fff0cd7ff8c3",
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "No FeOt found. You've got a column heading with FeO. To avoid errors based on common EPMA outputs thermobar only recognises columns with FeOt for all phases except liquid where you can also enter a Fe3Fet_Liq heading used for equilibrium tests",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
"Input \u001b[1;32mIn [17]\u001b[0m, in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[0m out3\u001b[38;5;241m=\u001b[39m\u001b[43mpt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mimport_excel\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mFive_min_intro.xlsx\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msheet_name\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mno_feot\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 2\u001b[0m Liqs3\u001b[38;5;241m=\u001b[39mout3[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mLiqs\u001b[39m\u001b[38;5;124m'\u001b[39m]\n",
"File \u001b[1;32mg:\\my drive\\postdoc\\pymme\\mybarometers\\thermobar_outer\\src\\Thermobar\\import_export.py:389\u001b[0m, in \u001b[0;36mimport_excel\u001b[1;34m(filename, sheet_name, sample_label, GEOROC, suffix)\u001b[0m\n\u001b[0;32m 385\u001b[0m my_input_c[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFeOt_Liq\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m=\u001b[39mmy_input_c[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFeO_Liq\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m+\u001b[39mmy_input_c[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFe2O3_Liq\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m0.89998\u001b[39m\n\u001b[0;32m 388\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m--> 389\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo FeOt found. You\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mve got a column heading with FeO. To avoid errors based on common EPMA outputs\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 390\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m thermobar only recognises columns with FeOt for all phases except liquid\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 391\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m where you can also enter a Fe3Fet_Liq heading used for equilibrium tests\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 393\u001b[0m \u001b[38;5;66;03m# if any(my_input.columns.str.contains(\"Fe2O3_\")) and (all(my_input.columns.str.contains(\"FeOt_\")==False)):\u001b[39;00m\n\u001b[0;32m 394\u001b[0m \u001b[38;5;66;03m# raise ValueError(\"No FeOt column found. You've got a column heading with Fe2O3. To avoid errors based on common EPMA outputs\"\u001b[39;00m\n\u001b[0;32m 395\u001b[0m \u001b[38;5;66;03m# \" thermobar only recognises columns with FeOt for all phases except liquid\"\u001b[39;00m\n\u001b[0;32m 396\u001b[0m \u001b[38;5;66;03m# \" where you can also enter a Fe3Fet_Liq heading used for equilibrium tests\")\u001b[39;00m\n\u001b[0;32m 398\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28many\u001b[39m(my_input\u001b[38;5;241m.\u001b[39mcolumns\u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mcontains(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFeOT_\u001b[39m\u001b[38;5;124m\"\u001b[39m)) \u001b[38;5;129;01mand\u001b[39;00m (\u001b[38;5;28mall\u001b[39m(my_input\u001b[38;5;241m.\u001b[39mcolumns\u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mcontains(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFeOt_\u001b[39m\u001b[38;5;124m\"\u001b[39m)\u001b[38;5;241m==\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)):\n",
"\u001b[1;31mValueError\u001b[0m: No FeOt found. You've got a column heading with FeO. To avoid errors based on common EPMA outputs thermobar only recognises columns with FeOt for all phases except liquid where you can also enter a Fe3Fet_Liq heading used for equilibrium tests"
]
}
],
"source": [
"out3=pt.import_excel('Five_min_intro.xlsx', sheet_name=\"no_feot\")\n",
"Liqs3=out3['Liqs']"
]
},
{
"cell_type": "markdown",
"id": "63d2156c-cd26-479b-96e9-27db7512a5e8",
"metadata": {},
"source": [
"## What about if you have FeO and Fe2O3?\n",
"- For liquid, if you have FeO_Liq and Fe2O3_Liq headings, it can handle this..."
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "7b723581-d366-4c7c-ae59-1f03e61ad03d",
"metadata": {},
"outputs": [],
"source": [
"out4=pt.import_excel('Five_min_intro.xlsx', sheet_name=\"Feo_Fe2O3\")\n",
"Liqs4=out4['Liqs']"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "e6ab70e9-b23a-4e08-8be0-8f9707ce2c70",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"