{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Integration of pygcc with GWB" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Import pygcc, GWBplugin and other modules" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.5.2\n" ] } ], "source": [ "import sys, pygcc, pandas as pd\n", "from importlib.metadata import version\n", "print(version(\"pygcc\"))\n", "\n", "from pygcc.pygcc_utils import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ensure you have GWB license to run and test this script.\n", "\n", "All files used in this tutorial can be downloaded from https://bitbucket.org/Tutolo-RTG/pygcc/src/master/docs/\n", "\n", "Download [output_reader](https://bitbucket.org/Tutolo-RTG/pygcc/src/master/docs/output_reader.py) into your working directory" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "ename": "ModuleNotFoundError", "evalue": "No module named 'GWBplugin'", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mModuleNotFoundError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[2]\u001b[39m\u001b[32m, line 6\u001b[39m\n\u001b[32m 3\u001b[39m sys.path.append(os.path.abspath(\u001b[33m'\u001b[39m\u001b[33m.\u001b[39m\u001b[33m'\u001b[39m))\n\u001b[32m 5\u001b[39m \u001b[38;5;66;03m# import GWBplugin class\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m6\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mGWBplugin\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m *\n\u001b[32m 7\u001b[39m \u001b[38;5;66;03m# create the plug-in object\u001b[39;00m\n\u001b[32m 8\u001b[39m myGWBrun = GWBplugin()\n", "\u001b[31mModuleNotFoundError\u001b[39m: No module named 'GWBplugin'" ] } ], "source": [ "# load GWB plugin\n", "sys.path.append(\"c:/program files/gwb/src\")\n", "sys.path.append(os.path.abspath('.'))\n", "\n", "# import GWBplugin class\n", "from GWBplugin import *\n", "# create the plug-in object\n", "myGWBrun = GWBplugin()\n", "\n", "from output_reader import read_gwboutput" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Load filtered vent fluid data\n", "This example is from Syverson, D. D., Awolayo, D., & Tutolo, B. M. (2021). Global constraints on secular changes in mid-ocean ridge subseafloor sulfide deposition and metal fluxes through Earth history. In AGU Fall Meeting 2021. AGU.\n", "\n", "Here we will work with EPR 21 N sample to run speciation and warm up the fluid from 25 °C to 355 °C" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Sample-ID EPR 21°N-SW-1981\n", "Geol_setting Mid-oceanic spreading center\n", "Rock_type_primary Basalt\n", "Depth 2500\n", "Temp 355\n", "pH 3.6\n", "XH2S 7.45\n", "Cl 496\n", "Na 439\n", "Fe 750\n", "Mn 699\n", "H2 0.01\n", "K 23.2\n", "Ca 16.6\n", "Si 17.3\n", "Cu 9.7\n", "Press 251.945\n", "Name: 1, dtype: object" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "filename = './MARHYS_DB_2_0_filter.csv'\n", "df = pd.read_csv(filename)\n", "i = 1 \n", "df.loc[1,:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Automate the generation of database for each vent fluid with pygcc and run speciation with gwb React\n", "The gwb output files are stored in the folder 'Ventspec'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pygcc\\pygcc_utils.py:2266: UserWarning: Some temperature and pressure points are out of aqueous species HKF eqns regions of applicability, hence, density extrapolation has been applied\n", " warnings.warn('Some temperature and pressure points are out of aqueous species HKF eqns regions of applicability, hence, density extrapolation has been applied')\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Success, your new GWB database is ready for download\n", "\n", "Finished run.\n" ] } ], "source": [ "T = [20, df.loc[i,:].Temp]\n", "P = np.round(df.loc[i,:].Press)*np.ones(np.size(T))\n", "Temp = df.loc[i,:].Temp; npH = df.loc[i,:].pH\n", "nCl = df.loc[i,:].Cl; nNa = df.loc[i,:].Na\n", "nH2S = df.loc[i,:].XH2S; nFe = df.loc[i,:].Fe\n", "nMn = df.loc[i,:].Mn; nH2 = df.loc[i,:].H2\n", "nK = df.loc[i,:].K; nCu = df.loc[i,:].Cu; \n", "nCa = df.loc[i,:].Ca; nSi = df.loc[i,:].Si\n", "objdbname = './thermo.%sbars%sC' % (int(P[0]), int(df.loc[i,:].Temp))\n", "write_database(T = [20, Temp], P = P, solid_solution = True, objdb = objdbname, \n", " clay_thermo = 'Yes', dataset = 'GWB', sourcedb = './database/thermo.com.tdat')\n", "\n", "output_folder = 'Vent_spec'\n", "if os.path.exists(os.path.join(os.getcwd(), output_folder)) == False:\n", " os.makedirs(os.path.join(os.getcwd(), output_folder))\n", "\n", "# start the GWB program\n", "if myGWBrun.initialize(\"react\",\"%s/runs_%s.txt\" % (output_folder, i), \n", " \"-nocd -d \\\"./output/GWB/%s.dat\\\" \" % objdbname[1:]):\n", "\n", " cmds = ['H2O = 1 free kg', 'Fe++ = %s umol/kg' % nFe, \"Na+ = %s mmol/kg\" % nNa, \n", " 'pH = %s' % npH, \"Cl- = %s mmol/kg\" % nCl, \"swap H2S(aq) for SO4--\", \n", " \"H2S(aq) = %s mmol/kg\" % nH2S, 'Mn++ = %s umol/kg' % nMn, \"K+ = %s mmol/kg\" % nK, \n", " 'Ca++ = %s mmol/kg' % nCa, 'SiO2(aq) = %s mmol/kg' % nSi, 'Cu++ = %s umol/kg' % nCu, \n", " 'temperature initial = 25 C, final = %s C' % Temp, 'swap H2(aq) for O2(aq)', \n", " \"H2(aq) = %s umol/kg\" % nH2, \"balance off\"]\n", "\n", " cmds += ['suppress ALL', \"plot = character\", 'itmax = 9999', \"go\", \n", " 'save %s/react%s.rea' % (output_folder, i)]\n", "\n", " for cmd in cmds: \n", " myGWBrun.exec_cmd(cmd)\n", "\n", " for fname in os.listdir('./%s' % output_folder):\n", " if fname.startswith('React_%s.txt' % i):\n", " os.remove('%s/React_%s.txt' % (output_folder, i))\n", " if fname.startswith('React_%s.gtp' % i): \n", " os.remove('%s/React_%s.gtp' % (output_folder, i))\n", "\n", " os.rename('React_output.txt', '%s/React_%s.txt' % (output_folder, i))\n", " os.rename('React_plot.gtp', '%s/React_%s.gtp' % (output_folder, i))\n", "\n", "print(\"\\nFinished run.\" )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Extract simulation results" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[]\n" ] } ], "source": [ "rerun = []\n", "path = './' + output_folder + '/'\n", "files = os.listdir(path)\n", "for i, f in enumerate(files):\n", " if f.endswith('.gtp') and f.startswith('React_'): \n", " size = os.path.getsize(path + f)/(1024) #size in KB\n", " if size > 2:\n", " data = read_gwboutput(path + f)\n", " else:\n", " rerun.append(f)\n", "print(rerun)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot pyrite saturation with temperature" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, '$Log_{10}$(Q/K)$_{Pyrite}$')" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEGCAYAAABhMDI9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAcC0lEQVR4nO3dfZQcdZ3v8feHJEB4jEBcJQGTeCHKAjeRwOVhV1ngLsLiITys4C4I7mq4gqxhgb3Bp+OuKHgBzV4PsrA+wIIu4UJEERQExFVUMMBACGGUpyskrARkBMxcGcL3/lHV0D2Znq7u6a6u6v68zslJd1V31zc1k/nO9/ur368UEZiZmVVs0u0AzMysWJwYzMyshhODmZnVcGIwM7MaTgxmZlZjcrcDGM8OO+wQs2bN6nYYZmalcs899zwbEdNbfX+hE8OsWbNYsWJFt8MwMysVSf93Iu93K8nMzGo4MZiZWQ0nBjMzq+HEYGZmNZwYzMysRqGvSuqU6+9bwwU3D7J2aJgdp03l7EPnsnD+jG6HZWZWCH2XGK6/bw3nLF/J8MgGANYMDXPO8pUATg5mZvRhK+mCmwdfSwoVwyMbWLxsgAPOv53r71vTpcjMzIqh7xLD2qHhuvvWDA1zxrIBZi250UnCzPpW3yWGHadNHXd/5bZFlRaTk4OZ9Zu+SwxnHzqXqVMmZXqtW0xm1o/6bvC5MsB8wc2DrBmnrVTNA9Rm1k9U5Hs+L1iwIDq5iN7oK5QamSTxaoQvcTWzQpN0T0QsaPX9fVcxVBtdPYjXxxjGsiFNoq4gzKyX9XVigOQHe+WHe2XiW5YW0/DIBi64edCJwcx6Tt8NPo9n4fwZ3LnkIJYeNy/TAPWaoWEPTJtZz+n7imEs1S2mtUPDbCK91kYazW0lM+s1fT34nFXWQeoZHpQ2swLw4HMOsl7i6urBzHqBxxgyqow/zGgwc9qT4sys7JwYmpR15rSX1DCzsnJiaNLC+TM47+g9GlYO8PolrWZmZZJrYpB0hqRVkh6U9O+SNs/z+O3SzGWtvqTVzMomt8QgaQbwd8CCiNgdmAQcn9fxOyFr9eC2kpmVSd6tpMnAVEmTgS2AtTkfv+2yVg9uK5lZWeSWGCJiDXAh8GvgaeB3EXHL6NdJWiRphaQV69atyyu8CctSPbitZGZlkGcr6Q3AkcBsYEdgS0knjH5dRFwWEQsiYsH06dPzCq8tslzS6raSmRVdnq2kQ4DHI2JdRIwAy4H9czx+bhpd0uq2kpkVWZ6J4dfAvpK2kCTgYGB1jsfPjdtKZlZmeY4x3AVcC9wLrEyPfVlex8+b20pmVlZeRK/DsizA5zvDmVk7eRG9gsuyAJ/vDGdmReIlMXKQdQE+8MC0mXWfE0OOmlmAzwPTZtYtbiXlyHeGM7MycGLI2cL5M177Qd9oYLrSVnJiMLM8uZXURZ7vYGZF5MTQZZ7vYGZF48RQEF5Gw8yKwomhINxWMrOicGIoELeVzKwInBgKyG0lM+smJ4YCclvJzLrJiaGg3FYys25xYig4t5XMLG+e+VxwWVZnXVtnu5lZK1wxlECjtlKAxxvMrG2cGEpkvLaSxxvMrF2cGEqk0dVKHm8ws3ZwYiiZSltJdfavGRpm9pIb3Voys5Y5MZTUjuNcxhq4tWRmrXNiKKksd4Nza8nMWuHEUFLV4w312krgGdJm1jzPYyix6rvBHXD+7XXnOfg2oWbWDFcMPcIzpM2sXZwYeoQX3jOzdnFi6CFeeM/M2sGJoQe5rWRmE+HE0IPcVjKziXBi6FFuK5lZq5wYepzbSmbWLCeGHue2kpk1y4mhD7itZGbNcGLoI24rmVkWTgx9xG0lM8vCiaHPuK1kZo04MfQpt5XMrJ5cE4OkaZKulfSwpNWS9svz+PY6t5XMrJ68K4Z/Br4fEW8D/iuwOufjWxW3lcxsLLklBknbAO8EvgoQES9HxFBex7f63FYys2p5VgxzgHXA1yXdJ+krkrYc/SJJiyStkLRi3bp1OYbXv7K2lWYvudGtJbM+kGdimAy8A7gkIuYDvweWjH5RRFwWEQsiYsH06dNzDK+/ZWkrBW4tmfWDPBPDU8BTEXFX+vxakkRhBdKorQRuLZn1upYSg6SLJV2ePv7zLO+JiP8EnpQ0N910MPBQK8e3zqluK2mc1/mKJbPeNbnF970M/CZ9fBBwS8b3nQ58Q9KmwGPAB1o8vnXQwvkzWDh/BgAHnH87a4aGx3xdpa1UeY+Z9YZWW0nrgW0lTQF2zvqmiBhIxw/2jIiFEfF8i8e3nPiKJbP+02pi+C3wKHAxcGf7wrGi8UQ4s/7TVGJIZy5/HTgm3fRvwIK2R2WF4olwZv2lqcQQEUMR8QHgH4G7gF2A5Z0IzIrHbSWz/tB0K0nSP5HMYJ4D/CQibmh7VFZIbiuZ9YemE0NEfAr4EvAicIykf217VFZYbiuZ9b5WB5/fHxHfj4jzI+JDbY3ISsFtJbPe1WpiOFLSR6omq1mfcVvJrHe1mhiOAR4BjpL0lTbGYyXitpJZb2o1MXwW2JC2kj7YzoCsfLK0lRYvG3D1YFYSLSWGiPhbYGdJ/1vS9m2OyUomS1sJXD2YlUWri+gdCswG3gp8VdJRbY3KSidLWwk8KG1WBq22kt4MfC0i/iIiFpIspGeWadlu3/THrNiaXl1V0lbAbRHxZNXmj7cvJCuzyiqrF9w8WHdVVqi96U/1+8ys+1qpGL4NfErSa0tmR8QL7QvJyq7SVlp63Dzf9MeshFpJDA+nk9p2b3cw1lt80x+zcmrlRj17S7oA2FXSLsAjERFtjst6hG/6Y1Y+rayVtA/wz8BXgBOBa9odlPUmz3cwK4dWBp+3BJ6OiG+TjDeYZZJ1YNrVg1l3NawYJG0i6a8k3SjpGWAQeFrSKkkXpO0ks0w838Gs+LK0kn5IMpHtHOBNETEzIt4I/Cnwc+B8SSd0MEbrQVnnO7itZJa/LK2kE0bNWQAgIn4r6eWIOEbSlA7EZj3MbSWz4spSMdwqadbojZL+BlgKEBEj7Q3L+kHW+Q4elDbLV5bEcAbwg+qxBEnnpNvf1anArH94ET6zYlGWKQiSDgYuBRYCHwT2Bo6IiOc7GdyCBQtixYoVnTyEFcx4cx2qzZg2lbMPnev2ktkYJN0TEQtafX+meQwRcRtwMnAHMAc4uNNJwfpTlkFpcPVg1kkNKwZJL5KseSZgM2AE2JA+j4jYplPBuWLoT9fft6bhoHTFJIlXI9jRFYTZa/KoGA4FpkXE1hGxaURsGRHbpM87lhSsfzWzCN+GiJqVWl1BmE1clsTwfmCFpKslnSzpTZ0OygyyD0pXeFKcWXtkGnwGkPQ24DCSCmJbkolv3wfujIgNnQjOrSSruP6+NZyzfCXDI42/1Twwbf0ul8FngIh4OCK+GBHvJrlj20+AvwTuavXgZlmNXsJ7kuov5O22ktnENFMxbAH8l/TpYET8oWNRpVwxWD1ZKwhXD9aPOl4xSJoiaSnwFPB14ArgMUlL0v3zWz24Was8Kc6sc7K0ki4CtgLeEhF7RcR84O3AHEmXAMs7GaBZPc2s1OolNcyyyzKP4RFgl9F3aZM0CXgWOCwift6J4NxKsiyaGZgWyaQct5isl020lZRlddVXx7p1Z0RskLSuU0nBLKusK7VCkhTAq7aajSdLK+khSe8fvTG9B8Pq9odk1rxmJsVVuMVkNrYsFcNpwPJ0me17SH7p2huYChzV7AHTFtQKYE1EHNHs+83G00z1UOHqwaxWM5erHgT8MUmbdlW6sF7zB5T+HlgAbNMoMXiMwSaimbGHCo89WC+Y6BhDlsFnjTXG0Oxr0tfNJLnc9bPA3zsxWKdVL8hXGXhuZMomYqvNJzO0fsSL81kp5TH4/ENJ1wHfjohfVx14U+BPgJNIlse4PMNnLQX+Adi63gskLQIWAey8884ZPtKsvoXzZ7z2Qz3rqq0jrwbPr09uSug2k/WjLBXD5sDfAH8NzAaGSMYXNgFuAS6OiIGGB5KOAA6PiFMlHQic5YrBuqGVFhO4zWTl0fFW0qiDTQF2AIYjYqipA0nnAScCrwCbA9sAyyPihHrvcWKwTmnmng/VPA/CyiDXxNAurhisKFqtHgCmTpnEeUfv4eRghZPb6qpVB/yr9N4M35D0TUnva/XgZt02etXWaVOnMGVS/ZVbq3kehPWqpisGSZdGxClVzy+OiNPaHhmuGKw7WmkzucVkRZLHVUmjbSbpL4AngZkkA9FmPaNyJVMzbSYvtWG9pOlWEnAq8AbgcGA7kpnRZj1n9NLe2RpMbjFZ+U148FnS/4yIz7cpnhpuJVmRtNJi8mQ564bcr0qSdE31U2BeROzSagDjcWKwIprIlUwei7A8dGOM4YWI+GBVAJe0enCzMhq9UF/WpTagdizijGUDLF424CRhhdNKxTA7Ih6ver5dRPy27ZHhisHKodXJctVcSVg7lXKCW1ZODFYmE2kxVXOSsInKLTFI+hWwErgfGADuj4gnWj1wFk4MVjaV6mHt0DDbTp3C719+hZENrf/y5SRhrcgzMZwFzAEeAnYHTgAeB74FfCYiRloNoh4nBiu7Vpb9rsdXOFlWeSaGgYiYV/V8HvABkolub4mI01sNoh4nBusl7UwS4GrC6svzqqTfSdozIh4AiIgBSftGxEcl3dtqAGb9ot69IVpNEp5tbZ3STMXwduAqkvGFAWAusFdE7CfpwYjYvd3BuWKwftDOSsLVg0H+92OYBBwN7Ak8B1wJ/D/gjIg4t9Ug6nFisH7TjiThFpPlOcawHXAG8EaSAeh/i4jnWz1wFk4M1s/acYWTk0R/yjMx3ALcSpIU9iC5KukDEXF3qwdvxInB7HUTrSacJPpHnolhZUTsUfV8DvDNiNi31YM34sRgNraJzrZ2kuhteSaGHwGnV65KSrc9EBF7tnrwRpwYzMbXjtnWnh/Re/JMDG8DrgV+TDIDejdgRkQc1erBG3FiMGvM8yNstLyvStoUWEiSFNaQDED/odWDN+LEYNacdieJqVMmcd7Rezg5lExXF9GTdGdEHNDyBzTgxGDWOs+P6F/dTgyPR8Tslj+gAScGs/bw/Ij+0vHEIOlLJGMKK4EHI+LFqn2PRcScVg/eiBODWft5fkTvy2OtpJUkM53/Gthd0gu8nii2bvXAZtYd1Ws2QWvVhNdp6m2t3MFtJkmi2APYIyJO6ERg4IrBLG8TmR/h6qE4fAc3M2u7VudHeE5EMeS57LaZ9YnKD/NmW0wjrwbPr0/u2eU2U3m5YjCzhiZ6VZPbTPlyxWBmHVfvJkNZuXooF1cMZtaSVschXD10ngefzaxrWp0T4XkQneVWkpl1zXhzIsbjeRDF5orBzNqulTaTq4f2ccVgZoUz+nLXLFw9FIcrBjPrKFcP+XPFYGaF1spkOVcP3eWKwcxy1ew8CFcPzZtoxbBJO4MxM2tk4fwZ3LnkIJYeN4+pUyY1fH2lerj+vjU5RGeQY2KQtJOkH0paLWmVpI/mdWwzK56F82dw3tF7MGPa1IavHR7ZwJnX3M/sJTdywPm3O0l0WJ4VwyvAmRHxdmBf4DRJu+V4fDMrmGaqhw0RBK4g8pBbYoiIpyPi3vTxi8BqwE1DM2uqeoCkgli8bMDVQ4d0ZYxB0ixgPnDXGPsWSVohacW6detyj83MuqPZsQdw9dApuV+VJGkr4EfAZyNi+Xiv9VVJZv2peg2mTSQ2ZPg55auXXleqeQySpgDXAd9olBTMrH+NXuY7ywQ5z31onzyvShLwVWB1RHwhr+OaWbk1e/XSBTcP5hBVb8tzjOEA4ETgIEkD6Z/Dczy+mZVUM+MPa4aGPSg9Qbm1kiLiJyTLsJuZtSTr4nxuK02Ml8Qws1LKOvbQj4PSpRp8NjNrF1cPneO1ksystCpjD40Gpj0hrjlODGZWemcfOtcL8rWRxxjMrCc0s5z3JIlXI9ixR8cfvOy2mRlekK+dnBjMrKd4Qb6Jc2Iws57jBfkmxonBzHpWdfUgkrGF8bh6SHgeg5n1NC/I1zxXDGbWN5pdkK9fqwcnBjPrK82OP/Tj2IMTg5n1JVcP9TkxmFnfcvUwNicGM+t7rh5qeUkMM7MqWa9cApiyidhq88kMrR8p1PIaE10Sw4nBzGyUZtZdqiYg6P49IJwYzMw6pJnqYbRuJgknBjOzDmq1eqiWd5JwYjAzy8FEqodqlSQxbeoUJBhaP8K2VY/bMVbhxGBmlpNK9bB2aJhtp07h9y+/wsiG9v8MrR7UbiVpODGYmXVJdZupUgl0Wpa2lBODmVkBFClJTDQxeHVVM7M2GL2Kax5JovK57V4N1hWDmVkH5V1JzJg2lZ//01GPb1j/uzmtfoYrBjOzDhqrkqgMXo91VdJEB7XXDA0zeZvpb5lIzE4MZmY5qU4S4xkrgTy/fiR7xSFNaB08JwYzs4Kpl0Dyaks5MZiZlUS9Ae5287LbZmYl1Oy9JJrhisHMrMQqFUQ7qwdXDGZmJVepHrLcaCgLJwYzsx5x9qFz29JWcivJzKxHVNpK7730lZcn8jmuGMzMesjC+TMYWffEyol8hhODmZnVyDUxSHq3pEFJj0hakuexzcwsm9wSg6RJwMXAYcBuwPsk7ZbX8c3MLJs8B5/3AR6JiMcAJF0NHAk8VO8Ng4ODHHjggTXb3vve93Lqqaeyfv16Dj/88I3ec/LJJ3PyySfz7LPPcuyxx260/8Mf/jDHHXccTz75JCeeeOJG+88880ze8573MDg4yCmnnLLR/k984hMccsghDAwMsHjx4o32f+5zn2P//ffnpz/9KR/72Mc22r906VLmzZvHrbfeyrnnnrvR/ksvvZS5c+dyww03cNFFF220/8orr2SnnXZi2bJlXHLJJRvtv/baa9lhhx24/PLLufzyyzfaf9NNN7HFFlvw5S9/mWuuuWaj/XfccQcAF154Id/97ndr9k2dOpXvfe97AHzmM5/htttuq9m//fbbc9111wFwzjnn8LOf/axm/8yZM7nqqqsAWLx4MQMDAzX7d911Vy677DIAFi1axC9/+cua/fPmzWPp0qUAnHDCCTz11FM1+/fbbz/OO+88AI455hiee+65mv0HH3wwn/zkJwE47LDDGB6uveb7iCOO4KyzzgLY6PsO/L3n772lQDm/95qVZytpBvBk1fOn0m01JC2StELSipGRkdyCMzOzRG73Y5D0l8ChEfHB9PmJwD4RcXq99/h+DGZmzZvoHdzyrBieAnaqej4TWJvj8c3MLIM8E8MvgF0kzZa0KXA88J0cj29mZhnkNvgcEa9I+ghwMzAJ+FpErMrr+GZmlk2uS2JExE3ATXke08zMmuOZz2ZmVsOJwczMajgxmJlZDScGMzOrkdsEt1ZIehEY7HYcE7AD8Gy3g5iAMsdf5tjB8Xdb2eOfGxFbt/rmot+oZ3Ais/e6TdIKx98dZY4dHH+39UL8E3m/W0lmZlbDicHMzGoUPTFc1u0AJsjxd0+ZYwfH3219HX+hB5/NzCx/Ra8YzMwsZ04MZmZWo5CJQdK7JQ1KekTSkm7Hk4WkJyStlDRQuVRM0naSfiDpV+nfb+h2nBWSvibpGUkPVm2rG6+kc9Kvx6CkQ7sT9evqxP9pSWvSr8GApMOr9hUmfkk7SfqhpNWSVkn6aLq9FOd/nPjLcv43l3S3pPvT+P8x3V6W818v/vad/4go1B+SJbkfBeYAmwL3A7t1O64McT8B7DBq2/8ClqSPlwCf73acVbG9E3gH8GCjeIHd0q/DZsDs9OszqYDxfxo4a4zXFip+4M3AO9LHWwO/TGMsxfkfJ/6ynH8BW6WPpwB3AfuW6PzXi79t57+IFcM+wCMR8VhEvAxcDRzZ5ZhadSRwRfr4CmBh90KpFRH/Afx21OZ68R4JXB0Rf4iIx4FHSL5OXVMn/noKFX9EPB0R96aPXwRWk9z/vBTnf5z46yla/BERL6VPp6R/gvKc/3rx19N0/EVMDDOAJ6ueP8X433RFEcAtku6RtCjd9kcR8TQk/5mAN3YtumzqxVumr8lHJD2QtpoqrYDCxi9pFjCf5Le+0p3/UfFDSc6/pEmSBoBngB9ERKnOf534oU3nv4iJQWNsK8M1tQdExDuAw4DTJL2z2wG1UVm+JpcAbwXmAU8DF6XbCxm/pK2A64DFEfHCeC8dY1sR4y/N+Y+IDRExj+Te8/tI2n2cl5cl/rad/yImhqeAnaqezwTWdimWzCJibfr3M8C3SEq130h6M0D69zPdizCTevGW4msSEb9J/8O8Cvwrr5fLhYtf0hSSH6rfiIjl6ebSnP+x4i/T+a+IiCHgDuDdlOj8V1TH387zX8TE8AtgF0mzJW0KHA98p8sxjUvSlpK2rjwG/hx4kCTuk9KXnQR8uzsRZlYv3u8Ax0vaTNJsYBfg7i7EN67Kf+rUUSRfAyhY/JIEfBVYHRFfqNpVivNfL/4Snf/pkqalj6cChwAPU57zP2b8bT3/3RpZbzDqfjjJlQ6PAh/vdjwZ4p1DMup/P7CqEjOwPXAb8Kv07+26HWtVzP9OUm6OkPxG8bfjxQt8PP16DAKHFTT+K4GVwAPpf4Y3FzF+4E9ISvkHgIH0z+FlOf/jxF+W878ncF8a54PAp9LtZTn/9eJv2/n3khhmZlajiK0kMzPrIicGMzOr4cRgZmY1nBjMzKyGE4OZmdVwYrBCkrR91SqR/zlq1chNux1fNUkHStq/Q589S9JwuvxBZdubJF0t6VFJD0m6SdKukt6anp+XxvlIs4YmdzsAs7FExHMkU/uR9GngpYi4sFvxSJocEa/U2X0g8BLw0yY+b1JEbMj48kcjWf6gMrnsW8AVEXF8um0eyTo/PwbmOTHYRLlisNKQtJekH6ULFd5ctXzBHZK+KOk/lNwjYG9Jy9N19c9NXzNL0sOSrkgXGbtW0hYZPvdzkn4EfFTSeyTdJek+SbdK+qN0Ebn/AZyR/rb+p5Iul3RsVdwvpX8fqOQ+Bt8EVqYLoV0g6RdpTKdkOA1/BoxExL9UNkTEQJoUzNrCicHKQsCXgGMjYi/ga8Bnq/a/HBHvBP6FZCmD04DdgZMlbZ++Zi5wWUTsCbwAnJqu+TPe506LiHdFxEXAT4B9I2I+yXLw/xART6TH/GJEzMvwA3ofkpnxu5HM1v5dROwN7A18KF2yYDy7A/c0eI3ZhLiVZGWxGckPxR8k3RQmkSyJUVFZT2slsCrS5ZMlPUaygNgQ8GRE3Jm+7irg74DvN/jcZVWPZwLL0opiU+DxFv4dd0eyJj4ka2rtWVVdbEuyjk0rn2vWNk4MVhYi+YG/X539f0j/frXqceV55ft89PovkeFzf1/1+EvAFyLiO5IOJLlj1lheIa3G0zGB6sHy6s8TcHpE3Fznc8ayCji24avMJsCtJCuLPwDTJe0HybLPkv64yc/YufJ+4H0kraHBJj53W2BN+vikqu0vktzisuIJYK/08ZEkd9gay83Ah9N2FumVRVs2+DfcDmwm6UOVDemYyrsavM8sMycGK4tXSX5T/ryk+0lW9Gz2EtHVwEmSHgC2Ay6J5PaxWT/308D/kfRj4Nmq7TcAR1UGn0nWwn+XpLuB/0ZtlVDtK8BDwL2SHgQupUEVH8mql0cB/z29XHVVGlch7g9gvcGrq1pfSK8e+m5EjHenrsJpJW5JL0XEVp2LynqdKwazYtsAbFs9wa2eygQ34DedDsp6mysGMzOr4YrBzMxqODGYmVkNJwYzM6vhxGBmZjWcGMzMrMb/B+LI+xgYRPgyAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "y = data.SI_Pyrite\n", "x = data.Temperature\n", "plt.figure()\n", "plt.scatter(x, y)\n", "plt.plot([0, 350], [0, 0], 'k--')\n", "plt.xlim([0, 350])\n", "plt.xlabel('Temperature [C]')\n", "plt.ylabel('$Log_{10}$(Q/K)$_{Pyrite}$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "pH versus temperature" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'pH')" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "y = data.pH\n", "x = data.Temperature\n", "plt.figure()\n", "sc = plt.scatter(x, y)\n", "plt.xlim([0, 350])\n", "plt.xlabel('Temperature [C]')\n", "plt.ylabel('pH')" ] } ], "metadata": { "kernelspec": { "display_name": "py313", "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.13.7" } }, "nbformat": 4, "nbformat_minor": 4 }