From e0cdee03fa98899bfea47492cd92d8a1b84431ff Mon Sep 17 00:00:00 2001 From: mdaeron Date: Tue, 10 Sep 2024 16:05:51 +0200 Subject: [PATCH] Update changelog and bump version --- D47crunch/__init__.py | 6 +- changelog.md | 6 + code_examples/virtual_data/output.txt | 124 +- docs/D47_plot_Session_01.png | Bin 49815 -> 49805 bytes docs/D47_plot_Session_02.png | Bin 50193 -> 50188 bytes docs/D47_plot_Session_03.png | Bin 50177 -> 50180 bytes docs/D47_plot_Session_04.png | Bin 49936 -> 49934 bytes docs/D47_plot_Session_05.png | Bin 50156 -> 50164 bytes docs/D47_plot_Session_06.png | Bin 49944 -> 49944 bytes docs/D47_plot_Session_07.png | Bin 49808 -> 49808 bytes docs/D47_plot_Session_08.png | Bin 50337 -> 50335 bytes docs/D47_plot_Session_09.png | Bin 50544 -> 50540 bytes docs/D47_plot_Session_10.png | Bin 50134 -> 50132 bytes docs/index.html | 7379 +++++++++++++------------ docs/residuals.png | Bin 44843 -> 45448 bytes docs/time_distribution.png | Bin 18057 -> 18171 bytes 16 files changed, 3799 insertions(+), 3716 deletions(-) diff --git a/D47crunch/__init__.py b/D47crunch/__init__.py index c7d5440..2ab2395 100755 --- a/D47crunch/__init__.py +++ b/D47crunch/__init__.py @@ -19,10 +19,10 @@ __docformat__ = "restructuredtext" __author__ = 'Mathieu Daëron' __contact__ = 'daeron@lsce.ipsl.fr' -__copyright__ = 'Copyright (c) 2023 Mathieu Daëron' +__copyright__ = 'Copyright (c) 2024 Mathieu Daëron' __license__ = 'Modified BSD License - https://opensource.org/licenses/BSD-3-Clause' -__date__ = '2023-10-04' -__version__ = '2.4.0' +__date__ = '2024-09-10' +__version__ = '2.4.1' import os import numpy as np diff --git a/changelog.md b/changelog.md index d4f9893..6c6d694 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,11 @@ # Changelog +## v2.4.1 +*Released on 2024-09-10* + +### New feature +* `D4x.plot_single_session()` is now able to return the data to be plotted instead of plotting directly (used by D4Xgui, contributed by Miguel Bernecker). + ### Bugfix * Simpler (better?) computation of D4x repeatability at the session level when using pooled regression method. diff --git a/code_examples/virtual_data/output.txt b/code_examples/virtual_data/output.txt index fea42fe..a6d8f6e 100644 --- a/code_examples/virtual_data/output.txt +++ b/code_examples/virtual_data/output.txt @@ -2,10 +2,10 @@ –––––––––– –– –– ––––––––––– –––––––––––– –––––– –––––– –––––– ––––––––––––– ––––––––––––– –––––––––––––– Session Na Nu d13Cwg_VPDB d18Owg_VSMOW r_d13C r_d18O r_D47 a ± SE 1e3 x b ± SE c ± SE –––––––––– –– –– ––––––––––– –––––––––––– –––––– –––––– –––––– ––––––––––––– ––––––––––––– –––––––––––––– -Session_01 9 6 -4.000 26.000 0.0205 0.0633 0.0091 1.015 ± 0.015 0.427 ± 0.232 -0.909 ± 0.006 -Session_02 9 6 -4.000 26.000 0.0210 0.0882 0.0100 0.990 ± 0.015 0.484 ± 0.232 -0.905 ± 0.006 -Session_03 9 6 -4.000 26.000 0.0186 0.0505 0.0111 0.997 ± 0.015 0.167 ± 0.233 -0.901 ± 0.006 -Session_04 9 6 -4.000 26.000 0.0192 0.0467 0.0086 1.017 ± 0.015 0.229 ± 0.232 -0.910 ± 0.006 +Session_01 9 6 -4.000 26.000 0.0205 0.0633 0.0075 1.015 ± 0.015 0.427 ± 0.232 -0.909 ± 0.006 +Session_02 9 6 -4.000 26.000 0.0210 0.0882 0.0082 0.990 ± 0.015 0.484 ± 0.232 -0.905 ± 0.006 +Session_03 9 6 -4.000 26.000 0.0186 0.0505 0.0091 0.997 ± 0.015 0.167 ± 0.233 -0.901 ± 0.006 +Session_04 9 6 -4.000 26.000 0.0192 0.0467 0.0070 1.017 ± 0.015 0.229 ± 0.232 -0.910 ± 0.006 –––––––––– –– –– ––––––––––– –––––––––––– –––––– –––––– –––––– ––––––––––––– ––––––––––––– –––––––––––––– [table_of_samples] @@ -23,65 +23,65 @@ FOO 12 -5.00 28.89 0.3024 0.0031 ± 0.0062 0.0070 0.497 ––– –––––––––– –––––– ––––––––––– –––––––––––– ––––––––– ––––––––– –––––––––– –––––––––– –––––––––– –––––––––– –––––––––– ––––––––– ––––––––– ––––––––– –––––––– UID Session Sample d13Cwg_VPDB d18Owg_VSMOW d45 d46 d47 d48 d49 d13C_VPDB d18O_VSMOW D47raw D48raw D49raw D47 ––– –––––––––– –––––– ––––––––––– –––––––––––– ––––––––– ––––––––– –––––––––– –––––––––– –––––––––– –––––––––– –––––––––– ––––––––– ––––––––– ––––––––– –––––––– -1 Session_01 ETH-1 -4.000 26.000 6.049381 10.706856 16.135579 21.196941 27.780042 2.057827 36.937067 -0.685751 -0.324384 0.045870 0.212791 -2 Session_01 ETH-3 -4.000 26.000 5.755174 11.255104 16.792797 22.451660 28.306614 1.723596 37.497816 -0.270825 -0.181089 -0.195908 0.621458 -3 Session_01 ETH-2 -4.000 26.000 -5.982229 -6.110437 -12.827036 -12.492272 -18.023381 -10.166188 19.784916 -0.693555 -0.312598 0.251040 0.217274 -4 Session_01 ETH-1 -4.000 26.000 5.995601 10.755323 16.116087 21.285428 27.780042 1.998631 36.986704 -0.696924 -0.333640 0.008600 0.201787 -5 Session_01 BAR -4.000 26.000 -9.920507 10.903408 0.065076 21.704075 10.707292 -14.998270 37.174839 -0.307018 -0.216978 -0.026076 0.592818 -6 Session_01 FOO -4.000 26.000 -0.876454 2.906764 1.341194 5.490264 4.665655 -5.048760 28.984806 -0.608593 -0.329808 -0.114437 0.295055 -7 Session_01 FOO -4.000 26.000 -0.838118 2.819853 1.310384 5.326005 4.665655 -5.004629 28.895933 -0.593755 -0.319861 0.014956 0.309692 -8 Session_01 ETH-2 -4.000 26.000 -5.974124 -5.955517 -12.668784 -12.208184 -18.023381 -10.163274 19.943159 -0.694902 -0.336672 -0.063946 0.215880 -9 Session_01 ETH-3 -4.000 26.000 5.727341 11.211663 16.713472 22.364770 28.306614 1.695479 37.453503 -0.278056 -0.180158 -0.082015 0.614365 -10 Session_01 FOO -4.000 26.000 -0.848028 2.874679 1.346196 5.439150 4.665655 -5.017230 28.951964 -0.601502 -0.316664 -0.081898 0.302042 -11 Session_01 BAR -4.000 26.000 -9.959983 10.926995 0.053806 21.724901 10.707292 -15.041279 37.199026 -0.300066 -0.243252 -0.029371 0.599675 -12 Session_01 BAR -4.000 26.000 -9.915975 10.968470 0.153453 21.749385 10.707292 -14.995822 37.241294 -0.286638 -0.301325 -0.157376 0.612868 -13 Session_01 ETH-3 -4.000 26.000 5.734896 11.229855 16.740410 22.402091 28.306614 1.702875 37.472070 -0.276998 -0.179635 -0.125368 0.615396 -14 Session_01 ETH-2 -4.000 26.000 -5.991278 -5.995054 -12.741562 -12.184075 -18.023381 -10.180122 19.902809 -0.711697 -0.232746 0.032602 0.199357 -15 Session_01 ETH-1 -4.000 26.000 6.010276 10.840276 16.207960 21.475150 27.780042 2.011176 37.073454 -0.704188 -0.315986 -0.172089 0.194589 -16 Session_02 ETH-3 -4.000 26.000 5.757137 11.232751 16.744567 22.398244 28.306614 1.731295 37.514660 -0.298533 -0.189123 -0.154557 0.604363 -17 Session_02 ETH-1 -4.000 26.000 5.993918 10.617469 15.991900 21.070358 27.780042 2.006934 36.882679 -0.683329 -0.271476 0.278458 0.216152 -18 Session_02 ETH-3 -4.000 26.000 5.719281 11.207303 16.681693 22.370886 28.306614 1.691780 37.488633 -0.296801 -0.165556 -0.065004 0.606143 -19 Session_02 ETH-3 -4.000 26.000 5.716356 11.091821 16.582487 22.123857 28.306614 1.692901 37.370126 -0.279100 -0.178789 0.162540 0.624067 -20 Session_02 ETH-1 -4.000 26.000 6.030532 10.851030 16.245571 21.457100 27.780042 2.037466 37.122284 -0.698413 -0.354920 -0.214443 0.200795 -21 Session_02 BAR -4.000 26.000 -9.963888 10.865863 -0.023549 21.615868 10.707292 -15.053743 37.174715 -0.313906 -0.229031 0.093637 0.597041 -22 Session_02 FOO -4.000 26.000 -0.819742 2.826793 1.317044 5.330616 4.665655 -4.986618 28.903335 -0.612871 -0.329113 -0.018244 0.294481 -23 Session_02 ETH-1 -4.000 26.000 6.019963 10.773112 16.163825 21.331060 27.780042 2.029040 37.042346 -0.692234 -0.324161 -0.051788 0.207075 +1 Session_01 ETH-1 -4.000 26.000 5.995601 10.755323 16.116087 21.285428 27.780042 1.998631 36.986704 -0.696924 -0.333640 0.008600 0.201787 +2 Session_01 FOO -4.000 26.000 -0.848028 2.874679 1.346196 5.439150 4.665655 -5.017230 28.951964 -0.601502 -0.316664 -0.081898 0.302042 +3 Session_01 BAR -4.000 26.000 -9.920507 10.903408 0.065076 21.704075 10.707292 -14.998270 37.174839 -0.307018 -0.216978 -0.026076 0.592818 +4 Session_01 ETH-1 -4.000 26.000 6.010276 10.840276 16.207960 21.475150 27.780042 2.011176 37.073454 -0.704188 -0.315986 -0.172089 0.194589 +5 Session_01 FOO -4.000 26.000 -0.838118 2.819853 1.310384 5.326005 4.665655 -5.004629 28.895933 -0.593755 -0.319861 0.014956 0.309692 +6 Session_01 ETH-2 -4.000 26.000 -5.974124 -5.955517 -12.668784 -12.208184 -18.023381 -10.163274 19.943159 -0.694902 -0.336672 -0.063946 0.215880 +7 Session_01 FOO -4.000 26.000 -0.876454 2.906764 1.341194 5.490264 4.665655 -5.048760 28.984806 -0.608593 -0.329808 -0.114437 0.295055 +8 Session_01 ETH-3 -4.000 26.000 5.727341 11.211663 16.713472 22.364770 28.306614 1.695479 37.453503 -0.278056 -0.180158 -0.082015 0.614365 +9 Session_01 BAR -4.000 26.000 -9.959983 10.926995 0.053806 21.724901 10.707292 -15.041279 37.199026 -0.300066 -0.243252 -0.029371 0.599675 +10 Session_01 ETH-3 -4.000 26.000 5.734896 11.229855 16.740410 22.402091 28.306614 1.702875 37.472070 -0.276998 -0.179635 -0.125368 0.615396 +11 Session_01 BAR -4.000 26.000 -9.915975 10.968470 0.153453 21.749385 10.707292 -14.995822 37.241294 -0.286638 -0.301325 -0.157376 0.612868 +12 Session_01 ETH-1 -4.000 26.000 6.049381 10.706856 16.135579 21.196941 27.780042 2.057827 36.937067 -0.685751 -0.324384 0.045870 0.212791 +13 Session_01 ETH-2 -4.000 26.000 -5.991278 -5.995054 -12.741562 -12.184075 -18.023381 -10.180122 19.902809 -0.711697 -0.232746 0.032602 0.199357 +14 Session_01 ETH-2 -4.000 26.000 -5.982229 -6.110437 -12.827036 -12.492272 -18.023381 -10.166188 19.784916 -0.693555 -0.312598 0.251040 0.217274 +15 Session_01 ETH-3 -4.000 26.000 5.755174 11.255104 16.792797 22.451660 28.306614 1.723596 37.497816 -0.270825 -0.181089 -0.195908 0.621458 +16 Session_02 ETH-1 -4.000 26.000 5.993918 10.617469 15.991900 21.070358 27.780042 2.006934 36.882679 -0.683329 -0.271476 0.278458 0.216152 +17 Session_02 ETH-1 -4.000 26.000 6.030532 10.851030 16.245571 21.457100 27.780042 2.037466 37.122284 -0.698413 -0.354920 -0.214443 0.200795 +18 Session_02 BAR -4.000 26.000 -9.963888 10.865863 -0.023549 21.615868 10.707292 -15.053743 37.174715 -0.313906 -0.229031 0.093637 0.597041 +19 Session_02 ETH-3 -4.000 26.000 5.719281 11.207303 16.681693 22.370886 28.306614 1.691780 37.488633 -0.296801 -0.165556 -0.065004 0.606143 +20 Session_02 ETH-1 -4.000 26.000 6.019963 10.773112 16.163825 21.331060 27.780042 2.029040 37.042346 -0.692234 -0.324161 -0.051788 0.207075 +21 Session_02 BAR -4.000 26.000 -9.957566 10.903888 0.031785 21.739434 10.707292 -15.048386 37.213724 -0.302139 -0.183327 0.012926 0.608897 +22 Session_02 FOO -4.000 26.000 -0.848415 2.849823 1.308081 5.427767 4.665655 -5.018107 28.927036 -0.614791 -0.278426 -0.032784 0.292547 +23 Session_02 ETH-2 -4.000 26.000 -5.950370 -5.959974 -12.650784 -12.197864 -18.023381 -10.143809 19.897777 -0.696916 -0.317263 -0.080604 0.216441 24 Session_02 ETH-2 -4.000 26.000 -5.982371 -6.036210 -12.762399 -12.309944 -18.023381 -10.175178 19.819614 -0.701348 -0.277354 0.104418 0.212021 25 Session_02 FOO -4.000 26.000 -0.835046 2.870518 1.355370 5.487896 4.665655 -5.004585 28.948243 -0.601666 -0.259900 -0.087592 0.305777 -26 Session_02 ETH-2 -4.000 26.000 -5.950370 -5.959974 -12.650784 -12.197864 -18.023381 -10.143809 19.897777 -0.696916 -0.317263 -0.080604 0.216441 -27 Session_02 BAR -4.000 26.000 -9.936020 10.862339 0.024660 21.563307 10.707292 -15.023836 37.171034 -0.291333 -0.273498 0.070452 0.619812 -28 Session_02 FOO -4.000 26.000 -0.848415 2.849823 1.308081 5.427767 4.665655 -5.018107 28.927036 -0.614791 -0.278426 -0.032784 0.292547 -29 Session_02 BAR -4.000 26.000 -9.957566 10.903888 0.031785 21.739434 10.707292 -15.048386 37.213724 -0.302139 -0.183327 0.012926 0.608897 -30 Session_02 ETH-2 -4.000 26.000 -5.993476 -5.944866 -12.696865 -12.149754 -18.023381 -10.190430 19.913381 -0.713779 -0.298963 -0.064251 0.199436 -31 Session_03 FOO -4.000 26.000 -0.800284 2.851299 1.376828 5.379547 4.665655 -4.951581 28.910199 -0.597293 -0.329315 -0.087015 0.304784 -32 Session_03 ETH-3 -4.000 26.000 5.753467 11.206589 16.719131 22.373244 28.306614 1.723960 37.511190 -0.294350 -0.161838 -0.099835 0.606103 -33 Session_03 ETH-2 -4.000 26.000 -5.997147 -5.905858 -12.655382 -12.081612 -18.023381 -10.165400 19.891551 -0.706536 -0.308464 -0.137414 0.197550 -34 Session_03 FOO -4.000 26.000 -0.873798 2.820799 1.272165 5.370745 4.665655 -5.028782 28.878917 -0.596008 -0.277258 0.051165 0.306090 -35 Session_03 BAR -4.000 26.000 -9.928709 10.989665 0.148059 21.852677 10.707292 -14.976237 37.324152 -0.299358 -0.242185 -0.184835 0.603855 -36 Session_03 ETH-2 -4.000 26.000 -6.000290 -5.947172 -12.697463 -12.164602 -18.023381 -10.167221 19.848953 -0.705037 -0.309350 -0.052386 0.199061 -37 Session_03 ETH-2 -4.000 26.000 -6.008525 -5.909707 -12.647727 -12.075913 -18.023381 -10.177379 19.887608 -0.683183 -0.294956 -0.117608 0.220975 -38 Session_03 ETH-3 -4.000 26.000 5.748546 11.079879 16.580826 22.120063 28.306614 1.723364 37.380534 -0.302133 -0.158882 0.151641 0.598318 -39 Session_03 FOO -4.000 26.000 -0.823857 2.761300 1.258060 5.239992 4.665655 -4.973383 28.817444 -0.603327 -0.288652 0.114488 0.298751 -40 Session_03 ETH-1 -4.000 26.000 5.994622 10.743980 16.116098 21.243734 27.780042 1.997857 37.033567 -0.684883 -0.352014 0.031692 0.214449 -41 Session_03 ETH-3 -4.000 26.000 5.718991 11.146227 16.640814 22.243185 28.306614 1.689442 37.449023 -0.277332 -0.169668 0.053997 0.623187 -42 Session_03 ETH-1 -4.000 26.000 6.040566 10.786620 16.205283 21.374963 27.780042 2.045244 37.077432 -0.685706 -0.307909 -0.099869 0.213609 -43 Session_03 BAR -4.000 26.000 -9.952115 11.034508 0.169809 21.885915 10.707292 -15.002819 37.370451 -0.296804 -0.298351 -0.246731 0.606414 -44 Session_03 ETH-1 -4.000 26.000 6.004078 10.683951 16.045192 21.214355 27.780042 2.010134 36.971642 -0.705956 -0.262026 0.138399 0.193323 -45 Session_03 BAR -4.000 26.000 -9.957114 10.898997 0.044946 21.602296 10.707292 -15.003175 37.230716 -0.284699 -0.307849 0.021944 0.618578 -46 Session_04 ETH-2 -4.000 26.000 -5.966627 -5.893789 -12.597717 -12.120719 -18.023381 -10.161842 19.911776 -0.691757 -0.372308 -0.193986 0.217132 -47 Session_04 ETH-3 -4.000 26.000 5.751908 11.207110 16.726741 22.380392 28.306614 1.705481 37.480657 -0.285776 -0.155878 -0.099197 0.609567 -48 Session_04 BAR -4.000 26.000 -9.951025 10.951923 0.089386 21.738926 10.707292 -15.031949 37.254709 -0.298065 -0.278834 -0.087463 0.601230 -49 Session_04 FOO -4.000 26.000 -0.848192 2.777763 1.251297 5.280272 4.665655 -5.023358 28.822585 -0.601094 -0.281419 0.108186 0.303128 -50 Session_04 ETH-1 -4.000 26.000 6.017312 10.735930 16.123043 21.270597 27.780042 2.005824 36.995214 -0.693479 -0.309795 0.023309 0.208980 -51 Session_04 ETH-2 -4.000 26.000 -5.973623 -5.975018 -12.694278 -12.194472 -18.023381 -10.166297 19.828211 -0.701951 -0.283570 -0.025935 0.207135 -52 Session_04 BAR -4.000 26.000 -9.931741 10.819830 -0.023748 21.529372 10.707292 -15.006533 37.118743 -0.302866 -0.222623 0.148462 0.596536 -53 Session_04 ETH-1 -4.000 26.000 6.023822 10.730714 16.121184 21.235757 27.780042 2.012958 36.989833 -0.696908 -0.333582 0.026555 0.205610 -54 Session_04 FOO -4.000 26.000 -0.791191 2.708220 1.256167 5.145784 4.665655 -4.960004 28.750896 -0.586913 -0.276505 0.183674 0.317065 -55 Session_04 FOO -4.000 26.000 -0.853969 2.805035 1.267571 5.353907 4.665655 -5.030523 28.850660 -0.605611 -0.262571 0.060903 0.298685 -56 Session_04 ETH-2 -4.000 26.000 -5.986501 -5.915157 -12.656583 -12.060382 -18.023381 -10.182247 19.889836 -0.709603 -0.268277 -0.130450 0.199604 -57 Session_04 ETH-3 -4.000 26.000 5.739420 11.128582 16.641344 22.166106 28.306614 1.695046 37.399884 -0.280608 -0.210162 0.066645 0.614665 -58 Session_04 BAR -4.000 26.000 -9.926078 10.884823 0.060864 21.650722 10.707292 -15.002880 37.185606 -0.287358 -0.232425 0.016044 0.611760 -59 Session_04 ETH-1 -4.000 26.000 6.029937 10.766997 16.151273 21.345479 27.780042 2.018148 37.027152 -0.708855 -0.297953 -0.050465 0.193862 -60 Session_04 ETH-3 -4.000 26.000 5.798016 11.254135 16.832228 22.432473 28.306614 1.752928 37.528936 -0.275047 -0.197935 -0.239408 0.620088 +26 Session_02 ETH-3 -4.000 26.000 5.716356 11.091821 16.582487 22.123857 28.306614 1.692901 37.370126 -0.279100 -0.178789 0.162540 0.624067 +27 Session_02 ETH-3 -4.000 26.000 5.757137 11.232751 16.744567 22.398244 28.306614 1.731295 37.514660 -0.298533 -0.189123 -0.154557 0.604363 +28 Session_02 BAR -4.000 26.000 -9.936020 10.862339 0.024660 21.563307 10.707292 -15.023836 37.171034 -0.291333 -0.273498 0.070452 0.619812 +29 Session_02 ETH-2 -4.000 26.000 -5.993476 -5.944866 -12.696865 -12.149754 -18.023381 -10.190430 19.913381 -0.713779 -0.298963 -0.064251 0.199436 +30 Session_02 FOO -4.000 26.000 -0.819742 2.826793 1.317044 5.330616 4.665655 -4.986618 28.903335 -0.612871 -0.329113 -0.018244 0.294481 +31 Session_03 BAR -4.000 26.000 -9.952115 11.034508 0.169809 21.885915 10.707292 -15.002819 37.370451 -0.296804 -0.298351 -0.246731 0.606414 +32 Session_03 ETH-1 -4.000 26.000 6.004078 10.683951 16.045192 21.214355 27.780042 2.010134 36.971642 -0.705956 -0.262026 0.138399 0.193323 +33 Session_03 ETH-2 -4.000 26.000 -6.000290 -5.947172 -12.697463 -12.164602 -18.023381 -10.167221 19.848953 -0.705037 -0.309350 -0.052386 0.199061 +34 Session_03 ETH-1 -4.000 26.000 6.040566 10.786620 16.205283 21.374963 27.780042 2.045244 37.077432 -0.685706 -0.307909 -0.099869 0.213609 +35 Session_03 FOO -4.000 26.000 -0.823857 2.761300 1.258060 5.239992 4.665655 -4.973383 28.817444 -0.603327 -0.288652 0.114488 0.298751 +36 Session_03 ETH-3 -4.000 26.000 5.718991 11.146227 16.640814 22.243185 28.306614 1.689442 37.449023 -0.277332 -0.169668 0.053997 0.623187 +37 Session_03 ETH-3 -4.000 26.000 5.748546 11.079879 16.580826 22.120063 28.306614 1.723364 37.380534 -0.302133 -0.158882 0.151641 0.598318 +38 Session_03 FOO -4.000 26.000 -0.873798 2.820799 1.272165 5.370745 4.665655 -5.028782 28.878917 -0.596008 -0.277258 0.051165 0.306090 +39 Session_03 BAR -4.000 26.000 -9.928709 10.989665 0.148059 21.852677 10.707292 -14.976237 37.324152 -0.299358 -0.242185 -0.184835 0.603855 +40 Session_03 ETH-2 -4.000 26.000 -5.997147 -5.905858 -12.655382 -12.081612 -18.023381 -10.165400 19.891551 -0.706536 -0.308464 -0.137414 0.197550 +41 Session_03 BAR -4.000 26.000 -9.957114 10.898997 0.044946 21.602296 10.707292 -15.003175 37.230716 -0.284699 -0.307849 0.021944 0.618578 +42 Session_03 ETH-3 -4.000 26.000 5.753467 11.206589 16.719131 22.373244 28.306614 1.723960 37.511190 -0.294350 -0.161838 -0.099835 0.606103 +43 Session_03 FOO -4.000 26.000 -0.800284 2.851299 1.376828 5.379547 4.665655 -4.951581 28.910199 -0.597293 -0.329315 -0.087015 0.304784 +44 Session_03 ETH-2 -4.000 26.000 -6.008525 -5.909707 -12.647727 -12.075913 -18.023381 -10.177379 19.887608 -0.683183 -0.294956 -0.117608 0.220975 +45 Session_03 ETH-1 -4.000 26.000 5.994622 10.743980 16.116098 21.243734 27.780042 1.997857 37.033567 -0.684883 -0.352014 0.031692 0.214449 +46 Session_04 ETH-3 -4.000 26.000 5.739420 11.128582 16.641344 22.166106 28.306614 1.695046 37.399884 -0.280608 -0.210162 0.066645 0.614665 +47 Session_04 ETH-1 -4.000 26.000 6.029937 10.766997 16.151273 21.345479 27.780042 2.018148 37.027152 -0.708855 -0.297953 -0.050465 0.193862 +48 Session_04 ETH-1 -4.000 26.000 6.023822 10.730714 16.121184 21.235757 27.780042 2.012958 36.989833 -0.696908 -0.333582 0.026555 0.205610 +49 Session_04 ETH-3 -4.000 26.000 5.798016 11.254135 16.832228 22.432473 28.306614 1.752928 37.528936 -0.275047 -0.197935 -0.239408 0.620088 +50 Session_04 ETH-2 -4.000 26.000 -5.973623 -5.975018 -12.694278 -12.194472 -18.023381 -10.166297 19.828211 -0.701951 -0.283570 -0.025935 0.207135 +51 Session_04 ETH-2 -4.000 26.000 -5.966627 -5.893789 -12.597717 -12.120719 -18.023381 -10.161842 19.911776 -0.691757 -0.372308 -0.193986 0.217132 +52 Session_04 FOO -4.000 26.000 -0.853969 2.805035 1.267571 5.353907 4.665655 -5.030523 28.850660 -0.605611 -0.262571 0.060903 0.298685 +53 Session_04 BAR -4.000 26.000 -9.926078 10.884823 0.060864 21.650722 10.707292 -15.002880 37.185606 -0.287358 -0.232425 0.016044 0.611760 +54 Session_04 ETH-2 -4.000 26.000 -5.986501 -5.915157 -12.656583 -12.060382 -18.023381 -10.182247 19.889836 -0.709603 -0.268277 -0.130450 0.199604 +55 Session_04 BAR -4.000 26.000 -9.951025 10.951923 0.089386 21.738926 10.707292 -15.031949 37.254709 -0.298065 -0.278834 -0.087463 0.601230 +56 Session_04 ETH-3 -4.000 26.000 5.751908 11.207110 16.726741 22.380392 28.306614 1.705481 37.480657 -0.285776 -0.155878 -0.099197 0.609567 +57 Session_04 ETH-1 -4.000 26.000 6.017312 10.735930 16.123043 21.270597 27.780042 2.005824 36.995214 -0.693479 -0.309795 0.023309 0.208980 +58 Session_04 FOO -4.000 26.000 -0.848192 2.777763 1.251297 5.280272 4.665655 -5.023358 28.822585 -0.601094 -0.281419 0.108186 0.303128 +59 Session_04 BAR -4.000 26.000 -9.931741 10.819830 -0.023748 21.529372 10.707292 -15.006533 37.118743 -0.302866 -0.222623 0.148462 0.596536 +60 Session_04 FOO -4.000 26.000 -0.791191 2.708220 1.256167 5.145784 4.665655 -4.960004 28.750896 -0.586913 -0.276505 0.183674 0.317065 ––– –––––––––– –––––– ––––––––––– –––––––––––– ––––––––– ––––––––– –––––––––– –––––––––– –––––––––– –––––––––– –––––––––– ––––––––– ––––––––– ––––––––– –––––––– diff --git a/docs/D47_plot_Session_01.png b/docs/D47_plot_Session_01.png index 4b3c2afb57ff4261511aba4d57557f6376a9ce3a..f9c151db3bca7e0bd03cf5feef2302dae2454df0 100644 GIT binary patch literal 49805 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 F{a>bt3e5lj literal 49815 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 diff --git a/docs/D47_plot_Session_02.png b/docs/D47_plot_Session_02.png index 1702eb8b985dba24e98f90ebe20fdaa89d62f284..8d85b7940df5fe51d6b72517c9d94f529f079e32 100644 GIT binary patch literal 50188 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 ?Zpm@|Z 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 diff --git a/docs/D47_plot_Session_03.png b/docs/D47_plot_Session_03.png index a0bf372f0bbf362df499154b7a47d85d0077f8f2..9aea2d86deb81f7b9ab1f6d5f978848ab553a102 100644 GIT binary patch delta 19951 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 literal 49936 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 P`lXFCy@pWk_i{xcCm;_ZVEkJ!S>@Qd2 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

A>nzpsp4ag;K8LmxFw@-BB}D!=@df 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¬e+-~eNI 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

^S-5aXkq?f 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 J7xWix{XYhD(HH;# diff --git a/docs/D47_plot_Session_06.png b/docs/D47_plot_Session_06.png index 1057181b4fd2d66b2d5455b3296f68dd3504ec3f..05d1b4a7783863b9048313b58f1777b096088c2e 100644 GIT binary patch literal 49944 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 literal 49944 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 V-ANiV>hRwby_plP=$P;PKLE6m&_VzJ diff --git a/docs/D47_plot_Session_07.png b/docs/D47_plot_Session_07.png index 06ac00ccbec36555eab76d542fd41ce48100f576..f4dfe2b5f6641e39e7d793af9131b003ef6a182f 100644 GIT binary patch literal 49808 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

*>Iak`&hQ=!ZxWs{)0 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 literal 49808 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%0As5{;;7>EC8DyOQAnaW9>OQ&Ts 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 V>+;ci>+v5$gXt44=`Gpye*q8N<&FRV literal 50337 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 hPXY4(Hq6%b7~lE$pIWZISP;5POTJ}5z#Tsq$ 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 literal 50544 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 diff --git a/docs/D47_plot_Session_10.png b/docs/D47_plot_Session_10.png index fa582e6a00c46c22fef266161768d90e0f49a203..d205053beab674eaa2c0ba09f502adab8ea11998 100644 GIT binary patch literal 50132 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 literal 50134 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. API Documentation 19__docformat__ = "restructuredtext" 20__author__ = 'Mathieu Daëron' 21__contact__ = 'daeron@lsce.ipsl.fr' - 22__copyright__ = 'Copyright (c) 2023 Mathieu Daëron' + 22__copyright__ = 'Copyright (c) 2024 Mathieu Daëron' 23__license__ = 'Modified BSD License - https://opensource.org/licenses/BSD-3-Clause' - 24__date__ = '2023-10-04' - 25__version__ = '2.4.0' + 24__date__ = '2024-09-10' + 25__version__ = '2.4.1' 26 27import os 28import numpy as np @@ -2996,1397 +2996,1423 @@

4. API Documentation

2091 sp = self.plot_single_session(session, xylimits = 'constant') 2092 ppl.savefig(f'{dir}/D{self._4x}_plot_{session}.{filetype}', **({'dpi': dpi} if filetype.lower() == 'png' else {})) 2093 ppl.close(sp.fig) -2094 +2094 2095 -2096 @make_verbal -2097 def consolidate_samples(self): -2098 ''' -2099 Compile various statistics for each sample. -2100 -2101 For each anchor sample: -2102 -2103 + `D47` or `D48`: the nominal Δ4x value for this anchor, specified by `self.Nominal_D4x` -2104 + `SE_D47` or `SE_D48`: set to zero by definition -2105 -2106 For each unknown sample: -2107 -2108 + `D47` or `D48`: the standardized Δ4x value for this unknown -2109 + `SE_D47` or `SE_D48`: the standard error of Δ4x for this unknown -2110 -2111 For each anchor and unknown: -2112 -2113 + `N`: the total number of analyses of this sample -2114 + `SD_D47` or `SD_D48`: the “sample” (in the statistical sense) standard deviation for this sample -2115 + `d13C_VPDB`: the average δ13C_VPDB value for this sample -2116 + `d18O_VSMOW`: the average δ18O_VSMOW value for this sample (as CO2) -2117 + `p_Levene`: the p-value from a [Levene test](https://en.wikipedia.org/wiki/Levene%27s_test) of equal -2118 variance, indicating whether the Δ4x repeatability this sample differs significantly from -2119 that observed for the reference sample specified by `self.LEVENE_REF_SAMPLE`. -2120 ''' -2121 D4x_ref_pop = [r[f'D{self._4x}'] for r in self.samples[self.LEVENE_REF_SAMPLE]['data']] -2122 for sample in self.samples: -2123 self.samples[sample]['N'] = len(self.samples[sample]['data']) -2124 if self.samples[sample]['N'] > 1: -2125 self.samples[sample][f'SD_D{self._4x}'] = stdev([r[f'D{self._4x}'] for r in self.samples[sample]['data']]) -2126 -2127 self.samples[sample]['d13C_VPDB'] = np.mean([r['d13C_VPDB'] for r in self.samples[sample]['data']]) -2128 self.samples[sample]['d18O_VSMOW'] = np.mean([r['d18O_VSMOW'] for r in self.samples[sample]['data']]) -2129 -2130 D4x_pop = [r[f'D{self._4x}'] for r in self.samples[sample]['data']] -2131 if len(D4x_pop) > 2: -2132 self.samples[sample]['p_Levene'] = levene(D4x_ref_pop, D4x_pop, center = 'median')[1] -2133 -2134 if self.standardization_method == 'pooled': -2135 for sample in self.anchors: -2136 self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample] -2137 self.samples[sample][f'SE_D{self._4x}'] = 0. -2138 for sample in self.unknowns: -2139 self.samples[sample][f'D{self._4x}'] = self.standardization.params.valuesdict()[f'D{self._4x}_{pf(sample)}'] -2140 try: -2141 self.samples[sample][f'SE_D{self._4x}'] = self.sample_D4x_covar(sample)**.5 -2142 except ValueError: -2143 # when `sample` is constrained by self.standardize(constraints = {...}), -2144 # it is no longer listed in self.standardization.var_names. -2145 # Temporary fix: define SE as zero for now -2146 self.samples[sample][f'SE_D4{self._4x}'] = 0. -2147 -2148 elif self.standardization_method == 'indep_sessions': -2149 for sample in self.anchors: -2150 self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample] -2151 self.samples[sample][f'SE_D{self._4x}'] = 0. -2152 for sample in self.unknowns: -2153 self.msg(f'Consolidating sample {sample}') -2154 self.unknowns[sample][f'session_D{self._4x}'] = {} -2155 session_avg = [] -2156 for session in self.sessions: -2157 sdata = [r for r in self.sessions[session]['data'] if r['Sample'] == sample] -2158 if sdata: -2159 self.msg(f'{sample} found in session {session}') -2160 avg_D4x = np.mean([r[f'D{self._4x}'] for r in sdata]) -2161 avg_d4x = np.mean([r[f'd{self._4x}'] for r in sdata]) -2162 # !! TODO: sigma_s below does not account for temporal changes in standardization error -2163 sigma_s = self.standardization_error(session, avg_d4x, avg_D4x) -2164 sigma_u = sdata[0][f'wD{self._4x}raw'] / self.sessions[session]['a'] / len(sdata)**.5 -2165 session_avg.append([avg_D4x, (sigma_u**2 + sigma_s**2)**.5]) -2166 self.unknowns[sample][f'session_D{self._4x}'][session] = session_avg[-1] -2167 self.samples[sample][f'D{self._4x}'], self.samples[sample][f'SE_D{self._4x}'] = w_avg(*zip(*session_avg)) -2168 weights = {s: self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 for s in self.unknowns[sample][f'session_D{self._4x}']} -2169 wsum = sum([weights[s] for s in weights]) -2170 for s in weights: -2171 self.unknowns[sample][f'session_D{self._4x}'][s] += [self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 / wsum] -2172 -2173 for r in self: -2174 r[f'D{self._4x}_residual'] = r[f'D{self._4x}'] - self.samples[r['Sample']][f'D{self._4x}'] -2175 +2096 +2097 @make_verbal +2098 def consolidate_samples(self): +2099 ''' +2100 Compile various statistics for each sample. +2101 +2102 For each anchor sample: +2103 +2104 + `D47` or `D48`: the nominal Δ4x value for this anchor, specified by `self.Nominal_D4x` +2105 + `SE_D47` or `SE_D48`: set to zero by definition +2106 +2107 For each unknown sample: +2108 +2109 + `D47` or `D48`: the standardized Δ4x value for this unknown +2110 + `SE_D47` or `SE_D48`: the standard error of Δ4x for this unknown +2111 +2112 For each anchor and unknown: +2113 +2114 + `N`: the total number of analyses of this sample +2115 + `SD_D47` or `SD_D48`: the “sample” (in the statistical sense) standard deviation for this sample +2116 + `d13C_VPDB`: the average δ13C_VPDB value for this sample +2117 + `d18O_VSMOW`: the average δ18O_VSMOW value for this sample (as CO2) +2118 + `p_Levene`: the p-value from a [Levene test](https://en.wikipedia.org/wiki/Levene%27s_test) of equal +2119 variance, indicating whether the Δ4x repeatability this sample differs significantly from +2120 that observed for the reference sample specified by `self.LEVENE_REF_SAMPLE`. +2121 ''' +2122 D4x_ref_pop = [r[f'D{self._4x}'] for r in self.samples[self.LEVENE_REF_SAMPLE]['data']] +2123 for sample in self.samples: +2124 self.samples[sample]['N'] = len(self.samples[sample]['data']) +2125 if self.samples[sample]['N'] > 1: +2126 self.samples[sample][f'SD_D{self._4x}'] = stdev([r[f'D{self._4x}'] for r in self.samples[sample]['data']]) +2127 +2128 self.samples[sample]['d13C_VPDB'] = np.mean([r['d13C_VPDB'] for r in self.samples[sample]['data']]) +2129 self.samples[sample]['d18O_VSMOW'] = np.mean([r['d18O_VSMOW'] for r in self.samples[sample]['data']]) +2130 +2131 D4x_pop = [r[f'D{self._4x}'] for r in self.samples[sample]['data']] +2132 if len(D4x_pop) > 2: +2133 self.samples[sample]['p_Levene'] = levene(D4x_ref_pop, D4x_pop, center = 'median')[1] +2134 +2135 if self.standardization_method == 'pooled': +2136 for sample in self.anchors: +2137 self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample] +2138 self.samples[sample][f'SE_D{self._4x}'] = 0. +2139 for sample in self.unknowns: +2140 self.samples[sample][f'D{self._4x}'] = self.standardization.params.valuesdict()[f'D{self._4x}_{pf(sample)}'] +2141 try: +2142 self.samples[sample][f'SE_D{self._4x}'] = self.sample_D4x_covar(sample)**.5 +2143 except ValueError: +2144 # when `sample` is constrained by self.standardize(constraints = {...}), +2145 # it is no longer listed in self.standardization.var_names. +2146 # Temporary fix: define SE as zero for now +2147 self.samples[sample][f'SE_D4{self._4x}'] = 0. +2148 +2149 elif self.standardization_method == 'indep_sessions': +2150 for sample in self.anchors: +2151 self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample] +2152 self.samples[sample][f'SE_D{self._4x}'] = 0. +2153 for sample in self.unknowns: +2154 self.msg(f'Consolidating sample {sample}') +2155 self.unknowns[sample][f'session_D{self._4x}'] = {} +2156 session_avg = [] +2157 for session in self.sessions: +2158 sdata = [r for r in self.sessions[session]['data'] if r['Sample'] == sample] +2159 if sdata: +2160 self.msg(f'{sample} found in session {session}') +2161 avg_D4x = np.mean([r[f'D{self._4x}'] for r in sdata]) +2162 avg_d4x = np.mean([r[f'd{self._4x}'] for r in sdata]) +2163 # !! TODO: sigma_s below does not account for temporal changes in standardization error +2164 sigma_s = self.standardization_error(session, avg_d4x, avg_D4x) +2165 sigma_u = sdata[0][f'wD{self._4x}raw'] / self.sessions[session]['a'] / len(sdata)**.5 +2166 session_avg.append([avg_D4x, (sigma_u**2 + sigma_s**2)**.5]) +2167 self.unknowns[sample][f'session_D{self._4x}'][session] = session_avg[-1] +2168 self.samples[sample][f'D{self._4x}'], self.samples[sample][f'SE_D{self._4x}'] = w_avg(*zip(*session_avg)) +2169 weights = {s: self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 for s in self.unknowns[sample][f'session_D{self._4x}']} +2170 wsum = sum([weights[s] for s in weights]) +2171 for s in weights: +2172 self.unknowns[sample][f'session_D{self._4x}'][s] += [self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 / wsum] +2173 +2174 for r in self: +2175 r[f'D{self._4x}_residual'] = r[f'D{self._4x}'] - self.samples[r['Sample']][f'D{self._4x}'] 2176 2177 -2178 def consolidate_sessions(self): -2179 ''' -2180 Compute various statistics for each session. -2181 -2182 + `Na`: Number of anchor analyses in the session -2183 + `Nu`: Number of unknown analyses in the session -2184 + `r_d13C_VPDB`: δ13C_VPDB repeatability of analyses within the session -2185 + `r_d18O_VSMOW`: δ18O_VSMOW repeatability of analyses within the session -2186 + `r_D47` or `r_D48`: Δ4x repeatability of analyses within the session -2187 + `a`: scrambling factor -2188 + `b`: compositional slope -2189 + `c`: WG offset -2190 + `SE_a`: Model stadard erorr of `a` -2191 + `SE_b`: Model stadard erorr of `b` -2192 + `SE_c`: Model stadard erorr of `c` -2193 + `scrambling_drift` (boolean): whether to allow a temporal drift in the scrambling factor (`a`) -2194 + `slope_drift` (boolean): whether to allow a temporal drift in the compositional slope (`b`) -2195 + `wg_drift` (boolean): whether to allow a temporal drift in the WG offset (`c`) -2196 + `a2`: scrambling factor drift -2197 + `b2`: compositional slope drift -2198 + `c2`: WG offset drift -2199 + `Np`: Number of standardization parameters to fit -2200 + `CM`: model covariance matrix for (`a`, `b`, `c`, `a2`, `b2`, `c2`) -2201 + `d13Cwg_VPDB`: δ13C_VPDB of WG -2202 + `d18Owg_VSMOW`: δ18O_VSMOW of WG -2203 ''' -2204 for session in self.sessions: -2205 if 'd13Cwg_VPDB' not in self.sessions[session]: -2206 self.sessions[session]['d13Cwg_VPDB'] = self.sessions[session]['data'][0]['d13Cwg_VPDB'] -2207 if 'd18Owg_VSMOW' not in self.sessions[session]: -2208 self.sessions[session]['d18Owg_VSMOW'] = self.sessions[session]['data'][0]['d18Owg_VSMOW'] -2209 self.sessions[session]['Na'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.anchors]) -2210 self.sessions[session]['Nu'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns]) -2211 -2212 self.msg(f'Computing repeatabilities for session {session}') -2213 self.sessions[session]['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors', sessions = [session]) -2214 self.sessions[session]['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors', sessions = [session]) -2215 self.sessions[session][f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', sessions = [session]) -2216 -2217 if self.standardization_method == 'pooled': -2218 for session in self.sessions: -2219 -2220 self.sessions[session]['a'] = self.standardization.params.valuesdict()[f'a_{pf(session)}'] -2221 i = self.standardization.var_names.index(f'a_{pf(session)}') -2222 self.sessions[session]['SE_a'] = self.standardization.covar[i,i]**.5 -2223 -2224 self.sessions[session]['b'] = self.standardization.params.valuesdict()[f'b_{pf(session)}'] -2225 i = self.standardization.var_names.index(f'b_{pf(session)}') -2226 self.sessions[session]['SE_b'] = self.standardization.covar[i,i]**.5 -2227 -2228 self.sessions[session]['c'] = self.standardization.params.valuesdict()[f'c_{pf(session)}'] -2229 i = self.standardization.var_names.index(f'c_{pf(session)}') -2230 self.sessions[session]['SE_c'] = self.standardization.covar[i,i]**.5 -2231 -2232 self.sessions[session]['a2'] = self.standardization.params.valuesdict()[f'a2_{pf(session)}'] -2233 if self.sessions[session]['scrambling_drift']: -2234 i = self.standardization.var_names.index(f'a2_{pf(session)}') -2235 self.sessions[session]['SE_a2'] = self.standardization.covar[i,i]**.5 -2236 else: -2237 self.sessions[session]['SE_a2'] = 0. -2238 -2239 self.sessions[session]['b2'] = self.standardization.params.valuesdict()[f'b2_{pf(session)}'] -2240 if self.sessions[session]['slope_drift']: -2241 i = self.standardization.var_names.index(f'b2_{pf(session)}') -2242 self.sessions[session]['SE_b2'] = self.standardization.covar[i,i]**.5 -2243 else: -2244 self.sessions[session]['SE_b2'] = 0. -2245 -2246 self.sessions[session]['c2'] = self.standardization.params.valuesdict()[f'c2_{pf(session)}'] -2247 if self.sessions[session]['wg_drift']: -2248 i = self.standardization.var_names.index(f'c2_{pf(session)}') -2249 self.sessions[session]['SE_c2'] = self.standardization.covar[i,i]**.5 -2250 else: -2251 self.sessions[session]['SE_c2'] = 0. -2252 -2253 i = self.standardization.var_names.index(f'a_{pf(session)}') -2254 j = self.standardization.var_names.index(f'b_{pf(session)}') -2255 k = self.standardization.var_names.index(f'c_{pf(session)}') -2256 CM = np.zeros((6,6)) -2257 CM[:3,:3] = self.standardization.covar[[i,j,k],:][:,[i,j,k]] -2258 try: -2259 i2 = self.standardization.var_names.index(f'a2_{pf(session)}') -2260 CM[3,[0,1,2,3]] = self.standardization.covar[i2,[i,j,k,i2]] -2261 CM[[0,1,2,3],3] = self.standardization.covar[[i,j,k,i2],i2] -2262 try: -2263 j2 = self.standardization.var_names.index(f'b2_{pf(session)}') -2264 CM[3,4] = self.standardization.covar[i2,j2] -2265 CM[4,3] = self.standardization.covar[j2,i2] -2266 except ValueError: -2267 pass -2268 try: -2269 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') -2270 CM[3,5] = self.standardization.covar[i2,k2] -2271 CM[5,3] = self.standardization.covar[k2,i2] -2272 except ValueError: -2273 pass -2274 except ValueError: -2275 pass -2276 try: -2277 j2 = self.standardization.var_names.index(f'b2_{pf(session)}') -2278 CM[4,[0,1,2,4]] = self.standardization.covar[j2,[i,j,k,j2]] -2279 CM[[0,1,2,4],4] = self.standardization.covar[[i,j,k,j2],j2] -2280 try: -2281 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') -2282 CM[4,5] = self.standardization.covar[j2,k2] -2283 CM[5,4] = self.standardization.covar[k2,j2] -2284 except ValueError: -2285 pass -2286 except ValueError: -2287 pass -2288 try: -2289 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') -2290 CM[5,[0,1,2,5]] = self.standardization.covar[k2,[i,j,k,k2]] -2291 CM[[0,1,2,5],5] = self.standardization.covar[[i,j,k,k2],k2] -2292 except ValueError: -2293 pass -2294 -2295 self.sessions[session]['CM'] = CM -2296 -2297 elif self.standardization_method == 'indep_sessions': -2298 pass # Not implemented yet +2178 +2179 def consolidate_sessions(self): +2180 ''' +2181 Compute various statistics for each session. +2182 +2183 + `Na`: Number of anchor analyses in the session +2184 + `Nu`: Number of unknown analyses in the session +2185 + `r_d13C_VPDB`: δ13C_VPDB repeatability of analyses within the session +2186 + `r_d18O_VSMOW`: δ18O_VSMOW repeatability of analyses within the session +2187 + `r_D47` or `r_D48`: Δ4x repeatability of analyses within the session +2188 + `a`: scrambling factor +2189 + `b`: compositional slope +2190 + `c`: WG offset +2191 + `SE_a`: Model stadard erorr of `a` +2192 + `SE_b`: Model stadard erorr of `b` +2193 + `SE_c`: Model stadard erorr of `c` +2194 + `scrambling_drift` (boolean): whether to allow a temporal drift in the scrambling factor (`a`) +2195 + `slope_drift` (boolean): whether to allow a temporal drift in the compositional slope (`b`) +2196 + `wg_drift` (boolean): whether to allow a temporal drift in the WG offset (`c`) +2197 + `a2`: scrambling factor drift +2198 + `b2`: compositional slope drift +2199 + `c2`: WG offset drift +2200 + `Np`: Number of standardization parameters to fit +2201 + `CM`: model covariance matrix for (`a`, `b`, `c`, `a2`, `b2`, `c2`) +2202 + `d13Cwg_VPDB`: δ13C_VPDB of WG +2203 + `d18Owg_VSMOW`: δ18O_VSMOW of WG +2204 ''' +2205 for session in self.sessions: +2206 if 'd13Cwg_VPDB' not in self.sessions[session]: +2207 self.sessions[session]['d13Cwg_VPDB'] = self.sessions[session]['data'][0]['d13Cwg_VPDB'] +2208 if 'd18Owg_VSMOW' not in self.sessions[session]: +2209 self.sessions[session]['d18Owg_VSMOW'] = self.sessions[session]['data'][0]['d18Owg_VSMOW'] +2210 self.sessions[session]['Na'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.anchors]) +2211 self.sessions[session]['Nu'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns]) +2212 +2213 self.msg(f'Computing repeatabilities for session {session}') +2214 self.sessions[session]['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors', sessions = [session]) +2215 self.sessions[session]['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors', sessions = [session]) +2216 self.sessions[session][f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', sessions = [session]) +2217 +2218 if self.standardization_method == 'pooled': +2219 for session in self.sessions: +2220 +2221 # different (better?) computation of D4x repeatability for each session: +2222 sqresiduals = [(r[f'D{self._4x}'] - self.samples[r['Sample']][f'D{self._4x}'])**2 for r in self.sessions[session]['data']] +2223 self.sessions[session][f'r_D{self._4x}'] = np.mean(sqresiduals)**.5 +2224 +2225 self.sessions[session]['a'] = self.standardization.params.valuesdict()[f'a_{pf(session)}'] +2226 i = self.standardization.var_names.index(f'a_{pf(session)}') +2227 self.sessions[session]['SE_a'] = self.standardization.covar[i,i]**.5 +2228 +2229 self.sessions[session]['b'] = self.standardization.params.valuesdict()[f'b_{pf(session)}'] +2230 i = self.standardization.var_names.index(f'b_{pf(session)}') +2231 self.sessions[session]['SE_b'] = self.standardization.covar[i,i]**.5 +2232 +2233 self.sessions[session]['c'] = self.standardization.params.valuesdict()[f'c_{pf(session)}'] +2234 i = self.standardization.var_names.index(f'c_{pf(session)}') +2235 self.sessions[session]['SE_c'] = self.standardization.covar[i,i]**.5 +2236 +2237 self.sessions[session]['a2'] = self.standardization.params.valuesdict()[f'a2_{pf(session)}'] +2238 if self.sessions[session]['scrambling_drift']: +2239 i = self.standardization.var_names.index(f'a2_{pf(session)}') +2240 self.sessions[session]['SE_a2'] = self.standardization.covar[i,i]**.5 +2241 else: +2242 self.sessions[session]['SE_a2'] = 0. +2243 +2244 self.sessions[session]['b2'] = self.standardization.params.valuesdict()[f'b2_{pf(session)}'] +2245 if self.sessions[session]['slope_drift']: +2246 i = self.standardization.var_names.index(f'b2_{pf(session)}') +2247 self.sessions[session]['SE_b2'] = self.standardization.covar[i,i]**.5 +2248 else: +2249 self.sessions[session]['SE_b2'] = 0. +2250 +2251 self.sessions[session]['c2'] = self.standardization.params.valuesdict()[f'c2_{pf(session)}'] +2252 if self.sessions[session]['wg_drift']: +2253 i = self.standardization.var_names.index(f'c2_{pf(session)}') +2254 self.sessions[session]['SE_c2'] = self.standardization.covar[i,i]**.5 +2255 else: +2256 self.sessions[session]['SE_c2'] = 0. +2257 +2258 i = self.standardization.var_names.index(f'a_{pf(session)}') +2259 j = self.standardization.var_names.index(f'b_{pf(session)}') +2260 k = self.standardization.var_names.index(f'c_{pf(session)}') +2261 CM = np.zeros((6,6)) +2262 CM[:3,:3] = self.standardization.covar[[i,j,k],:][:,[i,j,k]] +2263 try: +2264 i2 = self.standardization.var_names.index(f'a2_{pf(session)}') +2265 CM[3,[0,1,2,3]] = self.standardization.covar[i2,[i,j,k,i2]] +2266 CM[[0,1,2,3],3] = self.standardization.covar[[i,j,k,i2],i2] +2267 try: +2268 j2 = self.standardization.var_names.index(f'b2_{pf(session)}') +2269 CM[3,4] = self.standardization.covar[i2,j2] +2270 CM[4,3] = self.standardization.covar[j2,i2] +2271 except ValueError: +2272 pass +2273 try: +2274 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') +2275 CM[3,5] = self.standardization.covar[i2,k2] +2276 CM[5,3] = self.standardization.covar[k2,i2] +2277 except ValueError: +2278 pass +2279 except ValueError: +2280 pass +2281 try: +2282 j2 = self.standardization.var_names.index(f'b2_{pf(session)}') +2283 CM[4,[0,1,2,4]] = self.standardization.covar[j2,[i,j,k,j2]] +2284 CM[[0,1,2,4],4] = self.standardization.covar[[i,j,k,j2],j2] +2285 try: +2286 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') +2287 CM[4,5] = self.standardization.covar[j2,k2] +2288 CM[5,4] = self.standardization.covar[k2,j2] +2289 except ValueError: +2290 pass +2291 except ValueError: +2292 pass +2293 try: +2294 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') +2295 CM[5,[0,1,2,5]] = self.standardization.covar[k2,[i,j,k,k2]] +2296 CM[[0,1,2,5],5] = self.standardization.covar[[i,j,k,k2],k2] +2297 except ValueError: +2298 pass 2299 -2300 -2301 @make_verbal -2302 def repeatabilities(self): -2303 ''' -2304 Compute analytical repeatabilities for δ13C_VPDB, δ18O_VSMOW, Δ4x -2305 (for all samples, for anchors, and for unknowns). -2306 ''' -2307 self.msg('Computing reproducibilities for all sessions') -2308 -2309 self.repeatability['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors') -2310 self.repeatability['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors') -2311 self.repeatability[f'r_D{self._4x}a'] = self.compute_r(f'D{self._4x}', samples = 'anchors') -2312 self.repeatability[f'r_D{self._4x}u'] = self.compute_r(f'D{self._4x}', samples = 'unknowns') -2313 self.repeatability[f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', samples = 'all samples') -2314 -2315 -2316 @make_verbal -2317 def consolidate(self, tables = True, plots = True): -2318 ''' -2319 Collect information about samples, sessions and repeatabilities. -2320 ''' -2321 self.consolidate_samples() -2322 self.consolidate_sessions() -2323 self.repeatabilities() -2324 -2325 if tables: -2326 self.summary() -2327 self.table_of_sessions() -2328 self.table_of_analyses() -2329 self.table_of_samples() -2330 -2331 if plots: -2332 self.plot_sessions() -2333 -2334 -2335 @make_verbal -2336 def rmswd(self, -2337 samples = 'all samples', -2338 sessions = 'all sessions', -2339 ): -2340 ''' -2341 Compute the χ2, root mean squared weighted deviation -2342 (i.e. reduced χ2), and corresponding degrees of freedom of the -2343 Δ4x values for samples in `samples` and sessions in `sessions`. -2344 -2345 Only used in `D4xdata.standardize()` with `method='indep_sessions'`. -2346 ''' -2347 if samples == 'all samples': -2348 mysamples = [k for k in self.samples] -2349 elif samples == 'anchors': -2350 mysamples = [k for k in self.anchors] -2351 elif samples == 'unknowns': -2352 mysamples = [k for k in self.unknowns] -2353 else: -2354 mysamples = samples -2355 -2356 if sessions == 'all sessions': -2357 sessions = [k for k in self.sessions] -2358 -2359 chisq, Nf = 0, 0 -2360 for sample in mysamples : -2361 G = [ r for r in self if r['Sample'] == sample and r['Session'] in sessions ] -2362 if len(G) > 1 : -2363 X, sX = w_avg([r[f'D{self._4x}'] for r in G], [r[f'wD{self._4x}'] for r in G]) -2364 Nf += (len(G) - 1) -2365 chisq += np.sum([ ((r[f'D{self._4x}']-X)/r[f'wD{self._4x}'])**2 for r in G]) -2366 r = (chisq / Nf)**.5 if Nf > 0 else 0 -2367 self.msg(f'RMSWD of r["D{self._4x}"] is {r:.6f} for {samples}.') -2368 return {'rmswd': r, 'chisq': chisq, 'Nf': Nf} -2369 -2370 -2371 @make_verbal -2372 def compute_r(self, key, samples = 'all samples', sessions = 'all sessions'): -2373 ''' -2374 Compute the repeatability of `[r[key] for r in self]` -2375 ''' -2376 -2377 if samples == 'all samples': -2378 mysamples = [k for k in self.samples] -2379 elif samples == 'anchors': -2380 mysamples = [k for k in self.anchors] -2381 elif samples == 'unknowns': -2382 mysamples = [k for k in self.unknowns] -2383 else: -2384 mysamples = samples -2385 -2386 if sessions == 'all sessions': -2387 sessions = [k for k in self.sessions] -2388 -2389 if key in ['D47', 'D48']: -2390 # Full disclosure: the definition of Nf is tricky/debatable -2391 G = [r for r in self if r['Sample'] in mysamples and r['Session'] in sessions] -2392 chisq = (np.array([r[f'{key}_residual'] for r in G])**2).sum() -2393 Nf = len(G) -2394# print(f'len(G) = {Nf}') -2395 Nf -= len([s for s in mysamples if s in self.unknowns]) -2396# print(f'{len([s for s in mysamples if s in self.unknowns])} unknown samples to consider') -2397 for session in sessions: -2398 Np = len([ -2399 _ for _ in self.standardization.params -2400 if ( -2401 self.standardization.params[_].expr is not None -2402 and ( -2403 (_[0] in 'abc' and _[1] == '_' and _[2:] == pf(session)) -2404 or (_[0] in 'abc' and _[1:3] == '2_' and _[3:] == pf(session)) -2405 ) -2406 ) -2407 ]) -2408# print(f'session {session}: {Np} parameters to consider') -2409 Na = len({ -2410 r['Sample'] for r in self.sessions[session]['data'] -2411 if r['Sample'] in self.anchors and r['Sample'] in mysamples -2412 }) -2413# print(f'session {session}: {Na} different anchors in that session') -2414 Nf -= min(Np, Na) -2415# print(f'Nf = {Nf}') -2416 -2417# for sample in mysamples : -2418# X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ] -2419# if len(X) > 1 : -2420# chisq += np.sum([ (x-self.samples[sample][key])**2 for x in X ]) -2421# if sample in self.unknowns: -2422# Nf += len(X) - 1 -2423# else: -2424# Nf += len(X) -2425# if samples in ['anchors', 'all samples']: -2426# Nf -= sum([self.sessions[s]['Np'] for s in sessions]) -2427 r = (chisq / Nf)**.5 if Nf > 0 else 0 -2428 -2429 else: # if key not in ['D47', 'D48'] -2430 chisq, Nf = 0, 0 -2431 for sample in mysamples : -2432 X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ] -2433 if len(X) > 1 : -2434 Nf += len(X) - 1 -2435 chisq += np.sum([ (x-np.mean(X))**2 for x in X ]) -2436 r = (chisq / Nf)**.5 if Nf > 0 else 0 -2437 -2438 self.msg(f'Repeatability of r["{key}"] is {1000*r:.1f} ppm for {samples}.') -2439 return r -2440 -2441 def sample_average(self, samples, weights = 'equal', normalize = True): -2442 ''' -2443 Weighted average Δ4x value of a group of samples, accounting for covariance. -2444 -2445 Returns the weighed average Δ4x value and associated SE -2446 of a group of samples. Weights are equal by default. If `normalize` is -2447 true, `weights` will be rescaled so that their sum equals 1. -2448 -2449 **Examples** -2450 -2451 ```python -2452 self.sample_average(['X','Y'], [1, 2]) -2453 ``` -2454 -2455 returns the value and SE of [Δ4x(X) + 2 Δ4x(Y)]/3, -2456 where Δ4x(X) and Δ4x(Y) are the average Δ4x -2457 values of samples X and Y, respectively. -2458 -2459 ```python -2460 self.sample_average(['X','Y'], [1, -1], normalize = False) -2461 ``` -2462 -2463 returns the value and SE of the difference Δ4x(X) - Δ4x(Y). -2464 ''' -2465 if weights == 'equal': -2466 weights = [1/len(samples)] * len(samples) +2300 self.sessions[session]['CM'] = CM +2301 +2302 elif self.standardization_method == 'indep_sessions': +2303 pass # Not implemented yet +2304 +2305 +2306 @make_verbal +2307 def repeatabilities(self): +2308 ''' +2309 Compute analytical repeatabilities for δ13C_VPDB, δ18O_VSMOW, Δ4x +2310 (for all samples, for anchors, and for unknowns). +2311 ''' +2312 self.msg('Computing reproducibilities for all sessions') +2313 +2314 self.repeatability['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors') +2315 self.repeatability['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors') +2316 self.repeatability[f'r_D{self._4x}a'] = self.compute_r(f'D{self._4x}', samples = 'anchors') +2317 self.repeatability[f'r_D{self._4x}u'] = self.compute_r(f'D{self._4x}', samples = 'unknowns') +2318 self.repeatability[f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', samples = 'all samples') +2319 +2320 +2321 @make_verbal +2322 def consolidate(self, tables = True, plots = True): +2323 ''' +2324 Collect information about samples, sessions and repeatabilities. +2325 ''' +2326 self.consolidate_samples() +2327 self.consolidate_sessions() +2328 self.repeatabilities() +2329 +2330 if tables: +2331 self.summary() +2332 self.table_of_sessions() +2333 self.table_of_analyses() +2334 self.table_of_samples() +2335 +2336 if plots: +2337 self.plot_sessions() +2338 +2339 +2340 @make_verbal +2341 def rmswd(self, +2342 samples = 'all samples', +2343 sessions = 'all sessions', +2344 ): +2345 ''' +2346 Compute the χ2, root mean squared weighted deviation +2347 (i.e. reduced χ2), and corresponding degrees of freedom of the +2348 Δ4x values for samples in `samples` and sessions in `sessions`. +2349 +2350 Only used in `D4xdata.standardize()` with `method='indep_sessions'`. +2351 ''' +2352 if samples == 'all samples': +2353 mysamples = [k for k in self.samples] +2354 elif samples == 'anchors': +2355 mysamples = [k for k in self.anchors] +2356 elif samples == 'unknowns': +2357 mysamples = [k for k in self.unknowns] +2358 else: +2359 mysamples = samples +2360 +2361 if sessions == 'all sessions': +2362 sessions = [k for k in self.sessions] +2363 +2364 chisq, Nf = 0, 0 +2365 for sample in mysamples : +2366 G = [ r for r in self if r['Sample'] == sample and r['Session'] in sessions ] +2367 if len(G) > 1 : +2368 X, sX = w_avg([r[f'D{self._4x}'] for r in G], [r[f'wD{self._4x}'] for r in G]) +2369 Nf += (len(G) - 1) +2370 chisq += np.sum([ ((r[f'D{self._4x}']-X)/r[f'wD{self._4x}'])**2 for r in G]) +2371 r = (chisq / Nf)**.5 if Nf > 0 else 0 +2372 self.msg(f'RMSWD of r["D{self._4x}"] is {r:.6f} for {samples}.') +2373 return {'rmswd': r, 'chisq': chisq, 'Nf': Nf} +2374 +2375 +2376 @make_verbal +2377 def compute_r(self, key, samples = 'all samples', sessions = 'all sessions'): +2378 ''' +2379 Compute the repeatability of `[r[key] for r in self]` +2380 ''' +2381 +2382 if samples == 'all samples': +2383 mysamples = [k for k in self.samples] +2384 elif samples == 'anchors': +2385 mysamples = [k for k in self.anchors] +2386 elif samples == 'unknowns': +2387 mysamples = [k for k in self.unknowns] +2388 else: +2389 mysamples = samples +2390 +2391 if sessions == 'all sessions': +2392 sessions = [k for k in self.sessions] +2393 +2394 if key in ['D47', 'D48']: +2395 # Full disclosure: the definition of Nf is tricky/debatable +2396 G = [r for r in self if r['Sample'] in mysamples and r['Session'] in sessions] +2397 chisq = (np.array([r[f'{key}_residual'] for r in G])**2).sum() +2398 Nf = len(G) +2399# print(f'len(G) = {Nf}') +2400 Nf -= len([s for s in mysamples if s in self.unknowns]) +2401# print(f'{len([s for s in mysamples if s in self.unknowns])} unknown samples to consider') +2402 for session in sessions: +2403 Np = len([ +2404 _ for _ in self.standardization.params +2405 if ( +2406 self.standardization.params[_].expr is not None +2407 and ( +2408 (_[0] in 'abc' and _[1] == '_' and _[2:] == pf(session)) +2409 or (_[0] in 'abc' and _[1:3] == '2_' and _[3:] == pf(session)) +2410 ) +2411 ) +2412 ]) +2413# print(f'session {session}: {Np} parameters to consider') +2414 Na = len({ +2415 r['Sample'] for r in self.sessions[session]['data'] +2416 if r['Sample'] in self.anchors and r['Sample'] in mysamples +2417 }) +2418# print(f'session {session}: {Na} different anchors in that session') +2419 Nf -= min(Np, Na) +2420# print(f'Nf = {Nf}') +2421 +2422# for sample in mysamples : +2423# X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ] +2424# if len(X) > 1 : +2425# chisq += np.sum([ (x-self.samples[sample][key])**2 for x in X ]) +2426# if sample in self.unknowns: +2427# Nf += len(X) - 1 +2428# else: +2429# Nf += len(X) +2430# if samples in ['anchors', 'all samples']: +2431# Nf -= sum([self.sessions[s]['Np'] for s in sessions]) +2432 r = (chisq / Nf)**.5 if Nf > 0 else 0 +2433 +2434 else: # if key not in ['D47', 'D48'] +2435 chisq, Nf = 0, 0 +2436 for sample in mysamples : +2437 X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ] +2438 if len(X) > 1 : +2439 Nf += len(X) - 1 +2440 chisq += np.sum([ (x-np.mean(X))**2 for x in X ]) +2441 r = (chisq / Nf)**.5 if Nf > 0 else 0 +2442 +2443 self.msg(f'Repeatability of r["{key}"] is {1000*r:.1f} ppm for {samples}.') +2444 return r +2445 +2446 def sample_average(self, samples, weights = 'equal', normalize = True): +2447 ''' +2448 Weighted average Δ4x value of a group of samples, accounting for covariance. +2449 +2450 Returns the weighed average Δ4x value and associated SE +2451 of a group of samples. Weights are equal by default. If `normalize` is +2452 true, `weights` will be rescaled so that their sum equals 1. +2453 +2454 **Examples** +2455 +2456 ```python +2457 self.sample_average(['X','Y'], [1, 2]) +2458 ``` +2459 +2460 returns the value and SE of [Δ4x(X) + 2 Δ4x(Y)]/3, +2461 where Δ4x(X) and Δ4x(Y) are the average Δ4x +2462 values of samples X and Y, respectively. +2463 +2464 ```python +2465 self.sample_average(['X','Y'], [1, -1], normalize = False) +2466 ``` 2467 -2468 if normalize: -2469 s = sum(weights) -2470 if s: -2471 weights = [w/s for w in weights] +2468 returns the value and SE of the difference Δ4x(X) - Δ4x(Y). +2469 ''' +2470 if weights == 'equal': +2471 weights = [1/len(samples)] * len(samples) 2472 -2473 try: -2474# indices = [self.standardization.var_names.index(f'D47_{pf(sample)}') for sample in samples] -2475# C = self.standardization.covar[indices,:][:,indices] -2476 C = np.array([[self.sample_D4x_covar(x, y) for x in samples] for y in samples]) -2477 X = [self.samples[sample][f'D{self._4x}'] for sample in samples] -2478 return correlated_sum(X, C, weights) -2479 except ValueError: -2480 return (0., 0.) -2481 -2482 -2483 def sample_D4x_covar(self, sample1, sample2 = None): -2484 ''' -2485 Covariance between Δ4x values of samples +2473 if normalize: +2474 s = sum(weights) +2475 if s: +2476 weights = [w/s for w in weights] +2477 +2478 try: +2479# indices = [self.standardization.var_names.index(f'D47_{pf(sample)}') for sample in samples] +2480# C = self.standardization.covar[indices,:][:,indices] +2481 C = np.array([[self.sample_D4x_covar(x, y) for x in samples] for y in samples]) +2482 X = [self.samples[sample][f'D{self._4x}'] for sample in samples] +2483 return correlated_sum(X, C, weights) +2484 except ValueError: +2485 return (0., 0.) 2486 -2487 Returns the error covariance between the average Δ4x values of two -2488 samples. If if only `sample_1` is specified, or if `sample_1 == sample_2`), -2489 returns the Δ4x variance for that sample. -2490 ''' -2491 if sample2 is None: -2492 sample2 = sample1 -2493 if self.standardization_method == 'pooled': -2494 i = self.standardization.var_names.index(f'D{self._4x}_{pf(sample1)}') -2495 j = self.standardization.var_names.index(f'D{self._4x}_{pf(sample2)}') -2496 return self.standardization.covar[i, j] -2497 elif self.standardization_method == 'indep_sessions': -2498 if sample1 == sample2: -2499 return self.samples[sample1][f'SE_D{self._4x}']**2 -2500 else: -2501 c = 0 -2502 for session in self.sessions: -2503 sdata1 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample1] -2504 sdata2 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample2] -2505 if sdata1 and sdata2: -2506 a = self.sessions[session]['a'] -2507 # !! TODO: CM below does not account for temporal changes in standardization parameters -2508 CM = self.sessions[session]['CM'][:3,:3] -2509 avg_D4x_1 = np.mean([r[f'D{self._4x}'] for r in sdata1]) -2510 avg_d4x_1 = np.mean([r[f'd{self._4x}'] for r in sdata1]) -2511 avg_D4x_2 = np.mean([r[f'D{self._4x}'] for r in sdata2]) -2512 avg_d4x_2 = np.mean([r[f'd{self._4x}'] for r in sdata2]) -2513 c += ( -2514 self.unknowns[sample1][f'session_D{self._4x}'][session][2] -2515 * self.unknowns[sample2][f'session_D{self._4x}'][session][2] -2516 * np.array([[avg_D4x_1, avg_d4x_1, 1]]) -2517 @ CM -2518 @ np.array([[avg_D4x_2, avg_d4x_2, 1]]).T -2519 ) / a**2 -2520 return float(c) -2521 -2522 def sample_D4x_correl(self, sample1, sample2 = None): -2523 ''' -2524 Correlation between Δ4x errors of samples -2525 -2526 Returns the error correlation between the average Δ4x values of two samples. -2527 ''' -2528 if sample2 is None or sample2 == sample1: -2529 return 1. -2530 return ( -2531 self.sample_D4x_covar(sample1, sample2) -2532 / self.unknowns[sample1][f'SE_D{self._4x}'] -2533 / self.unknowns[sample2][f'SE_D{self._4x}'] -2534 ) -2535 -2536 def plot_single_session(self, -2537 session, -2538 kw_plot_anchors = dict(ls='None', marker='x', mec=(.75, 0, 0), mew = .75, ms = 4), -2539 kw_plot_unknowns = dict(ls='None', marker='x', mec=(0, 0, .75), mew = .75, ms = 4), -2540 kw_plot_anchor_avg = dict(ls='-', marker='None', color=(.75, 0, 0), lw = .75), -2541 kw_plot_unknown_avg = dict(ls='-', marker='None', color=(0, 0, .75), lw = .75), -2542 kw_contour_error = dict(colors = [[0, 0, 0]], alpha = .5, linewidths = 0.75), -2543 xylimits = 'free', # | 'constant' -2544 x_label = None, -2545 y_label = None, -2546 error_contour_interval = 'auto', -2547 fig = 'new', -2548 ): -2549 ''' -2550 Generate plot for a single session -2551 ''' -2552 if x_label is None: -2553 x_label = f'δ$_{{{self._4x}}}$ (‰)' -2554 if y_label is None: -2555 y_label = f'Δ$_{{{self._4x}}}$ (‰)' -2556 -2557 out = _SessionPlot() -2558 anchors = [a for a in self.anchors if [r for r in self.sessions[session]['data'] if r['Sample'] == a]] -2559 unknowns = [u for u in self.unknowns if [r for r in self.sessions[session]['data'] if r['Sample'] == u]] -2560 -2561 if fig == 'new': -2562 out.fig = ppl.figure(figsize = (6,6)) -2563 ppl.subplots_adjust(.1,.1,.9,.9) -2564 -2565 out.anchor_analyses, = ppl.plot( -2566 [r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors], -2567 [r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors], -2568 **kw_plot_anchors) -2569 out.unknown_analyses, = ppl.plot( -2570 [r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns], -2571 [r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns], -2572 **kw_plot_unknowns) -2573 out.anchor_avg = ppl.plot( -2574 np.array([ np.array([ +2487 +2488 def sample_D4x_covar(self, sample1, sample2 = None): +2489 ''' +2490 Covariance between Δ4x values of samples +2491 +2492 Returns the error covariance between the average Δ4x values of two +2493 samples. If if only `sample_1` is specified, or if `sample_1 == sample_2`), +2494 returns the Δ4x variance for that sample. +2495 ''' +2496 if sample2 is None: +2497 sample2 = sample1 +2498 if self.standardization_method == 'pooled': +2499 i = self.standardization.var_names.index(f'D{self._4x}_{pf(sample1)}') +2500 j = self.standardization.var_names.index(f'D{self._4x}_{pf(sample2)}') +2501 return self.standardization.covar[i, j] +2502 elif self.standardization_method == 'indep_sessions': +2503 if sample1 == sample2: +2504 return self.samples[sample1][f'SE_D{self._4x}']**2 +2505 else: +2506 c = 0 +2507 for session in self.sessions: +2508 sdata1 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample1] +2509 sdata2 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample2] +2510 if sdata1 and sdata2: +2511 a = self.sessions[session]['a'] +2512 # !! TODO: CM below does not account for temporal changes in standardization parameters +2513 CM = self.sessions[session]['CM'][:3,:3] +2514 avg_D4x_1 = np.mean([r[f'D{self._4x}'] for r in sdata1]) +2515 avg_d4x_1 = np.mean([r[f'd{self._4x}'] for r in sdata1]) +2516 avg_D4x_2 = np.mean([r[f'D{self._4x}'] for r in sdata2]) +2517 avg_d4x_2 = np.mean([r[f'd{self._4x}'] for r in sdata2]) +2518 c += ( +2519 self.unknowns[sample1][f'session_D{self._4x}'][session][2] +2520 * self.unknowns[sample2][f'session_D{self._4x}'][session][2] +2521 * np.array([[avg_D4x_1, avg_d4x_1, 1]]) +2522 @ CM +2523 @ np.array([[avg_D4x_2, avg_d4x_2, 1]]).T +2524 ) / a**2 +2525 return float(c) +2526 +2527 def sample_D4x_correl(self, sample1, sample2 = None): +2528 ''' +2529 Correlation between Δ4x errors of samples +2530 +2531 Returns the error correlation between the average Δ4x values of two samples. +2532 ''' +2533 if sample2 is None or sample2 == sample1: +2534 return 1. +2535 return ( +2536 self.sample_D4x_covar(sample1, sample2) +2537 / self.unknowns[sample1][f'SE_D{self._4x}'] +2538 / self.unknowns[sample2][f'SE_D{self._4x}'] +2539 ) +2540 +2541 def plot_single_session(self, +2542 session, +2543 kw_plot_anchors = dict(ls='None', marker='x', mec=(.75, 0, 0), mew = .75, ms = 4), +2544 kw_plot_unknowns = dict(ls='None', marker='x', mec=(0, 0, .75), mew = .75, ms = 4), +2545 kw_plot_anchor_avg = dict(ls='-', marker='None', color=(.75, 0, 0), lw = .75), +2546 kw_plot_unknown_avg = dict(ls='-', marker='None', color=(0, 0, .75), lw = .75), +2547 kw_contour_error = dict(colors = [[0, 0, 0]], alpha = .5, linewidths = 0.75), +2548 xylimits = 'free', # | 'constant' +2549 x_label = None, +2550 y_label = None, +2551 error_contour_interval = 'auto', +2552 fig = 'new', +2553 ): +2554 ''' +2555 Generate plot for a single session +2556 ''' +2557 if x_label is None: +2558 x_label = f'δ$_{{{self._4x}}}$ (‰)' +2559 if y_label is None: +2560 y_label = f'Δ$_{{{self._4x}}}$ (‰)' +2561 +2562 out = _SessionPlot() +2563 anchors = [a for a in self.anchors if [r for r in self.sessions[session]['data'] if r['Sample'] == a]] +2564 unknowns = [u for u in self.unknowns if [r for r in self.sessions[session]['data'] if r['Sample'] == u]] +2565 anchors_d = [r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors] +2566 anchors_D = [r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors] +2567 unknowns_d = [r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns] +2568 unknowns_D = [r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns] +2569 anchor_avg = (np.array([ np.array([ +2570 np.min([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) - 1, +2571 np.max([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) + 1 +2572 ]) for sample in anchors]).T, +2573 np.array([ np.array([0, 0]) + self.Nominal_D4x[sample] for sample in anchors]).T) +2574 unknown_avg = (np.array([ np.array([ 2575 np.min([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) - 1, 2576 np.max([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) + 1 -2577 ]) for sample in anchors]).T, -2578 np.array([ np.array([0, 0]) + self.Nominal_D4x[sample] for sample in anchors]).T, -2579 **kw_plot_anchor_avg) -2580 out.unknown_avg = ppl.plot( -2581 np.array([ np.array([ -2582 np.min([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) - 1, -2583 np.max([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) + 1 -2584 ]) for sample in unknowns]).T, -2585 np.array([ np.array([0, 0]) + self.unknowns[sample][f'D{self._4x}'] for sample in unknowns]).T, -2586 **kw_plot_unknown_avg) -2587 if xylimits == 'constant': -2588 x = [r[f'd{self._4x}'] for r in self] -2589 y = [r[f'D{self._4x}'] for r in self] -2590 x1, x2, y1, y2 = np.min(x), np.max(x), np.min(y), np.max(y) -2591 w, h = x2-x1, y2-y1 -2592 x1 -= w/20 -2593 x2 += w/20 -2594 y1 -= h/20 -2595 y2 += h/20 -2596 ppl.axis([x1, x2, y1, y2]) -2597 elif xylimits == 'free': -2598 x1, x2, y1, y2 = ppl.axis() -2599 else: -2600 x1, x2, y1, y2 = ppl.axis(xylimits) -2601 -2602 if error_contour_interval != 'none': -2603 xi, yi = np.linspace(x1, x2), np.linspace(y1, y2) -2604 XI,YI = np.meshgrid(xi, yi) -2605 SI = np.array([[self.standardization_error(session, x, y) for x in xi] for y in yi]) -2606 if error_contour_interval == 'auto': -2607 rng = np.max(SI) - np.min(SI) -2608 if rng <= 0.01: -2609 cinterval = 0.001 -2610 elif rng <= 0.03: -2611 cinterval = 0.004 -2612 elif rng <= 0.1: -2613 cinterval = 0.01 -2614 elif rng <= 0.3: -2615 cinterval = 0.03 -2616 elif rng <= 1.: -2617 cinterval = 0.1 -2618 else: -2619 cinterval = 0.5 -2620 else: -2621 cinterval = error_contour_interval -2622 -2623 cval = np.arange(np.ceil(SI.min() / .001) * .001, np.ceil(SI.max() / .001 + 1) * .001, cinterval) -2624 out.contour = ppl.contour(XI, YI, SI, cval, **kw_contour_error) -2625 out.clabel = ppl.clabel(out.contour) -2626 -2627 ppl.xlabel(x_label) -2628 ppl.ylabel(y_label) -2629 ppl.title(session, weight = 'bold') -2630 ppl.grid(alpha = .2) -2631 out.ax = ppl.gca() -2632 -2633 return out +2577 ]) for sample in unknowns]).T, +2578 np.array([ np.array([0, 0]) + self.unknowns[sample][f'D{self._4x}'] for sample in unknowns]).T) +2579 +2580 +2581 if fig == 'new': +2582 out.fig = ppl.figure(figsize = (6,6)) +2583 ppl.subplots_adjust(.1,.1,.9,.9) +2584 +2585 out.anchor_analyses, = ppl.plot( +2586 anchors_d, +2587 anchors_D, +2588 **kw_plot_anchors) +2589 out.unknown_analyses, = ppl.plot( +2590 unknowns_d, +2591 unknowns_D, +2592 **kw_plot_unknowns) +2593 out.anchor_avg = ppl.plot( +2594 *anchor_avg, +2595 **kw_plot_anchor_avg) +2596 out.unknown_avg = ppl.plot( +2597 *unknown_avg, +2598 **kw_plot_unknown_avg) +2599 if xylimits == 'constant': +2600 x = [r[f'd{self._4x}'] for r in self] +2601 y = [r[f'D{self._4x}'] for r in self] +2602 x1, x2, y1, y2 = np.min(x), np.max(x), np.min(y), np.max(y) +2603 w, h = x2-x1, y2-y1 +2604 x1 -= w/20 +2605 x2 += w/20 +2606 y1 -= h/20 +2607 y2 += h/20 +2608 ppl.axis([x1, x2, y1, y2]) +2609 elif xylimits == 'free': +2610 x1, x2, y1, y2 = ppl.axis() +2611 else: +2612 x1, x2, y1, y2 = ppl.axis(xylimits) +2613 +2614 if error_contour_interval != 'none': +2615 xi, yi = np.linspace(x1, x2), np.linspace(y1, y2) +2616 XI,YI = np.meshgrid(xi, yi) +2617 SI = np.array([[self.standardization_error(session, x, y) for x in xi] for y in yi]) +2618 if error_contour_interval == 'auto': +2619 rng = np.max(SI) - np.min(SI) +2620 if rng <= 0.01: +2621 cinterval = 0.001 +2622 elif rng <= 0.03: +2623 cinterval = 0.004 +2624 elif rng <= 0.1: +2625 cinterval = 0.01 +2626 elif rng <= 0.3: +2627 cinterval = 0.03 +2628 elif rng <= 1.: +2629 cinterval = 0.1 +2630 else: +2631 cinterval = 0.5 +2632 else: +2633 cinterval = error_contour_interval 2634 -2635 def plot_residuals( -2636 self, -2637 kde = False, -2638 hist = False, -2639 binwidth = 2/3, -2640 dir = 'output', -2641 filename = None, -2642 highlight = [], -2643 colors = None, -2644 figsize = None, -2645 dpi = 100, -2646 yspan = None, -2647 ): -2648 ''' -2649 Plot residuals of each analysis as a function of time (actually, as a function of -2650 the order of analyses in the `D4xdata` object) -2651 -2652 + `kde`: whether to add a kernel density estimate of residuals -2653 + `hist`: whether to add a histogram of residuals (incompatible with `kde`) -2654 + `histbins`: specify bin edges for the histogram -2655 + `dir`: the directory in which to save the plot -2656 + `highlight`: a list of samples to highlight -2657 + `colors`: a dict of `{<sample>: <color>}` for all samples -2658 + `figsize`: (width, height) of figure -2659 + `dpi`: resolution for PNG output -2660 + `yspan`: factor controlling the range of y values shown in plot -2661 (by default: `yspan = 1.5 if kde else 1.0`) -2662 ''' -2663 -2664 from matplotlib import ticker -2665 -2666 if yspan is None: -2667 if kde: -2668 yspan = 1.5 -2669 else: -2670 yspan = 1.0 -2671 -2672 # Layout -2673 fig = ppl.figure(figsize = (8,4) if figsize is None else figsize) -2674 if hist or kde: -2675 ppl.subplots_adjust(left = .08, bottom = .05, right = .98, top = .8, wspace = -0.72) -2676 ax1, ax2 = ppl.subplot(121), ppl.subplot(1,15,15) -2677 else: -2678 ppl.subplots_adjust(.08,.05,.78,.8) -2679 ax1 = ppl.subplot(111) -2680 -2681 # Colors -2682 N = len(self.anchors) -2683 if colors is None: -2684 if len(highlight) > 0: -2685 Nh = len(highlight) -2686 if Nh == 1: -2687 colors = {highlight[0]: (0,0,0)} -2688 elif Nh == 3: -2689 colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0)])} -2690 elif Nh == 4: -2691 colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])} -2692 else: -2693 colors = {a: hls_to_rgb(k/Nh, .4, 1) for k,a in enumerate(highlight)} -2694 else: -2695 if N == 3: -2696 colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0)])} -2697 elif N == 4: -2698 colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])} -2699 else: -2700 colors = {a: hls_to_rgb(k/N, .4, 1) for k,a in enumerate(self.anchors)} -2701 -2702 ppl.sca(ax1) -2703 -2704 ppl.axhline(0, color = 'k', alpha = .25, lw = 0.75) -2705 -2706 ax1.yaxis.set_major_formatter(ticker.FuncFormatter(lambda x, pos: f'${x:+.0f}$' if x else '$0$')) -2707 -2708 session = self[0]['Session'] -2709 x1 = 0 -2710# ymax = np.max([1e3 * (r['D47'] - self.samples[r['Sample']]['D47']) for r in self]) -2711 x_sessions = {} -2712 one_or_more_singlets = False -2713 one_or_more_multiplets = False -2714 multiplets = set() -2715 for k,r in enumerate(self): -2716 if r['Session'] != session: -2717 x2 = k-1 -2718 x_sessions[session] = (x1+x2)/2 -2719 ppl.axvline(k - 0.5, color = 'k', lw = .5) -2720 session = r['Session'] -2721 x1 = k -2722 singlet = len(self.samples[r['Sample']]['data']) == 1 -2723 if not singlet: -2724 multiplets.add(r['Sample']) -2725 if r['Sample'] in self.unknowns: -2726 if singlet: -2727 one_or_more_singlets = True -2728 else: -2729 one_or_more_multiplets = True -2730 kw = dict( -2731 marker = 'x' if singlet else '+', -2732 ms = 4 if singlet else 5, -2733 ls = 'None', -2734 mec = colors[r['Sample']] if r['Sample'] in colors else (0,0,0), -2735 mew = 1, -2736 alpha = 0.2 if singlet else 1, -2737 ) -2738 if highlight and r['Sample'] not in highlight: -2739 kw['alpha'] = 0.2 -2740 ppl.plot(k, 1e3 * r[f'D{self._4x}_residual'], **kw) -2741 x2 = k -2742 x_sessions[session] = (x1+x2)/2 -2743 -2744 ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000, self.repeatability[f'r_D{self._4x}']*1000, color = 'k', alpha = .05, lw = 1) -2745 ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000*self.t95, self.repeatability[f'r_D{self._4x}']*1000*self.t95, color = 'k', alpha = .05, lw = 1) -2746 if not (hist or kde): -2747 ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000, f" SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm", size = 9, alpha = 1, va = 'center') -2748 ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000*self.t95, f" 95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm", size = 9, alpha = 1, va = 'center') -2749 -2750 xmin, xmax, ymin, ymax = ppl.axis() -2751 if yspan != 1: -2752 ymin, ymax = (ymin + ymax)/2 - yspan * (ymax - ymin)/2, (ymin + ymax)/2 + yspan * (ymax - ymin)/2 -2753 for s in x_sessions: -2754 ppl.text( -2755 x_sessions[s], -2756 ymax +1, -2757 s, -2758 va = 'bottom', -2759 **( -2760 dict(ha = 'center') -2761 if len(self.sessions[s]['data']) > (0.15 * len(self)) -2762 else dict(ha = 'left', rotation = 45) -2763 ) -2764 ) -2765 -2766 if hist or kde: -2767 ppl.sca(ax2) -2768 -2769 for s in colors: -2770 kw['marker'] = '+' -2771 kw['ms'] = 5 -2772 kw['mec'] = colors[s] -2773 kw['label'] = s -2774 kw['alpha'] = 1 -2775 ppl.plot([], [], **kw) -2776 -2777 kw['mec'] = (0,0,0) -2778 -2779 if one_or_more_singlets: -2780 kw['marker'] = 'x' -2781 kw['ms'] = 4 -2782 kw['alpha'] = .2 -2783 kw['label'] = 'other (N$\\,$=$\\,$1)' if one_or_more_multiplets else 'other' -2784 ppl.plot([], [], **kw) -2785 -2786 if one_or_more_multiplets: -2787 kw['marker'] = '+' -2788 kw['ms'] = 4 -2789 kw['alpha'] = 1 -2790 kw['label'] = 'other (N$\\,$>$\\,$1)' if one_or_more_singlets else 'other' -2791 ppl.plot([], [], **kw) -2792 -2793 if hist or kde: -2794 leg = ppl.legend(loc = 'upper right', bbox_to_anchor = (1, 1), bbox_transform=fig.transFigure, borderaxespad = 1.5, fontsize = 9) -2795 else: -2796 leg = ppl.legend(loc = 'lower right', bbox_to_anchor = (1, 0), bbox_transform=fig.transFigure, borderaxespad = 1.5) -2797 leg.set_zorder(-1000) -2798 -2799 ppl.sca(ax1) -2800 -2801 ppl.ylabel(f'Δ$_{{{self._4x}}}$ residuals (ppm)') -2802 ppl.xticks([]) -2803 ppl.axis([-1, len(self), None, None]) +2635 cval = np.arange(np.ceil(SI.min() / .001) * .001, np.ceil(SI.max() / .001 + 1) * .001, cinterval) +2636 out.contour = ppl.contour(XI, YI, SI, cval, **kw_contour_error) +2637 out.clabel = ppl.clabel(out.contour) +2638 contour = (XI, YI, SI, cval, cinterval) +2639 +2640 if fig == None: +2641 return { +2642 'anchors':anchors, +2643 'unknowns':unknowns, +2644 'anchors_d':anchors_d, +2645 'anchors_D':anchors_D, +2646 'unknowns_d':unknowns_d, +2647 'unknowns_D':unknowns_D, +2648 'anchor_avg':anchor_avg, +2649 'unknown_avg':unknown_avg, +2650 'contour':contour, +2651 } +2652 +2653 ppl.xlabel(x_label) +2654 ppl.ylabel(y_label) +2655 ppl.title(session, weight = 'bold') +2656 ppl.grid(alpha = .2) +2657 out.ax = ppl.gca() +2658 +2659 return out +2660 +2661 def plot_residuals( +2662 self, +2663 kde = False, +2664 hist = False, +2665 binwidth = 2/3, +2666 dir = 'output', +2667 filename = None, +2668 highlight = [], +2669 colors = None, +2670 figsize = None, +2671 dpi = 100, +2672 yspan = None, +2673 ): +2674 ''' +2675 Plot residuals of each analysis as a function of time (actually, as a function of +2676 the order of analyses in the `D4xdata` object) +2677 +2678 + `kde`: whether to add a kernel density estimate of residuals +2679 + `hist`: whether to add a histogram of residuals (incompatible with `kde`) +2680 + `histbins`: specify bin edges for the histogram +2681 + `dir`: the directory in which to save the plot +2682 + `highlight`: a list of samples to highlight +2683 + `colors`: a dict of `{<sample>: <color>}` for all samples +2684 + `figsize`: (width, height) of figure +2685 + `dpi`: resolution for PNG output +2686 + `yspan`: factor controlling the range of y values shown in plot +2687 (by default: `yspan = 1.5 if kde else 1.0`) +2688 ''' +2689 +2690 from matplotlib import ticker +2691 +2692 if yspan is None: +2693 if kde: +2694 yspan = 1.5 +2695 else: +2696 yspan = 1.0 +2697 +2698 # Layout +2699 fig = ppl.figure(figsize = (8,4) if figsize is None else figsize) +2700 if hist or kde: +2701 ppl.subplots_adjust(left = .08, bottom = .05, right = .98, top = .8, wspace = -0.72) +2702 ax1, ax2 = ppl.subplot(121), ppl.subplot(1,15,15) +2703 else: +2704 ppl.subplots_adjust(.08,.05,.78,.8) +2705 ax1 = ppl.subplot(111) +2706 +2707 # Colors +2708 N = len(self.anchors) +2709 if colors is None: +2710 if len(highlight) > 0: +2711 Nh = len(highlight) +2712 if Nh == 1: +2713 colors = {highlight[0]: (0,0,0)} +2714 elif Nh == 3: +2715 colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0)])} +2716 elif Nh == 4: +2717 colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])} +2718 else: +2719 colors = {a: hls_to_rgb(k/Nh, .4, 1) for k,a in enumerate(highlight)} +2720 else: +2721 if N == 3: +2722 colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0)])} +2723 elif N == 4: +2724 colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])} +2725 else: +2726 colors = {a: hls_to_rgb(k/N, .4, 1) for k,a in enumerate(self.anchors)} +2727 +2728 ppl.sca(ax1) +2729 +2730 ppl.axhline(0, color = 'k', alpha = .25, lw = 0.75) +2731 +2732 ax1.yaxis.set_major_formatter(ticker.FuncFormatter(lambda x, pos: f'${x:+.0f}$' if x else '$0$')) +2733 +2734 session = self[0]['Session'] +2735 x1 = 0 +2736# ymax = np.max([1e3 * (r['D47'] - self.samples[r['Sample']]['D47']) for r in self]) +2737 x_sessions = {} +2738 one_or_more_singlets = False +2739 one_or_more_multiplets = False +2740 multiplets = set() +2741 for k,r in enumerate(self): +2742 if r['Session'] != session: +2743 x2 = k-1 +2744 x_sessions[session] = (x1+x2)/2 +2745 ppl.axvline(k - 0.5, color = 'k', lw = .5) +2746 session = r['Session'] +2747 x1 = k +2748 singlet = len(self.samples[r['Sample']]['data']) == 1 +2749 if not singlet: +2750 multiplets.add(r['Sample']) +2751 if r['Sample'] in self.unknowns: +2752 if singlet: +2753 one_or_more_singlets = True +2754 else: +2755 one_or_more_multiplets = True +2756 kw = dict( +2757 marker = 'x' if singlet else '+', +2758 ms = 4 if singlet else 5, +2759 ls = 'None', +2760 mec = colors[r['Sample']] if r['Sample'] in colors else (0,0,0), +2761 mew = 1, +2762 alpha = 0.2 if singlet else 1, +2763 ) +2764 if highlight and r['Sample'] not in highlight: +2765 kw['alpha'] = 0.2 +2766 ppl.plot(k, 1e3 * r[f'D{self._4x}_residual'], **kw) +2767 x2 = k +2768 x_sessions[session] = (x1+x2)/2 +2769 +2770 ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000, self.repeatability[f'r_D{self._4x}']*1000, color = 'k', alpha = .05, lw = 1) +2771 ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000*self.t95, self.repeatability[f'r_D{self._4x}']*1000*self.t95, color = 'k', alpha = .05, lw = 1) +2772 if not (hist or kde): +2773 ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000, f" SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm", size = 9, alpha = 1, va = 'center') +2774 ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000*self.t95, f" 95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm", size = 9, alpha = 1, va = 'center') +2775 +2776 xmin, xmax, ymin, ymax = ppl.axis() +2777 if yspan != 1: +2778 ymin, ymax = (ymin + ymax)/2 - yspan * (ymax - ymin)/2, (ymin + ymax)/2 + yspan * (ymax - ymin)/2 +2779 for s in x_sessions: +2780 ppl.text( +2781 x_sessions[s], +2782 ymax +1, +2783 s, +2784 va = 'bottom', +2785 **( +2786 dict(ha = 'center') +2787 if len(self.sessions[s]['data']) > (0.15 * len(self)) +2788 else dict(ha = 'left', rotation = 45) +2789 ) +2790 ) +2791 +2792 if hist or kde: +2793 ppl.sca(ax2) +2794 +2795 for s in colors: +2796 kw['marker'] = '+' +2797 kw['ms'] = 5 +2798 kw['mec'] = colors[s] +2799 kw['label'] = s +2800 kw['alpha'] = 1 +2801 ppl.plot([], [], **kw) +2802 +2803 kw['mec'] = (0,0,0) 2804 -2805 if hist or kde: -2806 ppl.sca(ax2) -2807 X = 1e3 * np.array([r[f'D{self._4x}_residual'] for r in self if r['Sample'] in multiplets or r['Sample'] in self.anchors]) -2808 -2809 if kde: -2810 from scipy.stats import gaussian_kde -2811 yi = np.linspace(ymin, ymax, 201) -2812 xi = gaussian_kde(X).evaluate(yi) -2813 ppl.fill_betweenx(yi, xi, xi*0, fc = (0,0,0,.15), lw = 1, ec = (.75,.75,.75,1)) -2814# ppl.plot(xi, yi, 'k-', lw = 1) -2815 elif hist: -2816 ppl.hist( -2817 X, -2818 orientation = 'horizontal', -2819 histtype = 'stepfilled', -2820 ec = [.4]*3, -2821 fc = [.25]*3, -2822 alpha = .25, -2823 bins = np.linspace(-9e3*self.repeatability[f'r_D{self._4x}'], 9e3*self.repeatability[f'r_D{self._4x}'], int(18/binwidth+1)), -2824 ) -2825 ppl.text(0, 0, -2826 f" SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm\n 95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm", -2827 size = 7.5, -2828 alpha = 1, -2829 va = 'center', -2830 ha = 'left', -2831 ) -2832 -2833 ppl.axis([0, None, ymin, ymax]) -2834 ppl.xticks([]) -2835 ppl.yticks([]) -2836# ax2.spines['left'].set_visible(False) -2837 ax2.spines['right'].set_visible(False) -2838 ax2.spines['top'].set_visible(False) -2839 ax2.spines['bottom'].set_visible(False) -2840 -2841 ax1.axis([None, None, ymin, ymax]) -2842 -2843 if not os.path.exists(dir): -2844 os.makedirs(dir) -2845 if filename is None: -2846 return fig -2847 elif filename == '': -2848 filename = f'D{self._4x}_residuals.pdf' -2849 ppl.savefig(f'{dir}/{filename}', dpi = dpi) -2850 ppl.close(fig) -2851 -2852 -2853 def simulate(self, *args, **kwargs): -2854 ''' -2855 Legacy function with warning message pointing to `virtual_data()` -2856 ''' -2857 raise DeprecationWarning('D4xdata.simulate is deprecated and has been replaced by virtual_data()') +2805 if one_or_more_singlets: +2806 kw['marker'] = 'x' +2807 kw['ms'] = 4 +2808 kw['alpha'] = .2 +2809 kw['label'] = 'other (N$\\,$=$\\,$1)' if one_or_more_multiplets else 'other' +2810 ppl.plot([], [], **kw) +2811 +2812 if one_or_more_multiplets: +2813 kw['marker'] = '+' +2814 kw['ms'] = 4 +2815 kw['alpha'] = 1 +2816 kw['label'] = 'other (N$\\,$>$\\,$1)' if one_or_more_singlets else 'other' +2817 ppl.plot([], [], **kw) +2818 +2819 if hist or kde: +2820 leg = ppl.legend(loc = 'upper right', bbox_to_anchor = (1, 1), bbox_transform=fig.transFigure, borderaxespad = 1.5, fontsize = 9) +2821 else: +2822 leg = ppl.legend(loc = 'lower right', bbox_to_anchor = (1, 0), bbox_transform=fig.transFigure, borderaxespad = 1.5) +2823 leg.set_zorder(-1000) +2824 +2825 ppl.sca(ax1) +2826 +2827 ppl.ylabel(f'Δ$_{{{self._4x}}}$ residuals (ppm)') +2828 ppl.xticks([]) +2829 ppl.axis([-1, len(self), None, None]) +2830 +2831 if hist or kde: +2832 ppl.sca(ax2) +2833 X = 1e3 * np.array([r[f'D{self._4x}_residual'] for r in self if r['Sample'] in multiplets or r['Sample'] in self.anchors]) +2834 +2835 if kde: +2836 from scipy.stats import gaussian_kde +2837 yi = np.linspace(ymin, ymax, 201) +2838 xi = gaussian_kde(X).evaluate(yi) +2839 ppl.fill_betweenx(yi, xi, xi*0, fc = (0,0,0,.15), lw = 1, ec = (.75,.75,.75,1)) +2840# ppl.plot(xi, yi, 'k-', lw = 1) +2841 elif hist: +2842 ppl.hist( +2843 X, +2844 orientation = 'horizontal', +2845 histtype = 'stepfilled', +2846 ec = [.4]*3, +2847 fc = [.25]*3, +2848 alpha = .25, +2849 bins = np.linspace(-9e3*self.repeatability[f'r_D{self._4x}'], 9e3*self.repeatability[f'r_D{self._4x}'], int(18/binwidth+1)), +2850 ) +2851 ppl.text(0, 0, +2852 f" SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm\n 95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm", +2853 size = 7.5, +2854 alpha = 1, +2855 va = 'center', +2856 ha = 'left', +2857 ) 2858 -2859 def plot_distribution_of_analyses( -2860 self, -2861 dir = 'output', -2862 filename = None, -2863 vs_time = False, -2864 figsize = (6,4), -2865 subplots_adjust = (0.02, 0.13, 0.85, 0.8), -2866 output = None, -2867 dpi = 100, -2868 ): -2869 ''' -2870 Plot temporal distribution of all analyses in the data set. -2871 -2872 **Parameters** -2873 -2874 + `dir`: the directory in which to save the plot -2875 + `vs_time`: if `True`, plot as a function of `TimeTag` rather than sequentially. -2876 + `dpi`: resolution for PNG output -2877 + `figsize`: (width, height) of figure -2878 + `dpi`: resolution for PNG output -2879 ''' -2880 -2881 asamples = [s for s in self.anchors] -2882 usamples = [s for s in self.unknowns] -2883 if output is None or output == 'fig': -2884 fig = ppl.figure(figsize = figsize) -2885 ppl.subplots_adjust(*subplots_adjust) -2886 Xmin = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self)]) -2887 Xmax = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self)]) -2888 Xmax += (Xmax-Xmin)/40 -2889 Xmin -= (Xmax-Xmin)/41 -2890 for k, s in enumerate(asamples + usamples): -2891 if vs_time: -2892 X = [r['TimeTag'] for r in self if r['Sample'] == s] -2893 else: -2894 X = [x for x,r in enumerate(self) if r['Sample'] == s] -2895 Y = [-k for x in X] -2896 ppl.plot(X, Y, 'o', mec = None, mew = 0, mfc = 'b' if s in usamples else 'r', ms = 3, alpha = .75) -2897 ppl.axhline(-k, color = 'b' if s in usamples else 'r', lw = .5, alpha = .25) -2898 ppl.text(Xmax, -k, f' {s}', va = 'center', ha = 'left', size = 7, color = 'b' if s in usamples else 'r') -2899 ppl.axis([Xmin, Xmax, -k-1, 1]) -2900 ppl.xlabel('\ntime') -2901 ppl.gca().annotate('', -2902 xy = (0.6, -0.02), -2903 xycoords = 'axes fraction', -2904 xytext = (.4, -0.02), -2905 arrowprops = dict(arrowstyle = "->", color = 'k'), -2906 ) -2907 -2908 -2909 x2 = -1 -2910 for session in self.sessions: -2911 x1 = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session]) -2912 if vs_time: -2913 ppl.axvline(x1, color = 'k', lw = .75) -2914 if x2 > -1: -2915 if not vs_time: -2916 ppl.axvline((x1+x2)/2, color = 'k', lw = .75, alpha = .5) -2917 x2 = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session]) -2918# from xlrd import xldate_as_datetime -2919# print(session, xldate_as_datetime(x1, 0), xldate_as_datetime(x2, 0)) -2920 if vs_time: -2921 ppl.axvline(x2, color = 'k', lw = .75) -2922 ppl.axvspan(x1,x2,color = 'k', zorder = -100, alpha = .15) -2923 ppl.text((x1+x2)/2, 1, f' {session}', ha = 'left', va = 'bottom', rotation = 45, size = 8) -2924 -2925 ppl.xticks([]) -2926 ppl.yticks([]) -2927 -2928 if output is None: -2929 if not os.path.exists(dir): -2930 os.makedirs(dir) -2931 if filename == None: -2932 filename = f'D{self._4x}_distribution_of_analyses.pdf' -2933 ppl.savefig(f'{dir}/{filename}', dpi = dpi) -2934 ppl.close(fig) -2935 elif output == 'ax': -2936 return ppl.gca() -2937 elif output == 'fig': -2938 return fig -2939 -2940 -2941 def plot_bulk_compositions( -2942 self, -2943 samples = None, -2944 dir = 'output/bulk_compositions', -2945 figsize = (6,6), -2946 subplots_adjust = (0.15, 0.12, 0.95, 0.92), -2947 show = False, -2948 sample_color = (0,.5,1), -2949 analysis_color = (.7,.7,.7), -2950 labeldist = 0.3, -2951 radius = 0.05, -2952 ): -2953 ''' -2954 Plot δ13C_VBDP vs δ18O_VSMOW (of CO2) for all analyses. -2955 -2956 By default, creates a directory `./output/bulk_compositions` where plots for -2957 each sample are saved. Another plot named `__all__.pdf` shows all analyses together. -2958 -2959 -2960 **Parameters** -2961 -2962 + `samples`: Only these samples are processed (by default: all samples). -2963 + `dir`: where to save the plots -2964 + `figsize`: (width, height) of figure -2965 + `subplots_adjust`: passed to `subplots_adjust()` -2966 + `show`: whether to call `matplotlib.pyplot.show()` on the plot with all samples, -2967 allowing for interactive visualization/exploration in (δ13C, δ18O) space. -2968 + `sample_color`: color used for replicate markers/labels -2969 + `analysis_color`: color used for sample markers/labels -2970 + `labeldist`: distance (in inches) from replicate markers to replicate labels -2971 + `radius`: radius of the dashed circle providing scale. No circle if `radius = 0`. -2972 ''' -2973 -2974 from matplotlib.patches import Ellipse -2975 -2976 if samples is None: -2977 samples = [_ for _ in self.samples] -2978 -2979 saved = {} -2980 -2981 for s in samples: -2982 -2983 fig = ppl.figure(figsize = figsize) -2984 fig.subplots_adjust(*subplots_adjust) -2985 ax = ppl.subplot(111) -2986 ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)') -2987 ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)') -2988 ppl.title(s) -2989 -2990 -2991 XY = np.array([[_['d18O_VSMOW'], _['d13C_VPDB']] for _ in self.samples[s]['data']]) -2992 UID = [_['UID'] for _ in self.samples[s]['data']] -2993 XY0 = XY.mean(0) -2994 -2995 for xy in XY: -2996 ppl.plot([xy[0], XY0[0]], [xy[1], XY0[1]], '-', lw = 1, color = analysis_color) -2997 -2998 ppl.plot(*XY.T, 'wo', mew = 1, mec = analysis_color) -2999 ppl.plot(*XY0, 'wo', mew = 2, mec = sample_color) -3000 ppl.text(*XY0, f' {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold') -3001 saved[s] = [XY, XY0] -3002 -3003 x1, x2, y1, y2 = ppl.axis() -3004 x0, dx = (x1+x2)/2, (x2-x1)/2 -3005 y0, dy = (y1+y2)/2, (y2-y1)/2 -3006 dx, dy = [max(max(dx, dy), radius)]*2 -3007 -3008 ppl.axis([ -3009 x0 - 1.2*dx, -3010 x0 + 1.2*dx, -3011 y0 - 1.2*dy, -3012 y0 + 1.2*dy, -3013 ]) -3014 -3015 XY0_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(XY0)) +2859 ppl.axis([0, None, ymin, ymax]) +2860 ppl.xticks([]) +2861 ppl.yticks([]) +2862# ax2.spines['left'].set_visible(False) +2863 ax2.spines['right'].set_visible(False) +2864 ax2.spines['top'].set_visible(False) +2865 ax2.spines['bottom'].set_visible(False) +2866 +2867 ax1.axis([None, None, ymin, ymax]) +2868 +2869 if not os.path.exists(dir): +2870 os.makedirs(dir) +2871 if filename is None: +2872 return fig +2873 elif filename == '': +2874 filename = f'D{self._4x}_residuals.pdf' +2875 ppl.savefig(f'{dir}/{filename}', dpi = dpi) +2876 ppl.close(fig) +2877 +2878 +2879 def simulate(self, *args, **kwargs): +2880 ''' +2881 Legacy function with warning message pointing to `virtual_data()` +2882 ''' +2883 raise DeprecationWarning('D4xdata.simulate is deprecated and has been replaced by virtual_data()') +2884 +2885 def plot_distribution_of_analyses( +2886 self, +2887 dir = 'output', +2888 filename = None, +2889 vs_time = False, +2890 figsize = (6,4), +2891 subplots_adjust = (0.02, 0.13, 0.85, 0.8), +2892 output = None, +2893 dpi = 100, +2894 ): +2895 ''' +2896 Plot temporal distribution of all analyses in the data set. +2897 +2898 **Parameters** +2899 +2900 + `dir`: the directory in which to save the plot +2901 + `vs_time`: if `True`, plot as a function of `TimeTag` rather than sequentially. +2902 + `dpi`: resolution for PNG output +2903 + `figsize`: (width, height) of figure +2904 + `dpi`: resolution for PNG output +2905 ''' +2906 +2907 asamples = [s for s in self.anchors] +2908 usamples = [s for s in self.unknowns] +2909 if output is None or output == 'fig': +2910 fig = ppl.figure(figsize = figsize) +2911 ppl.subplots_adjust(*subplots_adjust) +2912 Xmin = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self)]) +2913 Xmax = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self)]) +2914 Xmax += (Xmax-Xmin)/40 +2915 Xmin -= (Xmax-Xmin)/41 +2916 for k, s in enumerate(asamples + usamples): +2917 if vs_time: +2918 X = [r['TimeTag'] for r in self if r['Sample'] == s] +2919 else: +2920 X = [x for x,r in enumerate(self) if r['Sample'] == s] +2921 Y = [-k for x in X] +2922 ppl.plot(X, Y, 'o', mec = None, mew = 0, mfc = 'b' if s in usamples else 'r', ms = 3, alpha = .75) +2923 ppl.axhline(-k, color = 'b' if s in usamples else 'r', lw = .5, alpha = .25) +2924 ppl.text(Xmax, -k, f' {s}', va = 'center', ha = 'left', size = 7, color = 'b' if s in usamples else 'r') +2925 ppl.axis([Xmin, Xmax, -k-1, 1]) +2926 ppl.xlabel('\ntime') +2927 ppl.gca().annotate('', +2928 xy = (0.6, -0.02), +2929 xycoords = 'axes fraction', +2930 xytext = (.4, -0.02), +2931 arrowprops = dict(arrowstyle = "->", color = 'k'), +2932 ) +2933 +2934 +2935 x2 = -1 +2936 for session in self.sessions: +2937 x1 = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session]) +2938 if vs_time: +2939 ppl.axvline(x1, color = 'k', lw = .75) +2940 if x2 > -1: +2941 if not vs_time: +2942 ppl.axvline((x1+x2)/2, color = 'k', lw = .75, alpha = .5) +2943 x2 = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session]) +2944# from xlrd import xldate_as_datetime +2945# print(session, xldate_as_datetime(x1, 0), xldate_as_datetime(x2, 0)) +2946 if vs_time: +2947 ppl.axvline(x2, color = 'k', lw = .75) +2948 ppl.axvspan(x1,x2,color = 'k', zorder = -100, alpha = .15) +2949 ppl.text((x1+x2)/2, 1, f' {session}', ha = 'left', va = 'bottom', rotation = 45, size = 8) +2950 +2951 ppl.xticks([]) +2952 ppl.yticks([]) +2953 +2954 if output is None: +2955 if not os.path.exists(dir): +2956 os.makedirs(dir) +2957 if filename == None: +2958 filename = f'D{self._4x}_distribution_of_analyses.pdf' +2959 ppl.savefig(f'{dir}/{filename}', dpi = dpi) +2960 ppl.close(fig) +2961 elif output == 'ax': +2962 return ppl.gca() +2963 elif output == 'fig': +2964 return fig +2965 +2966 +2967 def plot_bulk_compositions( +2968 self, +2969 samples = None, +2970 dir = 'output/bulk_compositions', +2971 figsize = (6,6), +2972 subplots_adjust = (0.15, 0.12, 0.95, 0.92), +2973 show = False, +2974 sample_color = (0,.5,1), +2975 analysis_color = (.7,.7,.7), +2976 labeldist = 0.3, +2977 radius = 0.05, +2978 ): +2979 ''' +2980 Plot δ13C_VBDP vs δ18O_VSMOW (of CO2) for all analyses. +2981 +2982 By default, creates a directory `./output/bulk_compositions` where plots for +2983 each sample are saved. Another plot named `__all__.pdf` shows all analyses together. +2984 +2985 +2986 **Parameters** +2987 +2988 + `samples`: Only these samples are processed (by default: all samples). +2989 + `dir`: where to save the plots +2990 + `figsize`: (width, height) of figure +2991 + `subplots_adjust`: passed to `subplots_adjust()` +2992 + `show`: whether to call `matplotlib.pyplot.show()` on the plot with all samples, +2993 allowing for interactive visualization/exploration in (δ13C, δ18O) space. +2994 + `sample_color`: color used for replicate markers/labels +2995 + `analysis_color`: color used for sample markers/labels +2996 + `labeldist`: distance (in inches) from replicate markers to replicate labels +2997 + `radius`: radius of the dashed circle providing scale. No circle if `radius = 0`. +2998 ''' +2999 +3000 from matplotlib.patches import Ellipse +3001 +3002 if samples is None: +3003 samples = [_ for _ in self.samples] +3004 +3005 saved = {} +3006 +3007 for s in samples: +3008 +3009 fig = ppl.figure(figsize = figsize) +3010 fig.subplots_adjust(*subplots_adjust) +3011 ax = ppl.subplot(111) +3012 ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)') +3013 ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)') +3014 ppl.title(s) +3015 3016 -3017 for xy, uid in zip(XY, UID): -3018 -3019 xy_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(xy)) -3020 vector_in_display_space = xy_in_display_space - XY0_in_display_space -3021 -3022 if (vector_in_display_space**2).sum() > 0: -3023 -3024 unit_vector_in_display_space = vector_in_display_space / ((vector_in_display_space**2).sum())**0.5 -3025 label_vector_in_display_space = vector_in_display_space + unit_vector_in_display_space * labeldist -3026 label_xy_in_display_space = XY0_in_display_space + label_vector_in_display_space -3027 label_xy_in_data_space = ax.transData.inverted().transform(fig.dpi_scale_trans.transform(label_xy_in_display_space)) -3028 -3029 ppl.text(*label_xy_in_data_space, uid, va = 'center', ha = 'center', color = analysis_color) -3030 -3031 else: -3032 -3033 ppl.text(*xy, f'{uid} ', va = 'center', ha = 'right', color = analysis_color) -3034 -3035 if radius: -3036 ax.add_artist(Ellipse( -3037 xy = XY0, -3038 width = radius*2, -3039 height = radius*2, -3040 ls = (0, (2,2)), -3041 lw = .7, -3042 ec = analysis_color, -3043 fc = 'None', -3044 )) -3045 ppl.text( -3046 XY0[0], -3047 XY0[1]-radius, -3048 f'\n± {radius*1e3:.0f} ppm', -3049 color = analysis_color, -3050 va = 'top', -3051 ha = 'center', -3052 linespacing = 0.4, -3053 size = 8, -3054 ) -3055 -3056 if not os.path.exists(dir): -3057 os.makedirs(dir) -3058 fig.savefig(f'{dir}/{s}.pdf') -3059 ppl.close(fig) +3017 XY = np.array([[_['d18O_VSMOW'], _['d13C_VPDB']] for _ in self.samples[s]['data']]) +3018 UID = [_['UID'] for _ in self.samples[s]['data']] +3019 XY0 = XY.mean(0) +3020 +3021 for xy in XY: +3022 ppl.plot([xy[0], XY0[0]], [xy[1], XY0[1]], '-', lw = 1, color = analysis_color) +3023 +3024 ppl.plot(*XY.T, 'wo', mew = 1, mec = analysis_color) +3025 ppl.plot(*XY0, 'wo', mew = 2, mec = sample_color) +3026 ppl.text(*XY0, f' {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold') +3027 saved[s] = [XY, XY0] +3028 +3029 x1, x2, y1, y2 = ppl.axis() +3030 x0, dx = (x1+x2)/2, (x2-x1)/2 +3031 y0, dy = (y1+y2)/2, (y2-y1)/2 +3032 dx, dy = [max(max(dx, dy), radius)]*2 +3033 +3034 ppl.axis([ +3035 x0 - 1.2*dx, +3036 x0 + 1.2*dx, +3037 y0 - 1.2*dy, +3038 y0 + 1.2*dy, +3039 ]) +3040 +3041 XY0_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(XY0)) +3042 +3043 for xy, uid in zip(XY, UID): +3044 +3045 xy_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(xy)) +3046 vector_in_display_space = xy_in_display_space - XY0_in_display_space +3047 +3048 if (vector_in_display_space**2).sum() > 0: +3049 +3050 unit_vector_in_display_space = vector_in_display_space / ((vector_in_display_space**2).sum())**0.5 +3051 label_vector_in_display_space = vector_in_display_space + unit_vector_in_display_space * labeldist +3052 label_xy_in_display_space = XY0_in_display_space + label_vector_in_display_space +3053 label_xy_in_data_space = ax.transData.inverted().transform(fig.dpi_scale_trans.transform(label_xy_in_display_space)) +3054 +3055 ppl.text(*label_xy_in_data_space, uid, va = 'center', ha = 'center', color = analysis_color) +3056 +3057 else: +3058 +3059 ppl.text(*xy, f'{uid} ', va = 'center', ha = 'right', color = analysis_color) 3060 -3061 fig = ppl.figure(figsize = figsize) -3062 fig.subplots_adjust(*subplots_adjust) -3063 ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)') -3064 ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)') -3065 -3066 for s in saved: -3067 for xy in saved[s][0]: -3068 ppl.plot([xy[0], saved[s][1][0]], [xy[1], saved[s][1][1]], '-', lw = 1, color = analysis_color) -3069 ppl.plot(*saved[s][0].T, 'wo', mew = 1, mec = analysis_color) -3070 ppl.plot(*saved[s][1], 'wo', mew = 1.5, mec = sample_color) -3071 ppl.text(*saved[s][1], f' {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold') -3072 -3073 x1, x2, y1, y2 = ppl.axis() -3074 ppl.axis([ -3075 x1 - (x2-x1)/10, -3076 x2 + (x2-x1)/10, -3077 y1 - (y2-y1)/10, -3078 y2 + (y2-y1)/10, -3079 ]) -3080 +3061 if radius: +3062 ax.add_artist(Ellipse( +3063 xy = XY0, +3064 width = radius*2, +3065 height = radius*2, +3066 ls = (0, (2,2)), +3067 lw = .7, +3068 ec = analysis_color, +3069 fc = 'None', +3070 )) +3071 ppl.text( +3072 XY0[0], +3073 XY0[1]-radius, +3074 f'\n± {radius*1e3:.0f} ppm', +3075 color = analysis_color, +3076 va = 'top', +3077 ha = 'center', +3078 linespacing = 0.4, +3079 size = 8, +3080 ) 3081 -3082 if not os.path.exists(dir): -3083 os.makedirs(dir) -3084 fig.savefig(f'{dir}/__all__.pdf') -3085 if show: -3086 ppl.show() -3087 ppl.close(fig) -3088 -3089 -3090 def _save_D4x_correl( -3091 self, -3092 samples = None, -3093 dir = 'output', -3094 filename = None, -3095 D4x_precision = 4, -3096 correl_precision = 4, -3097 ): -3098 ''' -3099 Save D4x values along with their SE and correlation matrix. -3100 -3101 **Parameters** -3102 -3103 + `samples`: Only these samples are output (by default: all samples). -3104 + `dir`: the directory in which to save the faile (by defaut: `output`) -3105 + `filename`: the name to the csv file to write to (by default: `D4x_correl.csv`) -3106 + `D4x_precision`: the precision to use when writing `D4x` and `D4x_SE` values (by default: 4) -3107 + `correl_precision`: the precision to use when writing correlation factor values (by default: 4) -3108 ''' -3109 if samples is None: -3110 samples = sorted([s for s in self.unknowns]) -3111 -3112 out = [['Sample']] + [[s] for s in samples] -3113 out[0] += [f'D{self._4x}', f'D{self._4x}_SE', f'D{self._4x}_correl'] -3114 for k,s in enumerate(samples): -3115 out[k+1] += [f'{self.samples[s][f"D{self._4x}"]:.4f}', f'{self.samples[s][f"SE_D{self._4x}"]:.4f}'] -3116 for s2 in samples: -3117 out[k+1] += [f'{self.sample_D4x_correl(s,s2):.4f}'] -3118 -3119 if not os.path.exists(dir): -3120 os.makedirs(dir) -3121 if filename is None: -3122 filename = f'D{self._4x}_correl.csv' -3123 with open(f'{dir}/{filename}', 'w') as fid: -3124 fid.write(make_csv(out)) -3125 -3126 -3127 +3082 if not os.path.exists(dir): +3083 os.makedirs(dir) +3084 fig.savefig(f'{dir}/{s}.pdf') +3085 ppl.close(fig) +3086 +3087 fig = ppl.figure(figsize = figsize) +3088 fig.subplots_adjust(*subplots_adjust) +3089 ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)') +3090 ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)') +3091 +3092 for s in saved: +3093 for xy in saved[s][0]: +3094 ppl.plot([xy[0], saved[s][1][0]], [xy[1], saved[s][1][1]], '-', lw = 1, color = analysis_color) +3095 ppl.plot(*saved[s][0].T, 'wo', mew = 1, mec = analysis_color) +3096 ppl.plot(*saved[s][1], 'wo', mew = 1.5, mec = sample_color) +3097 ppl.text(*saved[s][1], f' {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold') +3098 +3099 x1, x2, y1, y2 = ppl.axis() +3100 ppl.axis([ +3101 x1 - (x2-x1)/10, +3102 x2 + (x2-x1)/10, +3103 y1 - (y2-y1)/10, +3104 y2 + (y2-y1)/10, +3105 ]) +3106 +3107 +3108 if not os.path.exists(dir): +3109 os.makedirs(dir) +3110 fig.savefig(f'{dir}/__all__.pdf') +3111 if show: +3112 ppl.show() +3113 ppl.close(fig) +3114 +3115 +3116 def _save_D4x_correl( +3117 self, +3118 samples = None, +3119 dir = 'output', +3120 filename = None, +3121 D4x_precision = 4, +3122 correl_precision = 4, +3123 ): +3124 ''' +3125 Save D4x values along with their SE and correlation matrix. +3126 +3127 **Parameters** 3128 -3129class D47data(D4xdata): -3130 ''' -3131 Store and process data for a large set of Δ47 analyses, -3132 usually comprising more than one analytical session. -3133 ''' -3134 -3135 Nominal_D4x = { -3136 'ETH-1': 0.2052, -3137 'ETH-2': 0.2085, -3138 'ETH-3': 0.6132, -3139 'ETH-4': 0.4511, -3140 'IAEA-C1': 0.3018, -3141 'IAEA-C2': 0.6409, -3142 'MERCK': 0.5135, -3143 } # I-CDES (Bernasconi et al., 2021) -3144 ''' -3145 Nominal Δ47 values assigned to the Δ47 anchor samples, used by -3146 `D47data.standardize()` to normalize unknown samples to an absolute Δ47 -3147 reference frame. -3148 -3149 By default equal to (after [Bernasconi et al. (2021)](https://doi.org/10.1029/2020GC009588)): -3150 ```py -3151 { -3152 'ETH-1' : 0.2052, -3153 'ETH-2' : 0.2085, -3154 'ETH-3' : 0.6132, -3155 'ETH-4' : 0.4511, -3156 'IAEA-C1' : 0.3018, -3157 'IAEA-C2' : 0.6409, -3158 'MERCK' : 0.5135, -3159 } -3160 ``` -3161 ''' -3162 -3163 -3164 @property -3165 def Nominal_D47(self): -3166 return self.Nominal_D4x -3167 -3168 -3169 @Nominal_D47.setter -3170 def Nominal_D47(self, new): -3171 self.Nominal_D4x = dict(**new) -3172 self.refresh() -3173 +3129 + `samples`: Only these samples are output (by default: all samples). +3130 + `dir`: the directory in which to save the faile (by defaut: `output`) +3131 + `filename`: the name to the csv file to write to (by default: `D4x_correl.csv`) +3132 + `D4x_precision`: the precision to use when writing `D4x` and `D4x_SE` values (by default: 4) +3133 + `correl_precision`: the precision to use when writing correlation factor values (by default: 4) +3134 ''' +3135 if samples is None: +3136 samples = sorted([s for s in self.unknowns]) +3137 +3138 out = [['Sample']] + [[s] for s in samples] +3139 out[0] += [f'D{self._4x}', f'D{self._4x}_SE', f'D{self._4x}_correl'] +3140 for k,s in enumerate(samples): +3141 out[k+1] += [f'{self.samples[s][f"D{self._4x}"]:.4f}', f'{self.samples[s][f"SE_D{self._4x}"]:.4f}'] +3142 for s2 in samples: +3143 out[k+1] += [f'{self.sample_D4x_correl(s,s2):.4f}'] +3144 +3145 if not os.path.exists(dir): +3146 os.makedirs(dir) +3147 if filename is None: +3148 filename = f'D{self._4x}_correl.csv' +3149 with open(f'{dir}/{filename}', 'w') as fid: +3150 fid.write(make_csv(out)) +3151 +3152 +3153 +3154 +3155class D47data(D4xdata): +3156 ''' +3157 Store and process data for a large set of Δ47 analyses, +3158 usually comprising more than one analytical session. +3159 ''' +3160 +3161 Nominal_D4x = { +3162 'ETH-1': 0.2052, +3163 'ETH-2': 0.2085, +3164 'ETH-3': 0.6132, +3165 'ETH-4': 0.4511, +3166 'IAEA-C1': 0.3018, +3167 'IAEA-C2': 0.6409, +3168 'MERCK': 0.5135, +3169 } # I-CDES (Bernasconi et al., 2021) +3170 ''' +3171 Nominal Δ47 values assigned to the Δ47 anchor samples, used by +3172 `D47data.standardize()` to normalize unknown samples to an absolute Δ47 +3173 reference frame. 3174 -3175 def __init__(self, l = [], **kwargs): -3176 ''' -3177 **Parameters:** same as `D4xdata.__init__()` -3178 ''' -3179 D4xdata.__init__(self, l = l, mass = '47', **kwargs) -3180 -3181 -3182 def D47fromTeq(self, fCo2eqD47 = 'petersen', priority = 'new'): -3183 ''' -3184 Find all samples for which `Teq` is specified, compute equilibrium Δ47 -3185 value for that temperature, and add treat these samples as additional anchors. -3186 -3187 **Parameters** +3175 By default equal to (after [Bernasconi et al. (2021)](https://doi.org/10.1029/2020GC009588)): +3176 ```py +3177 { +3178 'ETH-1' : 0.2052, +3179 'ETH-2' : 0.2085, +3180 'ETH-3' : 0.6132, +3181 'ETH-4' : 0.4511, +3182 'IAEA-C1' : 0.3018, +3183 'IAEA-C2' : 0.6409, +3184 'MERCK' : 0.5135, +3185 } +3186 ``` +3187 ''' 3188 -3189 + `fCo2eqD47`: Which CO2 equilibrium law to use -3190 (`petersen`: [Petersen et al. (2019)](https://doi.org/10.1029/2018GC008127); -3191 `wang`: [Wang et al. (2019)](https://doi.org/10.1016/j.gca.2004.05.039)). -3192 + `priority`: if `replace`: forget old anchors and only use the new ones; -3193 if `new`: keep pre-existing anchors but update them in case of conflict -3194 between old and new Δ47 values; -3195 if `old`: keep pre-existing anchors but preserve their original Δ47 -3196 values in case of conflict. -3197 ''' -3198 f = { -3199 'petersen': fCO2eqD47_Petersen, -3200 'wang': fCO2eqD47_Wang, -3201 }[fCo2eqD47] -3202 foo = {} -3203 for r in self: -3204 if 'Teq' in r: -3205 if r['Sample'] in foo: -3206 assert foo[r['Sample']] == f(r['Teq']), f'Different values of `Teq` provided for sample `{r["Sample"]}`.' -3207 else: -3208 foo[r['Sample']] = f(r['Teq']) -3209 else: -3210 assert r['Sample'] not in foo, f'`Teq` is inconsistently specified for sample `{r["Sample"]}`.' -3211 -3212 if priority == 'replace': -3213 self.Nominal_D47 = {} -3214 for s in foo: -3215 if priority != 'old' or s not in self.Nominal_D47: -3216 self.Nominal_D47[s] = foo[s] -3217 -3218 def save_D47_correl(self, *args, **kwargs): -3219 return self._save_D4x_correl(*args, **kwargs) -3220 -3221 save_D47_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D47') -3222 -3223 -3224class D48data(D4xdata): -3225 ''' -3226 Store and process data for a large set of Δ48 analyses, -3227 usually comprising more than one analytical session. -3228 ''' -3229 -3230 Nominal_D4x = { -3231 'ETH-1': 0.138, -3232 'ETH-2': 0.138, -3233 'ETH-3': 0.270, -3234 'ETH-4': 0.223, -3235 'GU-1': -0.419, -3236 } # (Fiebig et al., 2019, 2021) -3237 ''' -3238 Nominal Δ48 values assigned to the Δ48 anchor samples, used by -3239 `D48data.standardize()` to normalize unknown samples to an absolute Δ48 -3240 reference frame. -3241 -3242 By default equal to (after [Fiebig et al. (2019)](https://doi.org/10.1016/j.chemgeo.2019.05.019), -3243 [Fiebig et al. (2021)](https://doi.org/10.1016/j.gca.2021.07.012)): -3244 -3245 ```py -3246 { -3247 'ETH-1' : 0.138, -3248 'ETH-2' : 0.138, -3249 'ETH-3' : 0.270, -3250 'ETH-4' : 0.223, -3251 'GU-1' : -0.419, -3252 } -3253 ``` +3189 +3190 @property +3191 def Nominal_D47(self): +3192 return self.Nominal_D4x +3193 +3194 +3195 @Nominal_D47.setter +3196 def Nominal_D47(self, new): +3197 self.Nominal_D4x = dict(**new) +3198 self.refresh() +3199 +3200 +3201 def __init__(self, l = [], **kwargs): +3202 ''' +3203 **Parameters:** same as `D4xdata.__init__()` +3204 ''' +3205 D4xdata.__init__(self, l = l, mass = '47', **kwargs) +3206 +3207 +3208 def D47fromTeq(self, fCo2eqD47 = 'petersen', priority = 'new'): +3209 ''' +3210 Find all samples for which `Teq` is specified, compute equilibrium Δ47 +3211 value for that temperature, and add treat these samples as additional anchors. +3212 +3213 **Parameters** +3214 +3215 + `fCo2eqD47`: Which CO2 equilibrium law to use +3216 (`petersen`: [Petersen et al. (2019)](https://doi.org/10.1029/2018GC008127); +3217 `wang`: [Wang et al. (2019)](https://doi.org/10.1016/j.gca.2004.05.039)). +3218 + `priority`: if `replace`: forget old anchors and only use the new ones; +3219 if `new`: keep pre-existing anchors but update them in case of conflict +3220 between old and new Δ47 values; +3221 if `old`: keep pre-existing anchors but preserve their original Δ47 +3222 values in case of conflict. +3223 ''' +3224 f = { +3225 'petersen': fCO2eqD47_Petersen, +3226 'wang': fCO2eqD47_Wang, +3227 }[fCo2eqD47] +3228 foo = {} +3229 for r in self: +3230 if 'Teq' in r: +3231 if r['Sample'] in foo: +3232 assert foo[r['Sample']] == f(r['Teq']), f'Different values of `Teq` provided for sample `{r["Sample"]}`.' +3233 else: +3234 foo[r['Sample']] = f(r['Teq']) +3235 else: +3236 assert r['Sample'] not in foo, f'`Teq` is inconsistently specified for sample `{r["Sample"]}`.' +3237 +3238 if priority == 'replace': +3239 self.Nominal_D47 = {} +3240 for s in foo: +3241 if priority != 'old' or s not in self.Nominal_D47: +3242 self.Nominal_D47[s] = foo[s] +3243 +3244 def save_D47_correl(self, *args, **kwargs): +3245 return self._save_D4x_correl(*args, **kwargs) +3246 +3247 save_D47_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D47') +3248 +3249 +3250class D48data(D4xdata): +3251 ''' +3252 Store and process data for a large set of Δ48 analyses, +3253 usually comprising more than one analytical session. 3254 ''' 3255 -3256 -3257 @property -3258 def Nominal_D48(self): -3259 return self.Nominal_D4x -3260 -3261 -3262 @Nominal_D48.setter -3263 def Nominal_D48(self, new): -3264 self.Nominal_D4x = dict(**new) -3265 self.refresh() -3266 +3256 Nominal_D4x = { +3257 'ETH-1': 0.138, +3258 'ETH-2': 0.138, +3259 'ETH-3': 0.270, +3260 'ETH-4': 0.223, +3261 'GU-1': -0.419, +3262 } # (Fiebig et al., 2019, 2021) +3263 ''' +3264 Nominal Δ48 values assigned to the Δ48 anchor samples, used by +3265 `D48data.standardize()` to normalize unknown samples to an absolute Δ48 +3266 reference frame. 3267 -3268 def __init__(self, l = [], **kwargs): -3269 ''' -3270 **Parameters:** same as `D4xdata.__init__()` -3271 ''' -3272 D4xdata.__init__(self, l = l, mass = '48', **kwargs) -3273 -3274 def save_D48_correl(self, *args, **kwargs): -3275 return self._save_D4x_correl(*args, **kwargs) -3276 -3277 save_D48_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D48') -3278 -3279 -3280class D49data(D4xdata): -3281 ''' -3282 Store and process data for a large set of Δ49 analyses, -3283 usually comprising more than one analytical session. -3284 ''' -3285 -3286 Nominal_D4x = {"1000C": 0.0, "25C": 2.228} # Wang 2004 -3287 ''' -3288 Nominal Δ49 values assigned to the Δ49 anchor samples, used by -3289 `D49data.standardize()` to normalize unknown samples to an absolute Δ49 -3290 reference frame. -3291 -3292 By default equal to (after [Wang et al. (2004)](https://doi.org/10.1016/j.gca.2004.05.039)): +3268 By default equal to (after [Fiebig et al. (2019)](https://doi.org/10.1016/j.chemgeo.2019.05.019), +3269 [Fiebig et al. (2021)](https://doi.org/10.1016/j.gca.2021.07.012)): +3270 +3271 ```py +3272 { +3273 'ETH-1' : 0.138, +3274 'ETH-2' : 0.138, +3275 'ETH-3' : 0.270, +3276 'ETH-4' : 0.223, +3277 'GU-1' : -0.419, +3278 } +3279 ``` +3280 ''' +3281 +3282 +3283 @property +3284 def Nominal_D48(self): +3285 return self.Nominal_D4x +3286 +3287 +3288 @Nominal_D48.setter +3289 def Nominal_D48(self, new): +3290 self.Nominal_D4x = dict(**new) +3291 self.refresh() +3292 3293 -3294 ```py -3295 { -3296 "1000C": 0.0, -3297 "25C": 2.228 -3298 } -3299 ``` -3300 ''' -3301 -3302 @property -3303 def Nominal_D49(self): -3304 return self.Nominal_D4x -3305 -3306 @Nominal_D49.setter -3307 def Nominal_D49(self, new): -3308 self.Nominal_D4x = dict(**new) -3309 self.refresh() -3310 -3311 def __init__(self, l=[], **kwargs): -3312 ''' -3313 **Parameters:** same as `D4xdata.__init__()` -3314 ''' -3315 D4xdata.__init__(self, l=l, mass='49', **kwargs) -3316 -3317 def save_D49_correl(self, *args, **kwargs): -3318 return self._save_D4x_correl(*args, **kwargs) -3319 -3320 save_D49_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D49') -3321 -3322class _SessionPlot(): -3323 ''' -3324 Simple placeholder class -3325 ''' -3326 def __init__(self): -3327 pass -3328 -3329_app = typer.Typer( -3330 add_completion = False, -3331 context_settings={'help_option_names': ['-h', '--help']}, -3332 rich_markup_mode = 'rich', -3333 ) -3334 -3335@_app.command() -3336def _cli( -3337 rawdata: Annotated[str, typer.Argument(help = "Specify the path of a rawdata input file")], -3338 exclude: Annotated[str, typer.Option('--exclude', '-e', help = 'The path of a file specifying UIDs and/or Samples to exclude')] = 'none', -3339 anchors: Annotated[str, typer.Option('--anchors', '-a', help = 'The path of a file specifying custom anchors')] = 'none', -3340 output_dir: Annotated[str, typer.Option('--output-dir', '-o', help = 'Specify the output directory')] = 'output', -3341 run_D48: Annotated[bool, typer.Option('--D48', help = 'Also standardize D48')] = False, -3342 ): -3343 """ -3344 Process raw D47 data and return standardized results. -3345 -3346 See [b]https://mdaeron.github.io/D47crunch/#3-command-line-interface-cli[/b] for more details. -3347 -3348 Reads raw data from an input file, optionally excluding some samples and/or analyses, thean standardizes -3349 the data based either on the default [b]d13C_VDPB[/b], [b]d18O_VPDB[/b], [b]D47[/b], and [b]D48[/b] anchors or on different -3350 user-specified anchors. A new directory (named `output` by default) is created to store the results and -3351 the following sequence is applied: -3352 -3353 * [b]D47data.wg()[/b] -3354 * [b]D47data.crunch()[/b] -3355 * [b]D47data.standardize()[/b] -3356 * [b]D47data.summary()[/b] -3357 * [b]D47data.table_of_samples()[/b] -3358 * [b]D47data.table_of_sessions()[/b] -3359 * [b]D47data.plot_sessions()[/b] -3360 * [b]D47data.plot_residuals()[/b] -3361 * [b]D47data.table_of_analyses()[/b] -3362 * [b]D47data.plot_distribution_of_analyses()[/b] -3363 * [b]D47data.plot_bulk_compositions()[/b] -3364 * [b]D47data.save_D47_correl()[/b] -3365 -3366 Optionally, also apply similar methods for [b]]D48[/b]. -3367 -3368 [b]Example CSV file for --anchors option:[/b] -3369 [i] -3370 Sample, d13C_VPDB, d18O_VPDB, D47, D48 -3371 ETH-1, 2.02, -2.19, 0.2052, 0.138 -3372 ETH-2, -10.17, -18.69, 0.2085, 0.138 -3373 ETH-3, 1.71, -1.78, 0.6132, 0.270 -3374 ETH-4, , , 0.4511, 0.223 -3375 [/i] -3376 Except for [i]Sample[/i], none of the columns above are mandatory. -3377 -3378 [b]Example CSV file for --exclude option:[/b] -3379 [i] -3380 Sample, UID -3381 FOO-1, -3382 BAR-2, -3383 , A04 -3384 , A17 -3385 , A88 -3386 [/i] -3387 This will exclude all analyses of samples [i]FOO-1[/i] and [i]BAR-2[/i], -3388 and the analyses with UIDs [i]A04[/i], [i]A17[/i], and [i]A88[/i]. -3389 Neither column is mandatory. -3390 """ -3391 -3392 data = D47data() -3393 data.read(rawdata) -3394 -3395 if exclude != 'none': -3396 exclude = read_csv(exclude) -3397 exclude_uid = {r['UID'] for r in exclude if 'UID' in r} -3398 exclude_sample = {r['Sample'] for r in exclude if 'Sample' in r} -3399 else: -3400 exclude_uid = [] -3401 exclude_sample = [] -3402 -3403 data = D47data([r for r in data if r['UID'] not in exclude_uid and r['Sample'] not in exclude_sample]) -3404 -3405 if anchors != 'none': -3406 anchors = read_csv(anchors) -3407 if len([_ for _ in anchors if 'd13C_VPDB' in _]): -3408 data.Nominal_d13C_VPDB = { -3409 _['Sample']: _['d13C_VPDB'] -3410 for _ in anchors -3411 if 'd13C_VPDB' in _ -3412 } -3413 if len([_ for _ in anchors if 'd18O_VPDB' in _]): -3414 data.Nominal_d18O_VPDB = { -3415 _['Sample']: _['d18O_VPDB'] -3416 for _ in anchors -3417 if 'd18O_VPDB' in _ -3418 } -3419 if len([_ for _ in anchors if 'D47' in _]): -3420 data.Nominal_D4x = { -3421 _['Sample']: _['D47'] -3422 for _ in anchors -3423 if 'D47' in _ -3424 } -3425 -3426 data.refresh() -3427 data.wg() -3428 data.crunch() -3429 data.standardize() -3430 data.summary(dir = output_dir) -3431 data.plot_residuals(dir = output_dir, filename = 'D47_residuals.pdf', kde = True) -3432 data.plot_bulk_compositions(dir = output_dir + '/bulk_compositions') -3433 data.plot_sessions(dir = output_dir) -3434 data.save_D47_correl(dir = output_dir) -3435 -3436 if not run_D48: -3437 data.table_of_samples(dir = output_dir) -3438 data.table_of_analyses(dir = output_dir) -3439 data.table_of_sessions(dir = output_dir) -3440 -3441 -3442 if run_D48: -3443 data2 = D48data() -3444 print(rawdata) -3445 data2.read(rawdata) -3446 -3447 data2 = D48data([r for r in data2 if r['UID'] not in exclude_uid and r['Sample'] not in exclude_sample]) -3448 -3449 if anchors != 'none': -3450 if len([_ for _ in anchors if 'd13C_VPDB' in _]): -3451 data2.Nominal_d13C_VPDB = { -3452 _['Sample']: _['d13C_VPDB'] -3453 for _ in anchors -3454 if 'd13C_VPDB' in _ -3455 } -3456 if len([_ for _ in anchors if 'd18O_VPDB' in _]): -3457 data2.Nominal_d18O_VPDB = { -3458 _['Sample']: _['d18O_VPDB'] -3459 for _ in anchors -3460 if 'd18O_VPDB' in _ -3461 } -3462 if len([_ for _ in anchors if 'D48' in _]): -3463 data2.Nominal_D4x = { -3464 _['Sample']: _['D48'] -3465 for _ in anchors -3466 if 'D48' in _ -3467 } -3468 -3469 data2.refresh() -3470 data2.wg() -3471 data2.crunch() -3472 data2.standardize() -3473 data2.summary(dir = output_dir) -3474 data2.plot_sessions(dir = output_dir) -3475 data2.plot_residuals(dir = output_dir, filename = 'D48_residuals.pdf', kde = True) -3476 data2.plot_distribution_of_analyses(dir = output_dir) -3477 data2.save_D48_correl(dir = output_dir) -3478 -3479 table_of_analyses(data, data2, dir = output_dir) -3480 table_of_samples(data, data2, dir = output_dir) -3481 table_of_sessions(data, data2, dir = output_dir) -3482 -3483def __cli(): -3484 _app() +3294 def __init__(self, l = [], **kwargs): +3295 ''' +3296 **Parameters:** same as `D4xdata.__init__()` +3297 ''' +3298 D4xdata.__init__(self, l = l, mass = '48', **kwargs) +3299 +3300 def save_D48_correl(self, *args, **kwargs): +3301 return self._save_D4x_correl(*args, **kwargs) +3302 +3303 save_D48_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D48') +3304 +3305 +3306class D49data(D4xdata): +3307 ''' +3308 Store and process data for a large set of Δ49 analyses, +3309 usually comprising more than one analytical session. +3310 ''' +3311 +3312 Nominal_D4x = {"1000C": 0.0, "25C": 2.228} # Wang 2004 +3313 ''' +3314 Nominal Δ49 values assigned to the Δ49 anchor samples, used by +3315 `D49data.standardize()` to normalize unknown samples to an absolute Δ49 +3316 reference frame. +3317 +3318 By default equal to (after [Wang et al. (2004)](https://doi.org/10.1016/j.gca.2004.05.039)): +3319 +3320 ```py +3321 { +3322 "1000C": 0.0, +3323 "25C": 2.228 +3324 } +3325 ``` +3326 ''' +3327 +3328 @property +3329 def Nominal_D49(self): +3330 return self.Nominal_D4x +3331 +3332 @Nominal_D49.setter +3333 def Nominal_D49(self, new): +3334 self.Nominal_D4x = dict(**new) +3335 self.refresh() +3336 +3337 def __init__(self, l=[], **kwargs): +3338 ''' +3339 **Parameters:** same as `D4xdata.__init__()` +3340 ''' +3341 D4xdata.__init__(self, l=l, mass='49', **kwargs) +3342 +3343 def save_D49_correl(self, *args, **kwargs): +3344 return self._save_D4x_correl(*args, **kwargs) +3345 +3346 save_D49_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D49') +3347 +3348class _SessionPlot(): +3349 ''' +3350 Simple placeholder class +3351 ''' +3352 def __init__(self): +3353 pass +3354 +3355_app = typer.Typer( +3356 add_completion = False, +3357 context_settings={'help_option_names': ['-h', '--help']}, +3358 rich_markup_mode = 'rich', +3359 ) +3360 +3361@_app.command() +3362def _cli( +3363 rawdata: Annotated[str, typer.Argument(help = "Specify the path of a rawdata input file")], +3364 exclude: Annotated[str, typer.Option('--exclude', '-e', help = 'The path of a file specifying UIDs and/or Samples to exclude')] = 'none', +3365 anchors: Annotated[str, typer.Option('--anchors', '-a', help = 'The path of a file specifying custom anchors')] = 'none', +3366 output_dir: Annotated[str, typer.Option('--output-dir', '-o', help = 'Specify the output directory')] = 'output', +3367 run_D48: Annotated[bool, typer.Option('--D48', help = 'Also standardize D48')] = False, +3368 ): +3369 """ +3370 Process raw D47 data and return standardized results. +3371 +3372 See [b]https://mdaeron.github.io/D47crunch/#3-command-line-interface-cli[/b] for more details. +3373 +3374 Reads raw data from an input file, optionally excluding some samples and/or analyses, thean standardizes +3375 the data based either on the default [b]d13C_VDPB[/b], [b]d18O_VPDB[/b], [b]D47[/b], and [b]D48[/b] anchors or on different +3376 user-specified anchors. A new directory (named `output` by default) is created to store the results and +3377 the following sequence is applied: +3378 +3379 * [b]D47data.wg()[/b] +3380 * [b]D47data.crunch()[/b] +3381 * [b]D47data.standardize()[/b] +3382 * [b]D47data.summary()[/b] +3383 * [b]D47data.table_of_samples()[/b] +3384 * [b]D47data.table_of_sessions()[/b] +3385 * [b]D47data.plot_sessions()[/b] +3386 * [b]D47data.plot_residuals()[/b] +3387 * [b]D47data.table_of_analyses()[/b] +3388 * [b]D47data.plot_distribution_of_analyses()[/b] +3389 * [b]D47data.plot_bulk_compositions()[/b] +3390 * [b]D47data.save_D47_correl()[/b] +3391 +3392 Optionally, also apply similar methods for [b]]D48[/b]. +3393 +3394 [b]Example CSV file for --anchors option:[/b] +3395 [i] +3396 Sample, d13C_VPDB, d18O_VPDB, D47, D48 +3397 ETH-1, 2.02, -2.19, 0.2052, 0.138 +3398 ETH-2, -10.17, -18.69, 0.2085, 0.138 +3399 ETH-3, 1.71, -1.78, 0.6132, 0.270 +3400 ETH-4, , , 0.4511, 0.223 +3401 [/i] +3402 Except for [i]Sample[/i], none of the columns above are mandatory. +3403 +3404 [b]Example CSV file for --exclude option:[/b] +3405 [i] +3406 Sample, UID +3407 FOO-1, +3408 BAR-2, +3409 , A04 +3410 , A17 +3411 , A88 +3412 [/i] +3413 This will exclude all analyses of samples [i]FOO-1[/i] and [i]BAR-2[/i], +3414 and the analyses with UIDs [i]A04[/i], [i]A17[/i], and [i]A88[/i]. +3415 Neither column is mandatory. +3416 """ +3417 +3418 data = D47data() +3419 data.read(rawdata) +3420 +3421 if exclude != 'none': +3422 exclude = read_csv(exclude) +3423 exclude_uid = {r['UID'] for r in exclude if 'UID' in r} +3424 exclude_sample = {r['Sample'] for r in exclude if 'Sample' in r} +3425 else: +3426 exclude_uid = [] +3427 exclude_sample = [] +3428 +3429 data = D47data([r for r in data if r['UID'] not in exclude_uid and r['Sample'] not in exclude_sample]) +3430 +3431 if anchors != 'none': +3432 anchors = read_csv(anchors) +3433 if len([_ for _ in anchors if 'd13C_VPDB' in _]): +3434 data.Nominal_d13C_VPDB = { +3435 _['Sample']: _['d13C_VPDB'] +3436 for _ in anchors +3437 if 'd13C_VPDB' in _ +3438 } +3439 if len([_ for _ in anchors if 'd18O_VPDB' in _]): +3440 data.Nominal_d18O_VPDB = { +3441 _['Sample']: _['d18O_VPDB'] +3442 for _ in anchors +3443 if 'd18O_VPDB' in _ +3444 } +3445 if len([_ for _ in anchors if 'D47' in _]): +3446 data.Nominal_D4x = { +3447 _['Sample']: _['D47'] +3448 for _ in anchors +3449 if 'D47' in _ +3450 } +3451 +3452 data.refresh() +3453 data.wg() +3454 data.crunch() +3455 data.standardize() +3456 data.summary(dir = output_dir) +3457 data.plot_residuals(dir = output_dir, filename = 'D47_residuals.pdf', kde = True) +3458 data.plot_bulk_compositions(dir = output_dir + '/bulk_compositions') +3459 data.plot_sessions(dir = output_dir) +3460 data.save_D47_correl(dir = output_dir) +3461 +3462 if not run_D48: +3463 data.table_of_samples(dir = output_dir) +3464 data.table_of_analyses(dir = output_dir) +3465 data.table_of_sessions(dir = output_dir) +3466 +3467 +3468 if run_D48: +3469 data2 = D48data() +3470 print(rawdata) +3471 data2.read(rawdata) +3472 +3473 data2 = D48data([r for r in data2 if r['UID'] not in exclude_uid and r['Sample'] not in exclude_sample]) +3474 +3475 if anchors != 'none': +3476 if len([_ for _ in anchors if 'd13C_VPDB' in _]): +3477 data2.Nominal_d13C_VPDB = { +3478 _['Sample']: _['d13C_VPDB'] +3479 for _ in anchors +3480 if 'd13C_VPDB' in _ +3481 } +3482 if len([_ for _ in anchors if 'd18O_VPDB' in _]): +3483 data2.Nominal_d18O_VPDB = { +3484 _['Sample']: _['d18O_VPDB'] +3485 for _ in anchors +3486 if 'd18O_VPDB' in _ +3487 } +3488 if len([_ for _ in anchors if 'D48' in _]): +3489 data2.Nominal_D4x = { +3490 _['Sample']: _['D48'] +3491 for _ in anchors +3492 if 'D48' in _ +3493 } +3494 +3495 data2.refresh() +3496 data2.wg() +3497 data2.crunch() +3498 data2.standardize() +3499 data2.summary(dir = output_dir) +3500 data2.plot_sessions(dir = output_dir) +3501 data2.plot_residuals(dir = output_dir, filename = 'D48_residuals.pdf', kde = True) +3502 data2.plot_distribution_of_analyses(dir = output_dir) +3503 data2.save_D48_correl(dir = output_dir) +3504 +3505 table_of_analyses(data, data2, dir = output_dir) +3506 table_of_samples(data, data2, dir = output_dir) +3507 table_of_sessions(data, data2, dir = output_dir) +3508 +3509def __cli(): +3510 _app() @@ -5279,10 +5305,10 @@

4. API Documentation

–––––––––– –– –– ––––––––––– –––––––––––– –––––– –––––– –––––– ––––––––––––– ––––––––––––– –––––––––––––– Session Na Nu d13Cwg_VPDB d18Owg_VSMOW r_d13C r_d18O r_D47 a ± SE 1e3 x b ± SE c ± SE –––––––––– –– –– ––––––––––– –––––––––––– –––––– –––––– –––––– ––––––––––––– ––––––––––––– –––––––––––––– -Session_01 9 6 -4.000 26.000 0.0205 0.0633 0.0091 1.015 ± 0.015 0.427 ± 0.232 -0.909 ± 0.006 -Session_02 9 6 -4.000 26.000 0.0210 0.0882 0.0100 0.990 ± 0.015 0.484 ± 0.232 -0.905 ± 0.006 -Session_03 9 6 -4.000 26.000 0.0186 0.0505 0.0111 0.997 ± 0.015 0.167 ± 0.233 -0.901 ± 0.006 -Session_04 9 6 -4.000 26.000 0.0192 0.0467 0.0086 1.017 ± 0.015 0.229 ± 0.232 -0.910 ± 0.006 +Session_01 9 6 -4.000 26.000 0.0205 0.0633 0.0075 1.015 ± 0.015 0.427 ± 0.232 -0.909 ± 0.006 +Session_02 9 6 -4.000 26.000 0.0210 0.0882 0.0082 0.990 ± 0.015 0.484 ± 0.232 -0.905 ± 0.006 +Session_03 9 6 -4.000 26.000 0.0186 0.0505 0.0091 0.997 ± 0.015 0.167 ± 0.233 -0.901 ± 0.006 +Session_04 9 6 -4.000 26.000 0.0192 0.0467 0.0070 1.017 ± 0.015 0.229 ± 0.232 -0.910 ± 0.006 –––––––––– –– –– ––––––––––– –––––––––––– –––––– –––––– –––––– ––––––––––––– ––––––––––––– –––––––––––––– [table_of_samples] @@ -5300,66 +5326,66 @@

4. API Documentation

––– –––––––––– –––––– ––––––––––– –––––––––––– ––––––––– ––––––––– –––––––––– –––––––––– –––––––––– –––––––––– –––––––––– ––––––––– ––––––––– ––––––––– –––––––– UID Session Sample d13Cwg_VPDB d18Owg_VSMOW d45 d46 d47 d48 d49 d13C_VPDB d18O_VSMOW D47raw D48raw D49raw D47 ––– –––––––––– –––––– ––––––––––– –––––––––––– ––––––––– ––––––––– –––––––––– –––––––––– –––––––––– –––––––––– –––––––––– ––––––––– ––––––––– ––––––––– –––––––– -1 Session_01 ETH-1 -4.000 26.000 6.049381 10.706856 16.135579 21.196941 27.780042 2.057827 36.937067 -0.685751 -0.324384 0.045870 0.212791 -2 Session_01 ETH-3 -4.000 26.000 5.755174 11.255104 16.792797 22.451660 28.306614 1.723596 37.497816 -0.270825 -0.181089 -0.195908 0.621458 -3 Session_01 ETH-2 -4.000 26.000 -5.982229 -6.110437 -12.827036 -12.492272 -18.023381 -10.166188 19.784916 -0.693555 -0.312598 0.251040 0.217274 -4 Session_01 ETH-1 -4.000 26.000 5.995601 10.755323 16.116087 21.285428 27.780042 1.998631 36.986704 -0.696924 -0.333640 0.008600 0.201787 -5 Session_01 BAR -4.000 26.000 -9.920507 10.903408 0.065076 21.704075 10.707292 -14.998270 37.174839 -0.307018 -0.216978 -0.026076 0.592818 -6 Session_01 FOO -4.000 26.000 -0.876454 2.906764 1.341194 5.490264 4.665655 -5.048760 28.984806 -0.608593 -0.329808 -0.114437 0.295055 -7 Session_01 FOO -4.000 26.000 -0.838118 2.819853 1.310384 5.326005 4.665655 -5.004629 28.895933 -0.593755 -0.319861 0.014956 0.309692 -8 Session_01 ETH-2 -4.000 26.000 -5.974124 -5.955517 -12.668784 -12.208184 -18.023381 -10.163274 19.943159 -0.694902 -0.336672 -0.063946 0.215880 -9 Session_01 ETH-3 -4.000 26.000 5.727341 11.211663 16.713472 22.364770 28.306614 1.695479 37.453503 -0.278056 -0.180158 -0.082015 0.614365 -10 Session_01 FOO -4.000 26.000 -0.848028 2.874679 1.346196 5.439150 4.665655 -5.017230 28.951964 -0.601502 -0.316664 -0.081898 0.302042 -11 Session_01 BAR -4.000 26.000 -9.959983 10.926995 0.053806 21.724901 10.707292 -15.041279 37.199026 -0.300066 -0.243252 -0.029371 0.599675 -12 Session_01 BAR -4.000 26.000 -9.915975 10.968470 0.153453 21.749385 10.707292 -14.995822 37.241294 -0.286638 -0.301325 -0.157376 0.612868 -13 Session_01 ETH-3 -4.000 26.000 5.734896 11.229855 16.740410 22.402091 28.306614 1.702875 37.472070 -0.276998 -0.179635 -0.125368 0.615396 -14 Session_01 ETH-2 -4.000 26.000 -5.991278 -5.995054 -12.741562 -12.184075 -18.023381 -10.180122 19.902809 -0.711697 -0.232746 0.032602 0.199357 -15 Session_01 ETH-1 -4.000 26.000 6.010276 10.840276 16.207960 21.475150 27.780042 2.011176 37.073454 -0.704188 -0.315986 -0.172089 0.194589 -16 Session_02 ETH-3 -4.000 26.000 5.757137 11.232751 16.744567 22.398244 28.306614 1.731295 37.514660 -0.298533 -0.189123 -0.154557 0.604363 -17 Session_02 ETH-1 -4.000 26.000 5.993918 10.617469 15.991900 21.070358 27.780042 2.006934 36.882679 -0.683329 -0.271476 0.278458 0.216152 -18 Session_02 ETH-3 -4.000 26.000 5.719281 11.207303 16.681693 22.370886 28.306614 1.691780 37.488633 -0.296801 -0.165556 -0.065004 0.606143 -19 Session_02 ETH-3 -4.000 26.000 5.716356 11.091821 16.582487 22.123857 28.306614 1.692901 37.370126 -0.279100 -0.178789 0.162540 0.624067 -20 Session_02 ETH-1 -4.000 26.000 6.030532 10.851030 16.245571 21.457100 27.780042 2.037466 37.122284 -0.698413 -0.354920 -0.214443 0.200795 -21 Session_02 BAR -4.000 26.000 -9.963888 10.865863 -0.023549 21.615868 10.707292 -15.053743 37.174715 -0.313906 -0.229031 0.093637 0.597041 -22 Session_02 FOO -4.000 26.000 -0.819742 2.826793 1.317044 5.330616 4.665655 -4.986618 28.903335 -0.612871 -0.329113 -0.018244 0.294481 -23 Session_02 ETH-1 -4.000 26.000 6.019963 10.773112 16.163825 21.331060 27.780042 2.029040 37.042346 -0.692234 -0.324161 -0.051788 0.207075 +1 Session_01 ETH-1 -4.000 26.000 5.995601 10.755323 16.116087 21.285428 27.780042 1.998631 36.986704 -0.696924 -0.333640 0.008600 0.201787 +2 Session_01 FOO -4.000 26.000 -0.848028 2.874679 1.346196 5.439150 4.665655 -5.017230 28.951964 -0.601502 -0.316664 -0.081898 0.302042 +3 Session_01 BAR -4.000 26.000 -9.920507 10.903408 0.065076 21.704075 10.707292 -14.998270 37.174839 -0.307018 -0.216978 -0.026076 0.592818 +4 Session_01 ETH-1 -4.000 26.000 6.010276 10.840276 16.207960 21.475150 27.780042 2.011176 37.073454 -0.704188 -0.315986 -0.172089 0.194589 +5 Session_01 FOO -4.000 26.000 -0.838118 2.819853 1.310384 5.326005 4.665655 -5.004629 28.895933 -0.593755 -0.319861 0.014956 0.309692 +6 Session_01 ETH-2 -4.000 26.000 -5.974124 -5.955517 -12.668784 -12.208184 -18.023381 -10.163274 19.943159 -0.694902 -0.336672 -0.063946 0.215880 +7 Session_01 FOO -4.000 26.000 -0.876454 2.906764 1.341194 5.490264 4.665655 -5.048760 28.984806 -0.608593 -0.329808 -0.114437 0.295055 +8 Session_01 ETH-3 -4.000 26.000 5.727341 11.211663 16.713472 22.364770 28.306614 1.695479 37.453503 -0.278056 -0.180158 -0.082015 0.614365 +9 Session_01 BAR -4.000 26.000 -9.959983 10.926995 0.053806 21.724901 10.707292 -15.041279 37.199026 -0.300066 -0.243252 -0.029371 0.599675 +10 Session_01 ETH-3 -4.000 26.000 5.734896 11.229855 16.740410 22.402091 28.306614 1.702875 37.472070 -0.276998 -0.179635 -0.125368 0.615396 +11 Session_01 BAR -4.000 26.000 -9.915975 10.968470 0.153453 21.749385 10.707292 -14.995822 37.241294 -0.286638 -0.301325 -0.157376 0.612868 +12 Session_01 ETH-1 -4.000 26.000 6.049381 10.706856 16.135579 21.196941 27.780042 2.057827 36.937067 -0.685751 -0.324384 0.045870 0.212791 +13 Session_01 ETH-2 -4.000 26.000 -5.991278 -5.995054 -12.741562 -12.184075 -18.023381 -10.180122 19.902809 -0.711697 -0.232746 0.032602 0.199357 +14 Session_01 ETH-2 -4.000 26.000 -5.982229 -6.110437 -12.827036 -12.492272 -18.023381 -10.166188 19.784916 -0.693555 -0.312598 0.251040 0.217274 +15 Session_01 ETH-3 -4.000 26.000 5.755174 11.255104 16.792797 22.451660 28.306614 1.723596 37.497816 -0.270825 -0.181089 -0.195908 0.621458 +16 Session_02 ETH-1 -4.000 26.000 5.993918 10.617469 15.991900 21.070358 27.780042 2.006934 36.882679 -0.683329 -0.271476 0.278458 0.216152 +17 Session_02 ETH-1 -4.000 26.000 6.030532 10.851030 16.245571 21.457100 27.780042 2.037466 37.122284 -0.698413 -0.354920 -0.214443 0.200795 +18 Session_02 BAR -4.000 26.000 -9.963888 10.865863 -0.023549 21.615868 10.707292 -15.053743 37.174715 -0.313906 -0.229031 0.093637 0.597041 +19 Session_02 ETH-3 -4.000 26.000 5.719281 11.207303 16.681693 22.370886 28.306614 1.691780 37.488633 -0.296801 -0.165556 -0.065004 0.606143 +20 Session_02 ETH-1 -4.000 26.000 6.019963 10.773112 16.163825 21.331060 27.780042 2.029040 37.042346 -0.692234 -0.324161 -0.051788 0.207075 +21 Session_02 BAR -4.000 26.000 -9.957566 10.903888 0.031785 21.739434 10.707292 -15.048386 37.213724 -0.302139 -0.183327 0.012926 0.608897 +22 Session_02 FOO -4.000 26.000 -0.848415 2.849823 1.308081 5.427767 4.665655 -5.018107 28.927036 -0.614791 -0.278426 -0.032784 0.292547 +23 Session_02 ETH-2 -4.000 26.000 -5.950370 -5.959974 -12.650784 -12.197864 -18.023381 -10.143809 19.897777 -0.696916 -0.317263 -0.080604 0.216441 24 Session_02 ETH-2 -4.000 26.000 -5.982371 -6.036210 -12.762399 -12.309944 -18.023381 -10.175178 19.819614 -0.701348 -0.277354 0.104418 0.212021 25 Session_02 FOO -4.000 26.000 -0.835046 2.870518 1.355370 5.487896 4.665655 -5.004585 28.948243 -0.601666 -0.259900 -0.087592 0.305777 -26 Session_02 ETH-2 -4.000 26.000 -5.950370 -5.959974 -12.650784 -12.197864 -18.023381 -10.143809 19.897777 -0.696916 -0.317263 -0.080604 0.216441 -27 Session_02 BAR -4.000 26.000 -9.936020 10.862339 0.024660 21.563307 10.707292 -15.023836 37.171034 -0.291333 -0.273498 0.070452 0.619812 -28 Session_02 FOO -4.000 26.000 -0.848415 2.849823 1.308081 5.427767 4.665655 -5.018107 28.927036 -0.614791 -0.278426 -0.032784 0.292547 -29 Session_02 BAR -4.000 26.000 -9.957566 10.903888 0.031785 21.739434 10.707292 -15.048386 37.213724 -0.302139 -0.183327 0.012926 0.608897 -30 Session_02 ETH-2 -4.000 26.000 -5.993476 -5.944866 -12.696865 -12.149754 -18.023381 -10.190430 19.913381 -0.713779 -0.298963 -0.064251 0.199436 -31 Session_03 FOO -4.000 26.000 -0.800284 2.851299 1.376828 5.379547 4.665655 -4.951581 28.910199 -0.597293 -0.329315 -0.087015 0.304784 -32 Session_03 ETH-3 -4.000 26.000 5.753467 11.206589 16.719131 22.373244 28.306614 1.723960 37.511190 -0.294350 -0.161838 -0.099835 0.606103 -33 Session_03 ETH-2 -4.000 26.000 -5.997147 -5.905858 -12.655382 -12.081612 -18.023381 -10.165400 19.891551 -0.706536 -0.308464 -0.137414 0.197550 -34 Session_03 FOO -4.000 26.000 -0.873798 2.820799 1.272165 5.370745 4.665655 -5.028782 28.878917 -0.596008 -0.277258 0.051165 0.306090 -35 Session_03 BAR -4.000 26.000 -9.928709 10.989665 0.148059 21.852677 10.707292 -14.976237 37.324152 -0.299358 -0.242185 -0.184835 0.603855 -36 Session_03 ETH-2 -4.000 26.000 -6.000290 -5.947172 -12.697463 -12.164602 -18.023381 -10.167221 19.848953 -0.705037 -0.309350 -0.052386 0.199061 -37 Session_03 ETH-2 -4.000 26.000 -6.008525 -5.909707 -12.647727 -12.075913 -18.023381 -10.177379 19.887608 -0.683183 -0.294956 -0.117608 0.220975 -38 Session_03 ETH-3 -4.000 26.000 5.748546 11.079879 16.580826 22.120063 28.306614 1.723364 37.380534 -0.302133 -0.158882 0.151641 0.598318 -39 Session_03 FOO -4.000 26.000 -0.823857 2.761300 1.258060 5.239992 4.665655 -4.973383 28.817444 -0.603327 -0.288652 0.114488 0.298751 -40 Session_03 ETH-1 -4.000 26.000 5.994622 10.743980 16.116098 21.243734 27.780042 1.997857 37.033567 -0.684883 -0.352014 0.031692 0.214449 -41 Session_03 ETH-3 -4.000 26.000 5.718991 11.146227 16.640814 22.243185 28.306614 1.689442 37.449023 -0.277332 -0.169668 0.053997 0.623187 -42 Session_03 ETH-1 -4.000 26.000 6.040566 10.786620 16.205283 21.374963 27.780042 2.045244 37.077432 -0.685706 -0.307909 -0.099869 0.213609 -43 Session_03 BAR -4.000 26.000 -9.952115 11.034508 0.169809 21.885915 10.707292 -15.002819 37.370451 -0.296804 -0.298351 -0.246731 0.606414 -44 Session_03 ETH-1 -4.000 26.000 6.004078 10.683951 16.045192 21.214355 27.780042 2.010134 36.971642 -0.705956 -0.262026 0.138399 0.193323 -45 Session_03 BAR -4.000 26.000 -9.957114 10.898997 0.044946 21.602296 10.707292 -15.003175 37.230716 -0.284699 -0.307849 0.021944 0.618578 -46 Session_04 ETH-2 -4.000 26.000 -5.966627 -5.893789 -12.597717 -12.120719 -18.023381 -10.161842 19.911776 -0.691757 -0.372308 -0.193986 0.217132 -47 Session_04 ETH-3 -4.000 26.000 5.751908 11.207110 16.726741 22.380392 28.306614 1.705481 37.480657 -0.285776 -0.155878 -0.099197 0.609567 -48 Session_04 BAR -4.000 26.000 -9.951025 10.951923 0.089386 21.738926 10.707292 -15.031949 37.254709 -0.298065 -0.278834 -0.087463 0.601230 -49 Session_04 FOO -4.000 26.000 -0.848192 2.777763 1.251297 5.280272 4.665655 -5.023358 28.822585 -0.601094 -0.281419 0.108186 0.303128 -50 Session_04 ETH-1 -4.000 26.000 6.017312 10.735930 16.123043 21.270597 27.780042 2.005824 36.995214 -0.693479 -0.309795 0.023309 0.208980 -51 Session_04 ETH-2 -4.000 26.000 -5.973623 -5.975018 -12.694278 -12.194472 -18.023381 -10.166297 19.828211 -0.701951 -0.283570 -0.025935 0.207135 -52 Session_04 BAR -4.000 26.000 -9.931741 10.819830 -0.023748 21.529372 10.707292 -15.006533 37.118743 -0.302866 -0.222623 0.148462 0.596536 -53 Session_04 ETH-1 -4.000 26.000 6.023822 10.730714 16.121184 21.235757 27.780042 2.012958 36.989833 -0.696908 -0.333582 0.026555 0.205610 -54 Session_04 FOO -4.000 26.000 -0.791191 2.708220 1.256167 5.145784 4.665655 -4.960004 28.750896 -0.586913 -0.276505 0.183674 0.317065 -55 Session_04 FOO -4.000 26.000 -0.853969 2.805035 1.267571 5.353907 4.665655 -5.030523 28.850660 -0.605611 -0.262571 0.060903 0.298685 -56 Session_04 ETH-2 -4.000 26.000 -5.986501 -5.915157 -12.656583 -12.060382 -18.023381 -10.182247 19.889836 -0.709603 -0.268277 -0.130450 0.199604 -57 Session_04 ETH-3 -4.000 26.000 5.739420 11.128582 16.641344 22.166106 28.306614 1.695046 37.399884 -0.280608 -0.210162 0.066645 0.614665 -58 Session_04 BAR -4.000 26.000 -9.926078 10.884823 0.060864 21.650722 10.707292 -15.002880 37.185606 -0.287358 -0.232425 0.016044 0.611760 -59 Session_04 ETH-1 -4.000 26.000 6.029937 10.766997 16.151273 21.345479 27.780042 2.018148 37.027152 -0.708855 -0.297953 -0.050465 0.193862 -60 Session_04 ETH-3 -4.000 26.000 5.798016 11.254135 16.832228 22.432473 28.306614 1.752928 37.528936 -0.275047 -0.197935 -0.239408 0.620088 +26 Session_02 ETH-3 -4.000 26.000 5.716356 11.091821 16.582487 22.123857 28.306614 1.692901 37.370126 -0.279100 -0.178789 0.162540 0.624067 +27 Session_02 ETH-3 -4.000 26.000 5.757137 11.232751 16.744567 22.398244 28.306614 1.731295 37.514660 -0.298533 -0.189123 -0.154557 0.604363 +28 Session_02 BAR -4.000 26.000 -9.936020 10.862339 0.024660 21.563307 10.707292 -15.023836 37.171034 -0.291333 -0.273498 0.070452 0.619812 +29 Session_02 ETH-2 -4.000 26.000 -5.993476 -5.944866 -12.696865 -12.149754 -18.023381 -10.190430 19.913381 -0.713779 -0.298963 -0.064251 0.199436 +30 Session_02 FOO -4.000 26.000 -0.819742 2.826793 1.317044 5.330616 4.665655 -4.986618 28.903335 -0.612871 -0.329113 -0.018244 0.294481 +31 Session_03 BAR -4.000 26.000 -9.952115 11.034508 0.169809 21.885915 10.707292 -15.002819 37.370451 -0.296804 -0.298351 -0.246731 0.606414 +32 Session_03 ETH-1 -4.000 26.000 6.004078 10.683951 16.045192 21.214355 27.780042 2.010134 36.971642 -0.705956 -0.262026 0.138399 0.193323 +33 Session_03 ETH-2 -4.000 26.000 -6.000290 -5.947172 -12.697463 -12.164602 -18.023381 -10.167221 19.848953 -0.705037 -0.309350 -0.052386 0.199061 +34 Session_03 ETH-1 -4.000 26.000 6.040566 10.786620 16.205283 21.374963 27.780042 2.045244 37.077432 -0.685706 -0.307909 -0.099869 0.213609 +35 Session_03 FOO -4.000 26.000 -0.823857 2.761300 1.258060 5.239992 4.665655 -4.973383 28.817444 -0.603327 -0.288652 0.114488 0.298751 +36 Session_03 ETH-3 -4.000 26.000 5.718991 11.146227 16.640814 22.243185 28.306614 1.689442 37.449023 -0.277332 -0.169668 0.053997 0.623187 +37 Session_03 ETH-3 -4.000 26.000 5.748546 11.079879 16.580826 22.120063 28.306614 1.723364 37.380534 -0.302133 -0.158882 0.151641 0.598318 +38 Session_03 FOO -4.000 26.000 -0.873798 2.820799 1.272165 5.370745 4.665655 -5.028782 28.878917 -0.596008 -0.277258 0.051165 0.306090 +39 Session_03 BAR -4.000 26.000 -9.928709 10.989665 0.148059 21.852677 10.707292 -14.976237 37.324152 -0.299358 -0.242185 -0.184835 0.603855 +40 Session_03 ETH-2 -4.000 26.000 -5.997147 -5.905858 -12.655382 -12.081612 -18.023381 -10.165400 19.891551 -0.706536 -0.308464 -0.137414 0.197550 +41 Session_03 BAR -4.000 26.000 -9.957114 10.898997 0.044946 21.602296 10.707292 -15.003175 37.230716 -0.284699 -0.307849 0.021944 0.618578 +42 Session_03 ETH-3 -4.000 26.000 5.753467 11.206589 16.719131 22.373244 28.306614 1.723960 37.511190 -0.294350 -0.161838 -0.099835 0.606103 +43 Session_03 FOO -4.000 26.000 -0.800284 2.851299 1.376828 5.379547 4.665655 -4.951581 28.910199 -0.597293 -0.329315 -0.087015 0.304784 +44 Session_03 ETH-2 -4.000 26.000 -6.008525 -5.909707 -12.647727 -12.075913 -18.023381 -10.177379 19.887608 -0.683183 -0.294956 -0.117608 0.220975 +45 Session_03 ETH-1 -4.000 26.000 5.994622 10.743980 16.116098 21.243734 27.780042 1.997857 37.033567 -0.684883 -0.352014 0.031692 0.214449 +46 Session_04 ETH-3 -4.000 26.000 5.739420 11.128582 16.641344 22.166106 28.306614 1.695046 37.399884 -0.280608 -0.210162 0.066645 0.614665 +47 Session_04 ETH-1 -4.000 26.000 6.029937 10.766997 16.151273 21.345479 27.780042 2.018148 37.027152 -0.708855 -0.297953 -0.050465 0.193862 +48 Session_04 ETH-1 -4.000 26.000 6.023822 10.730714 16.121184 21.235757 27.780042 2.012958 36.989833 -0.696908 -0.333582 0.026555 0.205610 +49 Session_04 ETH-3 -4.000 26.000 5.798016 11.254135 16.832228 22.432473 28.306614 1.752928 37.528936 -0.275047 -0.197935 -0.239408 0.620088 +50 Session_04 ETH-2 -4.000 26.000 -5.973623 -5.975018 -12.694278 -12.194472 -18.023381 -10.166297 19.828211 -0.701951 -0.283570 -0.025935 0.207135 +51 Session_04 ETH-2 -4.000 26.000 -5.966627 -5.893789 -12.597717 -12.120719 -18.023381 -10.161842 19.911776 -0.691757 -0.372308 -0.193986 0.217132 +52 Session_04 FOO -4.000 26.000 -0.853969 2.805035 1.267571 5.353907 4.665655 -5.030523 28.850660 -0.605611 -0.262571 0.060903 0.298685 +53 Session_04 BAR -4.000 26.000 -9.926078 10.884823 0.060864 21.650722 10.707292 -15.002880 37.185606 -0.287358 -0.232425 0.016044 0.611760 +54 Session_04 ETH-2 -4.000 26.000 -5.986501 -5.915157 -12.656583 -12.060382 -18.023381 -10.182247 19.889836 -0.709603 -0.268277 -0.130450 0.199604 +55 Session_04 BAR -4.000 26.000 -9.951025 10.951923 0.089386 21.738926 10.707292 -15.031949 37.254709 -0.298065 -0.278834 -0.087463 0.601230 +56 Session_04 ETH-3 -4.000 26.000 5.751908 11.207110 16.726741 22.380392 28.306614 1.705481 37.480657 -0.285776 -0.155878 -0.099197 0.609567 +57 Session_04 ETH-1 -4.000 26.000 6.017312 10.735930 16.123043 21.270597 27.780042 2.005824 36.995214 -0.693479 -0.309795 0.023309 0.208980 +58 Session_04 FOO -4.000 26.000 -0.848192 2.777763 1.251297 5.280272 4.665655 -5.023358 28.822585 -0.601094 -0.281419 0.108186 0.303128 +59 Session_04 BAR -4.000 26.000 -9.931741 10.819830 -0.023748 21.529372 10.707292 -15.006533 37.118743 -0.302866 -0.222623 0.148462 0.596536 +60 Session_04 FOO -4.000 26.000 -0.791191 2.708220 1.256167 5.145784 4.665655 -4.960004 28.750896 -0.586913 -0.276505 0.183674 0.317065 ––– –––––––––– –––––– ––––––––––– –––––––––––– ––––––––– ––––––––– –––––––––– –––––––––– –––––––––– –––––––––– –––––––––– ––––––––– ––––––––– ––––––––– –––––––– @@ -6988,1037 +7014,1063 @@

4. API Documentation

2092 sp = self.plot_single_session(session, xylimits = 'constant') 2093 ppl.savefig(f'{dir}/D{self._4x}_plot_{session}.{filetype}', **({'dpi': dpi} if filetype.lower() == 'png' else {})) 2094 ppl.close(sp.fig) -2095 +2095 2096 -2097 @make_verbal -2098 def consolidate_samples(self): -2099 ''' -2100 Compile various statistics for each sample. -2101 -2102 For each anchor sample: -2103 -2104 + `D47` or `D48`: the nominal Δ4x value for this anchor, specified by `self.Nominal_D4x` -2105 + `SE_D47` or `SE_D48`: set to zero by definition -2106 -2107 For each unknown sample: -2108 -2109 + `D47` or `D48`: the standardized Δ4x value for this unknown -2110 + `SE_D47` or `SE_D48`: the standard error of Δ4x for this unknown -2111 -2112 For each anchor and unknown: -2113 -2114 + `N`: the total number of analyses of this sample -2115 + `SD_D47` or `SD_D48`: the “sample” (in the statistical sense) standard deviation for this sample -2116 + `d13C_VPDB`: the average δ13C_VPDB value for this sample -2117 + `d18O_VSMOW`: the average δ18O_VSMOW value for this sample (as CO2) -2118 + `p_Levene`: the p-value from a [Levene test](https://en.wikipedia.org/wiki/Levene%27s_test) of equal -2119 variance, indicating whether the Δ4x repeatability this sample differs significantly from -2120 that observed for the reference sample specified by `self.LEVENE_REF_SAMPLE`. -2121 ''' -2122 D4x_ref_pop = [r[f'D{self._4x}'] for r in self.samples[self.LEVENE_REF_SAMPLE]['data']] -2123 for sample in self.samples: -2124 self.samples[sample]['N'] = len(self.samples[sample]['data']) -2125 if self.samples[sample]['N'] > 1: -2126 self.samples[sample][f'SD_D{self._4x}'] = stdev([r[f'D{self._4x}'] for r in self.samples[sample]['data']]) -2127 -2128 self.samples[sample]['d13C_VPDB'] = np.mean([r['d13C_VPDB'] for r in self.samples[sample]['data']]) -2129 self.samples[sample]['d18O_VSMOW'] = np.mean([r['d18O_VSMOW'] for r in self.samples[sample]['data']]) -2130 -2131 D4x_pop = [r[f'D{self._4x}'] for r in self.samples[sample]['data']] -2132 if len(D4x_pop) > 2: -2133 self.samples[sample]['p_Levene'] = levene(D4x_ref_pop, D4x_pop, center = 'median')[1] -2134 -2135 if self.standardization_method == 'pooled': -2136 for sample in self.anchors: -2137 self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample] -2138 self.samples[sample][f'SE_D{self._4x}'] = 0. -2139 for sample in self.unknowns: -2140 self.samples[sample][f'D{self._4x}'] = self.standardization.params.valuesdict()[f'D{self._4x}_{pf(sample)}'] -2141 try: -2142 self.samples[sample][f'SE_D{self._4x}'] = self.sample_D4x_covar(sample)**.5 -2143 except ValueError: -2144 # when `sample` is constrained by self.standardize(constraints = {...}), -2145 # it is no longer listed in self.standardization.var_names. -2146 # Temporary fix: define SE as zero for now -2147 self.samples[sample][f'SE_D4{self._4x}'] = 0. -2148 -2149 elif self.standardization_method == 'indep_sessions': -2150 for sample in self.anchors: -2151 self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample] -2152 self.samples[sample][f'SE_D{self._4x}'] = 0. -2153 for sample in self.unknowns: -2154 self.msg(f'Consolidating sample {sample}') -2155 self.unknowns[sample][f'session_D{self._4x}'] = {} -2156 session_avg = [] -2157 for session in self.sessions: -2158 sdata = [r for r in self.sessions[session]['data'] if r['Sample'] == sample] -2159 if sdata: -2160 self.msg(f'{sample} found in session {session}') -2161 avg_D4x = np.mean([r[f'D{self._4x}'] for r in sdata]) -2162 avg_d4x = np.mean([r[f'd{self._4x}'] for r in sdata]) -2163 # !! TODO: sigma_s below does not account for temporal changes in standardization error -2164 sigma_s = self.standardization_error(session, avg_d4x, avg_D4x) -2165 sigma_u = sdata[0][f'wD{self._4x}raw'] / self.sessions[session]['a'] / len(sdata)**.5 -2166 session_avg.append([avg_D4x, (sigma_u**2 + sigma_s**2)**.5]) -2167 self.unknowns[sample][f'session_D{self._4x}'][session] = session_avg[-1] -2168 self.samples[sample][f'D{self._4x}'], self.samples[sample][f'SE_D{self._4x}'] = w_avg(*zip(*session_avg)) -2169 weights = {s: self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 for s in self.unknowns[sample][f'session_D{self._4x}']} -2170 wsum = sum([weights[s] for s in weights]) -2171 for s in weights: -2172 self.unknowns[sample][f'session_D{self._4x}'][s] += [self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 / wsum] -2173 -2174 for r in self: -2175 r[f'D{self._4x}_residual'] = r[f'D{self._4x}'] - self.samples[r['Sample']][f'D{self._4x}'] -2176 +2097 +2098 @make_verbal +2099 def consolidate_samples(self): +2100 ''' +2101 Compile various statistics for each sample. +2102 +2103 For each anchor sample: +2104 +2105 + `D47` or `D48`: the nominal Δ4x value for this anchor, specified by `self.Nominal_D4x` +2106 + `SE_D47` or `SE_D48`: set to zero by definition +2107 +2108 For each unknown sample: +2109 +2110 + `D47` or `D48`: the standardized Δ4x value for this unknown +2111 + `SE_D47` or `SE_D48`: the standard error of Δ4x for this unknown +2112 +2113 For each anchor and unknown: +2114 +2115 + `N`: the total number of analyses of this sample +2116 + `SD_D47` or `SD_D48`: the “sample” (in the statistical sense) standard deviation for this sample +2117 + `d13C_VPDB`: the average δ13C_VPDB value for this sample +2118 + `d18O_VSMOW`: the average δ18O_VSMOW value for this sample (as CO2) +2119 + `p_Levene`: the p-value from a [Levene test](https://en.wikipedia.org/wiki/Levene%27s_test) of equal +2120 variance, indicating whether the Δ4x repeatability this sample differs significantly from +2121 that observed for the reference sample specified by `self.LEVENE_REF_SAMPLE`. +2122 ''' +2123 D4x_ref_pop = [r[f'D{self._4x}'] for r in self.samples[self.LEVENE_REF_SAMPLE]['data']] +2124 for sample in self.samples: +2125 self.samples[sample]['N'] = len(self.samples[sample]['data']) +2126 if self.samples[sample]['N'] > 1: +2127 self.samples[sample][f'SD_D{self._4x}'] = stdev([r[f'D{self._4x}'] for r in self.samples[sample]['data']]) +2128 +2129 self.samples[sample]['d13C_VPDB'] = np.mean([r['d13C_VPDB'] for r in self.samples[sample]['data']]) +2130 self.samples[sample]['d18O_VSMOW'] = np.mean([r['d18O_VSMOW'] for r in self.samples[sample]['data']]) +2131 +2132 D4x_pop = [r[f'D{self._4x}'] for r in self.samples[sample]['data']] +2133 if len(D4x_pop) > 2: +2134 self.samples[sample]['p_Levene'] = levene(D4x_ref_pop, D4x_pop, center = 'median')[1] +2135 +2136 if self.standardization_method == 'pooled': +2137 for sample in self.anchors: +2138 self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample] +2139 self.samples[sample][f'SE_D{self._4x}'] = 0. +2140 for sample in self.unknowns: +2141 self.samples[sample][f'D{self._4x}'] = self.standardization.params.valuesdict()[f'D{self._4x}_{pf(sample)}'] +2142 try: +2143 self.samples[sample][f'SE_D{self._4x}'] = self.sample_D4x_covar(sample)**.5 +2144 except ValueError: +2145 # when `sample` is constrained by self.standardize(constraints = {...}), +2146 # it is no longer listed in self.standardization.var_names. +2147 # Temporary fix: define SE as zero for now +2148 self.samples[sample][f'SE_D4{self._4x}'] = 0. +2149 +2150 elif self.standardization_method == 'indep_sessions': +2151 for sample in self.anchors: +2152 self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample] +2153 self.samples[sample][f'SE_D{self._4x}'] = 0. +2154 for sample in self.unknowns: +2155 self.msg(f'Consolidating sample {sample}') +2156 self.unknowns[sample][f'session_D{self._4x}'] = {} +2157 session_avg = [] +2158 for session in self.sessions: +2159 sdata = [r for r in self.sessions[session]['data'] if r['Sample'] == sample] +2160 if sdata: +2161 self.msg(f'{sample} found in session {session}') +2162 avg_D4x = np.mean([r[f'D{self._4x}'] for r in sdata]) +2163 avg_d4x = np.mean([r[f'd{self._4x}'] for r in sdata]) +2164 # !! TODO: sigma_s below does not account for temporal changes in standardization error +2165 sigma_s = self.standardization_error(session, avg_d4x, avg_D4x) +2166 sigma_u = sdata[0][f'wD{self._4x}raw'] / self.sessions[session]['a'] / len(sdata)**.5 +2167 session_avg.append([avg_D4x, (sigma_u**2 + sigma_s**2)**.5]) +2168 self.unknowns[sample][f'session_D{self._4x}'][session] = session_avg[-1] +2169 self.samples[sample][f'D{self._4x}'], self.samples[sample][f'SE_D{self._4x}'] = w_avg(*zip(*session_avg)) +2170 weights = {s: self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 for s in self.unknowns[sample][f'session_D{self._4x}']} +2171 wsum = sum([weights[s] for s in weights]) +2172 for s in weights: +2173 self.unknowns[sample][f'session_D{self._4x}'][s] += [self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 / wsum] +2174 +2175 for r in self: +2176 r[f'D{self._4x}_residual'] = r[f'D{self._4x}'] - self.samples[r['Sample']][f'D{self._4x}'] 2177 2178 -2179 def consolidate_sessions(self): -2180 ''' -2181 Compute various statistics for each session. -2182 -2183 + `Na`: Number of anchor analyses in the session -2184 + `Nu`: Number of unknown analyses in the session -2185 + `r_d13C_VPDB`: δ13C_VPDB repeatability of analyses within the session -2186 + `r_d18O_VSMOW`: δ18O_VSMOW repeatability of analyses within the session -2187 + `r_D47` or `r_D48`: Δ4x repeatability of analyses within the session -2188 + `a`: scrambling factor -2189 + `b`: compositional slope -2190 + `c`: WG offset -2191 + `SE_a`: Model stadard erorr of `a` -2192 + `SE_b`: Model stadard erorr of `b` -2193 + `SE_c`: Model stadard erorr of `c` -2194 + `scrambling_drift` (boolean): whether to allow a temporal drift in the scrambling factor (`a`) -2195 + `slope_drift` (boolean): whether to allow a temporal drift in the compositional slope (`b`) -2196 + `wg_drift` (boolean): whether to allow a temporal drift in the WG offset (`c`) -2197 + `a2`: scrambling factor drift -2198 + `b2`: compositional slope drift -2199 + `c2`: WG offset drift -2200 + `Np`: Number of standardization parameters to fit -2201 + `CM`: model covariance matrix for (`a`, `b`, `c`, `a2`, `b2`, `c2`) -2202 + `d13Cwg_VPDB`: δ13C_VPDB of WG -2203 + `d18Owg_VSMOW`: δ18O_VSMOW of WG -2204 ''' -2205 for session in self.sessions: -2206 if 'd13Cwg_VPDB' not in self.sessions[session]: -2207 self.sessions[session]['d13Cwg_VPDB'] = self.sessions[session]['data'][0]['d13Cwg_VPDB'] -2208 if 'd18Owg_VSMOW' not in self.sessions[session]: -2209 self.sessions[session]['d18Owg_VSMOW'] = self.sessions[session]['data'][0]['d18Owg_VSMOW'] -2210 self.sessions[session]['Na'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.anchors]) -2211 self.sessions[session]['Nu'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns]) -2212 -2213 self.msg(f'Computing repeatabilities for session {session}') -2214 self.sessions[session]['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors', sessions = [session]) -2215 self.sessions[session]['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors', sessions = [session]) -2216 self.sessions[session][f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', sessions = [session]) -2217 -2218 if self.standardization_method == 'pooled': -2219 for session in self.sessions: -2220 -2221 self.sessions[session]['a'] = self.standardization.params.valuesdict()[f'a_{pf(session)}'] -2222 i = self.standardization.var_names.index(f'a_{pf(session)}') -2223 self.sessions[session]['SE_a'] = self.standardization.covar[i,i]**.5 -2224 -2225 self.sessions[session]['b'] = self.standardization.params.valuesdict()[f'b_{pf(session)}'] -2226 i = self.standardization.var_names.index(f'b_{pf(session)}') -2227 self.sessions[session]['SE_b'] = self.standardization.covar[i,i]**.5 -2228 -2229 self.sessions[session]['c'] = self.standardization.params.valuesdict()[f'c_{pf(session)}'] -2230 i = self.standardization.var_names.index(f'c_{pf(session)}') -2231 self.sessions[session]['SE_c'] = self.standardization.covar[i,i]**.5 -2232 -2233 self.sessions[session]['a2'] = self.standardization.params.valuesdict()[f'a2_{pf(session)}'] -2234 if self.sessions[session]['scrambling_drift']: -2235 i = self.standardization.var_names.index(f'a2_{pf(session)}') -2236 self.sessions[session]['SE_a2'] = self.standardization.covar[i,i]**.5 -2237 else: -2238 self.sessions[session]['SE_a2'] = 0. -2239 -2240 self.sessions[session]['b2'] = self.standardization.params.valuesdict()[f'b2_{pf(session)}'] -2241 if self.sessions[session]['slope_drift']: -2242 i = self.standardization.var_names.index(f'b2_{pf(session)}') -2243 self.sessions[session]['SE_b2'] = self.standardization.covar[i,i]**.5 -2244 else: -2245 self.sessions[session]['SE_b2'] = 0. -2246 -2247 self.sessions[session]['c2'] = self.standardization.params.valuesdict()[f'c2_{pf(session)}'] -2248 if self.sessions[session]['wg_drift']: -2249 i = self.standardization.var_names.index(f'c2_{pf(session)}') -2250 self.sessions[session]['SE_c2'] = self.standardization.covar[i,i]**.5 -2251 else: -2252 self.sessions[session]['SE_c2'] = 0. -2253 -2254 i = self.standardization.var_names.index(f'a_{pf(session)}') -2255 j = self.standardization.var_names.index(f'b_{pf(session)}') -2256 k = self.standardization.var_names.index(f'c_{pf(session)}') -2257 CM = np.zeros((6,6)) -2258 CM[:3,:3] = self.standardization.covar[[i,j,k],:][:,[i,j,k]] -2259 try: -2260 i2 = self.standardization.var_names.index(f'a2_{pf(session)}') -2261 CM[3,[0,1,2,3]] = self.standardization.covar[i2,[i,j,k,i2]] -2262 CM[[0,1,2,3],3] = self.standardization.covar[[i,j,k,i2],i2] -2263 try: -2264 j2 = self.standardization.var_names.index(f'b2_{pf(session)}') -2265 CM[3,4] = self.standardization.covar[i2,j2] -2266 CM[4,3] = self.standardization.covar[j2,i2] -2267 except ValueError: -2268 pass -2269 try: -2270 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') -2271 CM[3,5] = self.standardization.covar[i2,k2] -2272 CM[5,3] = self.standardization.covar[k2,i2] -2273 except ValueError: -2274 pass -2275 except ValueError: -2276 pass -2277 try: -2278 j2 = self.standardization.var_names.index(f'b2_{pf(session)}') -2279 CM[4,[0,1,2,4]] = self.standardization.covar[j2,[i,j,k,j2]] -2280 CM[[0,1,2,4],4] = self.standardization.covar[[i,j,k,j2],j2] -2281 try: -2282 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') -2283 CM[4,5] = self.standardization.covar[j2,k2] -2284 CM[5,4] = self.standardization.covar[k2,j2] -2285 except ValueError: -2286 pass -2287 except ValueError: -2288 pass -2289 try: -2290 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') -2291 CM[5,[0,1,2,5]] = self.standardization.covar[k2,[i,j,k,k2]] -2292 CM[[0,1,2,5],5] = self.standardization.covar[[i,j,k,k2],k2] -2293 except ValueError: -2294 pass -2295 -2296 self.sessions[session]['CM'] = CM -2297 -2298 elif self.standardization_method == 'indep_sessions': -2299 pass # Not implemented yet +2179 +2180 def consolidate_sessions(self): +2181 ''' +2182 Compute various statistics for each session. +2183 +2184 + `Na`: Number of anchor analyses in the session +2185 + `Nu`: Number of unknown analyses in the session +2186 + `r_d13C_VPDB`: δ13C_VPDB repeatability of analyses within the session +2187 + `r_d18O_VSMOW`: δ18O_VSMOW repeatability of analyses within the session +2188 + `r_D47` or `r_D48`: Δ4x repeatability of analyses within the session +2189 + `a`: scrambling factor +2190 + `b`: compositional slope +2191 + `c`: WG offset +2192 + `SE_a`: Model stadard erorr of `a` +2193 + `SE_b`: Model stadard erorr of `b` +2194 + `SE_c`: Model stadard erorr of `c` +2195 + `scrambling_drift` (boolean): whether to allow a temporal drift in the scrambling factor (`a`) +2196 + `slope_drift` (boolean): whether to allow a temporal drift in the compositional slope (`b`) +2197 + `wg_drift` (boolean): whether to allow a temporal drift in the WG offset (`c`) +2198 + `a2`: scrambling factor drift +2199 + `b2`: compositional slope drift +2200 + `c2`: WG offset drift +2201 + `Np`: Number of standardization parameters to fit +2202 + `CM`: model covariance matrix for (`a`, `b`, `c`, `a2`, `b2`, `c2`) +2203 + `d13Cwg_VPDB`: δ13C_VPDB of WG +2204 + `d18Owg_VSMOW`: δ18O_VSMOW of WG +2205 ''' +2206 for session in self.sessions: +2207 if 'd13Cwg_VPDB' not in self.sessions[session]: +2208 self.sessions[session]['d13Cwg_VPDB'] = self.sessions[session]['data'][0]['d13Cwg_VPDB'] +2209 if 'd18Owg_VSMOW' not in self.sessions[session]: +2210 self.sessions[session]['d18Owg_VSMOW'] = self.sessions[session]['data'][0]['d18Owg_VSMOW'] +2211 self.sessions[session]['Na'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.anchors]) +2212 self.sessions[session]['Nu'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns]) +2213 +2214 self.msg(f'Computing repeatabilities for session {session}') +2215 self.sessions[session]['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors', sessions = [session]) +2216 self.sessions[session]['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors', sessions = [session]) +2217 self.sessions[session][f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', sessions = [session]) +2218 +2219 if self.standardization_method == 'pooled': +2220 for session in self.sessions: +2221 +2222 # different (better?) computation of D4x repeatability for each session: +2223 sqresiduals = [(r[f'D{self._4x}'] - self.samples[r['Sample']][f'D{self._4x}'])**2 for r in self.sessions[session]['data']] +2224 self.sessions[session][f'r_D{self._4x}'] = np.mean(sqresiduals)**.5 +2225 +2226 self.sessions[session]['a'] = self.standardization.params.valuesdict()[f'a_{pf(session)}'] +2227 i = self.standardization.var_names.index(f'a_{pf(session)}') +2228 self.sessions[session]['SE_a'] = self.standardization.covar[i,i]**.5 +2229 +2230 self.sessions[session]['b'] = self.standardization.params.valuesdict()[f'b_{pf(session)}'] +2231 i = self.standardization.var_names.index(f'b_{pf(session)}') +2232 self.sessions[session]['SE_b'] = self.standardization.covar[i,i]**.5 +2233 +2234 self.sessions[session]['c'] = self.standardization.params.valuesdict()[f'c_{pf(session)}'] +2235 i = self.standardization.var_names.index(f'c_{pf(session)}') +2236 self.sessions[session]['SE_c'] = self.standardization.covar[i,i]**.5 +2237 +2238 self.sessions[session]['a2'] = self.standardization.params.valuesdict()[f'a2_{pf(session)}'] +2239 if self.sessions[session]['scrambling_drift']: +2240 i = self.standardization.var_names.index(f'a2_{pf(session)}') +2241 self.sessions[session]['SE_a2'] = self.standardization.covar[i,i]**.5 +2242 else: +2243 self.sessions[session]['SE_a2'] = 0. +2244 +2245 self.sessions[session]['b2'] = self.standardization.params.valuesdict()[f'b2_{pf(session)}'] +2246 if self.sessions[session]['slope_drift']: +2247 i = self.standardization.var_names.index(f'b2_{pf(session)}') +2248 self.sessions[session]['SE_b2'] = self.standardization.covar[i,i]**.5 +2249 else: +2250 self.sessions[session]['SE_b2'] = 0. +2251 +2252 self.sessions[session]['c2'] = self.standardization.params.valuesdict()[f'c2_{pf(session)}'] +2253 if self.sessions[session]['wg_drift']: +2254 i = self.standardization.var_names.index(f'c2_{pf(session)}') +2255 self.sessions[session]['SE_c2'] = self.standardization.covar[i,i]**.5 +2256 else: +2257 self.sessions[session]['SE_c2'] = 0. +2258 +2259 i = self.standardization.var_names.index(f'a_{pf(session)}') +2260 j = self.standardization.var_names.index(f'b_{pf(session)}') +2261 k = self.standardization.var_names.index(f'c_{pf(session)}') +2262 CM = np.zeros((6,6)) +2263 CM[:3,:3] = self.standardization.covar[[i,j,k],:][:,[i,j,k]] +2264 try: +2265 i2 = self.standardization.var_names.index(f'a2_{pf(session)}') +2266 CM[3,[0,1,2,3]] = self.standardization.covar[i2,[i,j,k,i2]] +2267 CM[[0,1,2,3],3] = self.standardization.covar[[i,j,k,i2],i2] +2268 try: +2269 j2 = self.standardization.var_names.index(f'b2_{pf(session)}') +2270 CM[3,4] = self.standardization.covar[i2,j2] +2271 CM[4,3] = self.standardization.covar[j2,i2] +2272 except ValueError: +2273 pass +2274 try: +2275 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') +2276 CM[3,5] = self.standardization.covar[i2,k2] +2277 CM[5,3] = self.standardization.covar[k2,i2] +2278 except ValueError: +2279 pass +2280 except ValueError: +2281 pass +2282 try: +2283 j2 = self.standardization.var_names.index(f'b2_{pf(session)}') +2284 CM[4,[0,1,2,4]] = self.standardization.covar[j2,[i,j,k,j2]] +2285 CM[[0,1,2,4],4] = self.standardization.covar[[i,j,k,j2],j2] +2286 try: +2287 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') +2288 CM[4,5] = self.standardization.covar[j2,k2] +2289 CM[5,4] = self.standardization.covar[k2,j2] +2290 except ValueError: +2291 pass +2292 except ValueError: +2293 pass +2294 try: +2295 k2 = self.standardization.var_names.index(f'c2_{pf(session)}') +2296 CM[5,[0,1,2,5]] = self.standardization.covar[k2,[i,j,k,k2]] +2297 CM[[0,1,2,5],5] = self.standardization.covar[[i,j,k,k2],k2] +2298 except ValueError: +2299 pass 2300 -2301 -2302 @make_verbal -2303 def repeatabilities(self): -2304 ''' -2305 Compute analytical repeatabilities for δ13C_VPDB, δ18O_VSMOW, Δ4x -2306 (for all samples, for anchors, and for unknowns). -2307 ''' -2308 self.msg('Computing reproducibilities for all sessions') -2309 -2310 self.repeatability['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors') -2311 self.repeatability['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors') -2312 self.repeatability[f'r_D{self._4x}a'] = self.compute_r(f'D{self._4x}', samples = 'anchors') -2313 self.repeatability[f'r_D{self._4x}u'] = self.compute_r(f'D{self._4x}', samples = 'unknowns') -2314 self.repeatability[f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', samples = 'all samples') -2315 -2316 -2317 @make_verbal -2318 def consolidate(self, tables = True, plots = True): -2319 ''' -2320 Collect information about samples, sessions and repeatabilities. -2321 ''' -2322 self.consolidate_samples() -2323 self.consolidate_sessions() -2324 self.repeatabilities() -2325 -2326 if tables: -2327 self.summary() -2328 self.table_of_sessions() -2329 self.table_of_analyses() -2330 self.table_of_samples() -2331 -2332 if plots: -2333 self.plot_sessions() -2334 -2335 -2336 @make_verbal -2337 def rmswd(self, -2338 samples = 'all samples', -2339 sessions = 'all sessions', -2340 ): -2341 ''' -2342 Compute the χ2, root mean squared weighted deviation -2343 (i.e. reduced χ2), and corresponding degrees of freedom of the -2344 Δ4x values for samples in `samples` and sessions in `sessions`. -2345 -2346 Only used in `D4xdata.standardize()` with `method='indep_sessions'`. -2347 ''' -2348 if samples == 'all samples': -2349 mysamples = [k for k in self.samples] -2350 elif samples == 'anchors': -2351 mysamples = [k for k in self.anchors] -2352 elif samples == 'unknowns': -2353 mysamples = [k for k in self.unknowns] -2354 else: -2355 mysamples = samples -2356 -2357 if sessions == 'all sessions': -2358 sessions = [k for k in self.sessions] -2359 -2360 chisq, Nf = 0, 0 -2361 for sample in mysamples : -2362 G = [ r for r in self if r['Sample'] == sample and r['Session'] in sessions ] -2363 if len(G) > 1 : -2364 X, sX = w_avg([r[f'D{self._4x}'] for r in G], [r[f'wD{self._4x}'] for r in G]) -2365 Nf += (len(G) - 1) -2366 chisq += np.sum([ ((r[f'D{self._4x}']-X)/r[f'wD{self._4x}'])**2 for r in G]) -2367 r = (chisq / Nf)**.5 if Nf > 0 else 0 -2368 self.msg(f'RMSWD of r["D{self._4x}"] is {r:.6f} for {samples}.') -2369 return {'rmswd': r, 'chisq': chisq, 'Nf': Nf} -2370 -2371 -2372 @make_verbal -2373 def compute_r(self, key, samples = 'all samples', sessions = 'all sessions'): -2374 ''' -2375 Compute the repeatability of `[r[key] for r in self]` -2376 ''' -2377 -2378 if samples == 'all samples': -2379 mysamples = [k for k in self.samples] -2380 elif samples == 'anchors': -2381 mysamples = [k for k in self.anchors] -2382 elif samples == 'unknowns': -2383 mysamples = [k for k in self.unknowns] -2384 else: -2385 mysamples = samples -2386 -2387 if sessions == 'all sessions': -2388 sessions = [k for k in self.sessions] -2389 -2390 if key in ['D47', 'D48']: -2391 # Full disclosure: the definition of Nf is tricky/debatable -2392 G = [r for r in self if r['Sample'] in mysamples and r['Session'] in sessions] -2393 chisq = (np.array([r[f'{key}_residual'] for r in G])**2).sum() -2394 Nf = len(G) -2395# print(f'len(G) = {Nf}') -2396 Nf -= len([s for s in mysamples if s in self.unknowns]) -2397# print(f'{len([s for s in mysamples if s in self.unknowns])} unknown samples to consider') -2398 for session in sessions: -2399 Np = len([ -2400 _ for _ in self.standardization.params -2401 if ( -2402 self.standardization.params[_].expr is not None -2403 and ( -2404 (_[0] in 'abc' and _[1] == '_' and _[2:] == pf(session)) -2405 or (_[0] in 'abc' and _[1:3] == '2_' and _[3:] == pf(session)) -2406 ) -2407 ) -2408 ]) -2409# print(f'session {session}: {Np} parameters to consider') -2410 Na = len({ -2411 r['Sample'] for r in self.sessions[session]['data'] -2412 if r['Sample'] in self.anchors and r['Sample'] in mysamples -2413 }) -2414# print(f'session {session}: {Na} different anchors in that session') -2415 Nf -= min(Np, Na) -2416# print(f'Nf = {Nf}') -2417 -2418# for sample in mysamples : -2419# X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ] -2420# if len(X) > 1 : -2421# chisq += np.sum([ (x-self.samples[sample][key])**2 for x in X ]) -2422# if sample in self.unknowns: -2423# Nf += len(X) - 1 -2424# else: -2425# Nf += len(X) -2426# if samples in ['anchors', 'all samples']: -2427# Nf -= sum([self.sessions[s]['Np'] for s in sessions]) -2428 r = (chisq / Nf)**.5 if Nf > 0 else 0 -2429 -2430 else: # if key not in ['D47', 'D48'] -2431 chisq, Nf = 0, 0 -2432 for sample in mysamples : -2433 X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ] -2434 if len(X) > 1 : -2435 Nf += len(X) - 1 -2436 chisq += np.sum([ (x-np.mean(X))**2 for x in X ]) -2437 r = (chisq / Nf)**.5 if Nf > 0 else 0 -2438 -2439 self.msg(f'Repeatability of r["{key}"] is {1000*r:.1f} ppm for {samples}.') -2440 return r -2441 -2442 def sample_average(self, samples, weights = 'equal', normalize = True): -2443 ''' -2444 Weighted average Δ4x value of a group of samples, accounting for covariance. -2445 -2446 Returns the weighed average Δ4x value and associated SE -2447 of a group of samples. Weights are equal by default. If `normalize` is -2448 true, `weights` will be rescaled so that their sum equals 1. -2449 -2450 **Examples** -2451 -2452 ```python -2453 self.sample_average(['X','Y'], [1, 2]) -2454 ``` -2455 -2456 returns the value and SE of [Δ4x(X) + 2 Δ4x(Y)]/3, -2457 where Δ4x(X) and Δ4x(Y) are the average Δ4x -2458 values of samples X and Y, respectively. -2459 -2460 ```python -2461 self.sample_average(['X','Y'], [1, -1], normalize = False) -2462 ``` -2463 -2464 returns the value and SE of the difference Δ4x(X) - Δ4x(Y). -2465 ''' -2466 if weights == 'equal': -2467 weights = [1/len(samples)] * len(samples) +2301 self.sessions[session]['CM'] = CM +2302 +2303 elif self.standardization_method == 'indep_sessions': +2304 pass # Not implemented yet +2305 +2306 +2307 @make_verbal +2308 def repeatabilities(self): +2309 ''' +2310 Compute analytical repeatabilities for δ13C_VPDB, δ18O_VSMOW, Δ4x +2311 (for all samples, for anchors, and for unknowns). +2312 ''' +2313 self.msg('Computing reproducibilities for all sessions') +2314 +2315 self.repeatability['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors') +2316 self.repeatability['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors') +2317 self.repeatability[f'r_D{self._4x}a'] = self.compute_r(f'D{self._4x}', samples = 'anchors') +2318 self.repeatability[f'r_D{self._4x}u'] = self.compute_r(f'D{self._4x}', samples = 'unknowns') +2319 self.repeatability[f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', samples = 'all samples') +2320 +2321 +2322 @make_verbal +2323 def consolidate(self, tables = True, plots = True): +2324 ''' +2325 Collect information about samples, sessions and repeatabilities. +2326 ''' +2327 self.consolidate_samples() +2328 self.consolidate_sessions() +2329 self.repeatabilities() +2330 +2331 if tables: +2332 self.summary() +2333 self.table_of_sessions() +2334 self.table_of_analyses() +2335 self.table_of_samples() +2336 +2337 if plots: +2338 self.plot_sessions() +2339 +2340 +2341 @make_verbal +2342 def rmswd(self, +2343 samples = 'all samples', +2344 sessions = 'all sessions', +2345 ): +2346 ''' +2347 Compute the χ2, root mean squared weighted deviation +2348 (i.e. reduced χ2), and corresponding degrees of freedom of the +2349 Δ4x values for samples in `samples` and sessions in `sessions`. +2350 +2351 Only used in `D4xdata.standardize()` with `method='indep_sessions'`. +2352 ''' +2353 if samples == 'all samples': +2354 mysamples = [k for k in self.samples] +2355 elif samples == 'anchors': +2356 mysamples = [k for k in self.anchors] +2357 elif samples == 'unknowns': +2358 mysamples = [k for k in self.unknowns] +2359 else: +2360 mysamples = samples +2361 +2362 if sessions == 'all sessions': +2363 sessions = [k for k in self.sessions] +2364 +2365 chisq, Nf = 0, 0 +2366 for sample in mysamples : +2367 G = [ r for r in self if r['Sample'] == sample and r['Session'] in sessions ] +2368 if len(G) > 1 : +2369 X, sX = w_avg([r[f'D{self._4x}'] for r in G], [r[f'wD{self._4x}'] for r in G]) +2370 Nf += (len(G) - 1) +2371 chisq += np.sum([ ((r[f'D{self._4x}']-X)/r[f'wD{self._4x}'])**2 for r in G]) +2372 r = (chisq / Nf)**.5 if Nf > 0 else 0 +2373 self.msg(f'RMSWD of r["D{self._4x}"] is {r:.6f} for {samples}.') +2374 return {'rmswd': r, 'chisq': chisq, 'Nf': Nf} +2375 +2376 +2377 @make_verbal +2378 def compute_r(self, key, samples = 'all samples', sessions = 'all sessions'): +2379 ''' +2380 Compute the repeatability of `[r[key] for r in self]` +2381 ''' +2382 +2383 if samples == 'all samples': +2384 mysamples = [k for k in self.samples] +2385 elif samples == 'anchors': +2386 mysamples = [k for k in self.anchors] +2387 elif samples == 'unknowns': +2388 mysamples = [k for k in self.unknowns] +2389 else: +2390 mysamples = samples +2391 +2392 if sessions == 'all sessions': +2393 sessions = [k for k in self.sessions] +2394 +2395 if key in ['D47', 'D48']: +2396 # Full disclosure: the definition of Nf is tricky/debatable +2397 G = [r for r in self if r['Sample'] in mysamples and r['Session'] in sessions] +2398 chisq = (np.array([r[f'{key}_residual'] for r in G])**2).sum() +2399 Nf = len(G) +2400# print(f'len(G) = {Nf}') +2401 Nf -= len([s for s in mysamples if s in self.unknowns]) +2402# print(f'{len([s for s in mysamples if s in self.unknowns])} unknown samples to consider') +2403 for session in sessions: +2404 Np = len([ +2405 _ for _ in self.standardization.params +2406 if ( +2407 self.standardization.params[_].expr is not None +2408 and ( +2409 (_[0] in 'abc' and _[1] == '_' and _[2:] == pf(session)) +2410 or (_[0] in 'abc' and _[1:3] == '2_' and _[3:] == pf(session)) +2411 ) +2412 ) +2413 ]) +2414# print(f'session {session}: {Np} parameters to consider') +2415 Na = len({ +2416 r['Sample'] for r in self.sessions[session]['data'] +2417 if r['Sample'] in self.anchors and r['Sample'] in mysamples +2418 }) +2419# print(f'session {session}: {Na} different anchors in that session') +2420 Nf -= min(Np, Na) +2421# print(f'Nf = {Nf}') +2422 +2423# for sample in mysamples : +2424# X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ] +2425# if len(X) > 1 : +2426# chisq += np.sum([ (x-self.samples[sample][key])**2 for x in X ]) +2427# if sample in self.unknowns: +2428# Nf += len(X) - 1 +2429# else: +2430# Nf += len(X) +2431# if samples in ['anchors', 'all samples']: +2432# Nf -= sum([self.sessions[s]['Np'] for s in sessions]) +2433 r = (chisq / Nf)**.5 if Nf > 0 else 0 +2434 +2435 else: # if key not in ['D47', 'D48'] +2436 chisq, Nf = 0, 0 +2437 for sample in mysamples : +2438 X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ] +2439 if len(X) > 1 : +2440 Nf += len(X) - 1 +2441 chisq += np.sum([ (x-np.mean(X))**2 for x in X ]) +2442 r = (chisq / Nf)**.5 if Nf > 0 else 0 +2443 +2444 self.msg(f'Repeatability of r["{key}"] is {1000*r:.1f} ppm for {samples}.') +2445 return r +2446 +2447 def sample_average(self, samples, weights = 'equal', normalize = True): +2448 ''' +2449 Weighted average Δ4x value of a group of samples, accounting for covariance. +2450 +2451 Returns the weighed average Δ4x value and associated SE +2452 of a group of samples. Weights are equal by default. If `normalize` is +2453 true, `weights` will be rescaled so that their sum equals 1. +2454 +2455 **Examples** +2456 +2457 ```python +2458 self.sample_average(['X','Y'], [1, 2]) +2459 ``` +2460 +2461 returns the value and SE of [Δ4x(X) + 2 Δ4x(Y)]/3, +2462 where Δ4x(X) and Δ4x(Y) are the average Δ4x +2463 values of samples X and Y, respectively. +2464 +2465 ```python +2466 self.sample_average(['X','Y'], [1, -1], normalize = False) +2467 ``` 2468 -2469 if normalize: -2470 s = sum(weights) -2471 if s: -2472 weights = [w/s for w in weights] +2469 returns the value and SE of the difference Δ4x(X) - Δ4x(Y). +2470 ''' +2471 if weights == 'equal': +2472 weights = [1/len(samples)] * len(samples) 2473 -2474 try: -2475# indices = [self.standardization.var_names.index(f'D47_{pf(sample)}') for sample in samples] -2476# C = self.standardization.covar[indices,:][:,indices] -2477 C = np.array([[self.sample_D4x_covar(x, y) for x in samples] for y in samples]) -2478 X = [self.samples[sample][f'D{self._4x}'] for sample in samples] -2479 return correlated_sum(X, C, weights) -2480 except ValueError: -2481 return (0., 0.) -2482 -2483 -2484 def sample_D4x_covar(self, sample1, sample2 = None): -2485 ''' -2486 Covariance between Δ4x values of samples +2474 if normalize: +2475 s = sum(weights) +2476 if s: +2477 weights = [w/s for w in weights] +2478 +2479 try: +2480# indices = [self.standardization.var_names.index(f'D47_{pf(sample)}') for sample in samples] +2481# C = self.standardization.covar[indices,:][:,indices] +2482 C = np.array([[self.sample_D4x_covar(x, y) for x in samples] for y in samples]) +2483 X = [self.samples[sample][f'D{self._4x}'] for sample in samples] +2484 return correlated_sum(X, C, weights) +2485 except ValueError: +2486 return (0., 0.) 2487 -2488 Returns the error covariance between the average Δ4x values of two -2489 samples. If if only `sample_1` is specified, or if `sample_1 == sample_2`), -2490 returns the Δ4x variance for that sample. -2491 ''' -2492 if sample2 is None: -2493 sample2 = sample1 -2494 if self.standardization_method == 'pooled': -2495 i = self.standardization.var_names.index(f'D{self._4x}_{pf(sample1)}') -2496 j = self.standardization.var_names.index(f'D{self._4x}_{pf(sample2)}') -2497 return self.standardization.covar[i, j] -2498 elif self.standardization_method == 'indep_sessions': -2499 if sample1 == sample2: -2500 return self.samples[sample1][f'SE_D{self._4x}']**2 -2501 else: -2502 c = 0 -2503 for session in self.sessions: -2504 sdata1 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample1] -2505 sdata2 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample2] -2506 if sdata1 and sdata2: -2507 a = self.sessions[session]['a'] -2508 # !! TODO: CM below does not account for temporal changes in standardization parameters -2509 CM = self.sessions[session]['CM'][:3,:3] -2510 avg_D4x_1 = np.mean([r[f'D{self._4x}'] for r in sdata1]) -2511 avg_d4x_1 = np.mean([r[f'd{self._4x}'] for r in sdata1]) -2512 avg_D4x_2 = np.mean([r[f'D{self._4x}'] for r in sdata2]) -2513 avg_d4x_2 = np.mean([r[f'd{self._4x}'] for r in sdata2]) -2514 c += ( -2515 self.unknowns[sample1][f'session_D{self._4x}'][session][2] -2516 * self.unknowns[sample2][f'session_D{self._4x}'][session][2] -2517 * np.array([[avg_D4x_1, avg_d4x_1, 1]]) -2518 @ CM -2519 @ np.array([[avg_D4x_2, avg_d4x_2, 1]]).T -2520 ) / a**2 -2521 return float(c) -2522 -2523 def sample_D4x_correl(self, sample1, sample2 = None): -2524 ''' -2525 Correlation between Δ4x errors of samples -2526 -2527 Returns the error correlation between the average Δ4x values of two samples. -2528 ''' -2529 if sample2 is None or sample2 == sample1: -2530 return 1. -2531 return ( -2532 self.sample_D4x_covar(sample1, sample2) -2533 / self.unknowns[sample1][f'SE_D{self._4x}'] -2534 / self.unknowns[sample2][f'SE_D{self._4x}'] -2535 ) -2536 -2537 def plot_single_session(self, -2538 session, -2539 kw_plot_anchors = dict(ls='None', marker='x', mec=(.75, 0, 0), mew = .75, ms = 4), -2540 kw_plot_unknowns = dict(ls='None', marker='x', mec=(0, 0, .75), mew = .75, ms = 4), -2541 kw_plot_anchor_avg = dict(ls='-', marker='None', color=(.75, 0, 0), lw = .75), -2542 kw_plot_unknown_avg = dict(ls='-', marker='None', color=(0, 0, .75), lw = .75), -2543 kw_contour_error = dict(colors = [[0, 0, 0]], alpha = .5, linewidths = 0.75), -2544 xylimits = 'free', # | 'constant' -2545 x_label = None, -2546 y_label = None, -2547 error_contour_interval = 'auto', -2548 fig = 'new', -2549 ): -2550 ''' -2551 Generate plot for a single session -2552 ''' -2553 if x_label is None: -2554 x_label = f'δ$_{{{self._4x}}}$ (‰)' -2555 if y_label is None: -2556 y_label = f'Δ$_{{{self._4x}}}$ (‰)' -2557 -2558 out = _SessionPlot() -2559 anchors = [a for a in self.anchors if [r for r in self.sessions[session]['data'] if r['Sample'] == a]] -2560 unknowns = [u for u in self.unknowns if [r for r in self.sessions[session]['data'] if r['Sample'] == u]] -2561 -2562 if fig == 'new': -2563 out.fig = ppl.figure(figsize = (6,6)) -2564 ppl.subplots_adjust(.1,.1,.9,.9) -2565 -2566 out.anchor_analyses, = ppl.plot( -2567 [r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors], -2568 [r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors], -2569 **kw_plot_anchors) -2570 out.unknown_analyses, = ppl.plot( -2571 [r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns], -2572 [r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns], -2573 **kw_plot_unknowns) -2574 out.anchor_avg = ppl.plot( -2575 np.array([ np.array([ +2488 +2489 def sample_D4x_covar(self, sample1, sample2 = None): +2490 ''' +2491 Covariance between Δ4x values of samples +2492 +2493 Returns the error covariance between the average Δ4x values of two +2494 samples. If if only `sample_1` is specified, or if `sample_1 == sample_2`), +2495 returns the Δ4x variance for that sample. +2496 ''' +2497 if sample2 is None: +2498 sample2 = sample1 +2499 if self.standardization_method == 'pooled': +2500 i = self.standardization.var_names.index(f'D{self._4x}_{pf(sample1)}') +2501 j = self.standardization.var_names.index(f'D{self._4x}_{pf(sample2)}') +2502 return self.standardization.covar[i, j] +2503 elif self.standardization_method == 'indep_sessions': +2504 if sample1 == sample2: +2505 return self.samples[sample1][f'SE_D{self._4x}']**2 +2506 else: +2507 c = 0 +2508 for session in self.sessions: +2509 sdata1 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample1] +2510 sdata2 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample2] +2511 if sdata1 and sdata2: +2512 a = self.sessions[session]['a'] +2513 # !! TODO: CM below does not account for temporal changes in standardization parameters +2514 CM = self.sessions[session]['CM'][:3,:3] +2515 avg_D4x_1 = np.mean([r[f'D{self._4x}'] for r in sdata1]) +2516 avg_d4x_1 = np.mean([r[f'd{self._4x}'] for r in sdata1]) +2517 avg_D4x_2 = np.mean([r[f'D{self._4x}'] for r in sdata2]) +2518 avg_d4x_2 = np.mean([r[f'd{self._4x}'] for r in sdata2]) +2519 c += ( +2520 self.unknowns[sample1][f'session_D{self._4x}'][session][2] +2521 * self.unknowns[sample2][f'session_D{self._4x}'][session][2] +2522 * np.array([[avg_D4x_1, avg_d4x_1, 1]]) +2523 @ CM +2524 @ np.array([[avg_D4x_2, avg_d4x_2, 1]]).T +2525 ) / a**2 +2526 return float(c) +2527 +2528 def sample_D4x_correl(self, sample1, sample2 = None): +2529 ''' +2530 Correlation between Δ4x errors of samples +2531 +2532 Returns the error correlation between the average Δ4x values of two samples. +2533 ''' +2534 if sample2 is None or sample2 == sample1: +2535 return 1. +2536 return ( +2537 self.sample_D4x_covar(sample1, sample2) +2538 / self.unknowns[sample1][f'SE_D{self._4x}'] +2539 / self.unknowns[sample2][f'SE_D{self._4x}'] +2540 ) +2541 +2542 def plot_single_session(self, +2543 session, +2544 kw_plot_anchors = dict(ls='None', marker='x', mec=(.75, 0, 0), mew = .75, ms = 4), +2545 kw_plot_unknowns = dict(ls='None', marker='x', mec=(0, 0, .75), mew = .75, ms = 4), +2546 kw_plot_anchor_avg = dict(ls='-', marker='None', color=(.75, 0, 0), lw = .75), +2547 kw_plot_unknown_avg = dict(ls='-', marker='None', color=(0, 0, .75), lw = .75), +2548 kw_contour_error = dict(colors = [[0, 0, 0]], alpha = .5, linewidths = 0.75), +2549 xylimits = 'free', # | 'constant' +2550 x_label = None, +2551 y_label = None, +2552 error_contour_interval = 'auto', +2553 fig = 'new', +2554 ): +2555 ''' +2556 Generate plot for a single session +2557 ''' +2558 if x_label is None: +2559 x_label = f'δ$_{{{self._4x}}}$ (‰)' +2560 if y_label is None: +2561 y_label = f'Δ$_{{{self._4x}}}$ (‰)' +2562 +2563 out = _SessionPlot() +2564 anchors = [a for a in self.anchors if [r for r in self.sessions[session]['data'] if r['Sample'] == a]] +2565 unknowns = [u for u in self.unknowns if [r for r in self.sessions[session]['data'] if r['Sample'] == u]] +2566 anchors_d = [r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors] +2567 anchors_D = [r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors] +2568 unknowns_d = [r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns] +2569 unknowns_D = [r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns] +2570 anchor_avg = (np.array([ np.array([ +2571 np.min([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) - 1, +2572 np.max([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) + 1 +2573 ]) for sample in anchors]).T, +2574 np.array([ np.array([0, 0]) + self.Nominal_D4x[sample] for sample in anchors]).T) +2575 unknown_avg = (np.array([ np.array([ 2576 np.min([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) - 1, 2577 np.max([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) + 1 -2578 ]) for sample in anchors]).T, -2579 np.array([ np.array([0, 0]) + self.Nominal_D4x[sample] for sample in anchors]).T, -2580 **kw_plot_anchor_avg) -2581 out.unknown_avg = ppl.plot( -2582 np.array([ np.array([ -2583 np.min([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) - 1, -2584 np.max([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) + 1 -2585 ]) for sample in unknowns]).T, -2586 np.array([ np.array([0, 0]) + self.unknowns[sample][f'D{self._4x}'] for sample in unknowns]).T, -2587 **kw_plot_unknown_avg) -2588 if xylimits == 'constant': -2589 x = [r[f'd{self._4x}'] for r in self] -2590 y = [r[f'D{self._4x}'] for r in self] -2591 x1, x2, y1, y2 = np.min(x), np.max(x), np.min(y), np.max(y) -2592 w, h = x2-x1, y2-y1 -2593 x1 -= w/20 -2594 x2 += w/20 -2595 y1 -= h/20 -2596 y2 += h/20 -2597 ppl.axis([x1, x2, y1, y2]) -2598 elif xylimits == 'free': -2599 x1, x2, y1, y2 = ppl.axis() -2600 else: -2601 x1, x2, y1, y2 = ppl.axis(xylimits) -2602 -2603 if error_contour_interval != 'none': -2604 xi, yi = np.linspace(x1, x2), np.linspace(y1, y2) -2605 XI,YI = np.meshgrid(xi, yi) -2606 SI = np.array([[self.standardization_error(session, x, y) for x in xi] for y in yi]) -2607 if error_contour_interval == 'auto': -2608 rng = np.max(SI) - np.min(SI) -2609 if rng <= 0.01: -2610 cinterval = 0.001 -2611 elif rng <= 0.03: -2612 cinterval = 0.004 -2613 elif rng <= 0.1: -2614 cinterval = 0.01 -2615 elif rng <= 0.3: -2616 cinterval = 0.03 -2617 elif rng <= 1.: -2618 cinterval = 0.1 -2619 else: -2620 cinterval = 0.5 -2621 else: -2622 cinterval = error_contour_interval -2623 -2624 cval = np.arange(np.ceil(SI.min() / .001) * .001, np.ceil(SI.max() / .001 + 1) * .001, cinterval) -2625 out.contour = ppl.contour(XI, YI, SI, cval, **kw_contour_error) -2626 out.clabel = ppl.clabel(out.contour) -2627 -2628 ppl.xlabel(x_label) -2629 ppl.ylabel(y_label) -2630 ppl.title(session, weight = 'bold') -2631 ppl.grid(alpha = .2) -2632 out.ax = ppl.gca() -2633 -2634 return out +2578 ]) for sample in unknowns]).T, +2579 np.array([ np.array([0, 0]) + self.unknowns[sample][f'D{self._4x}'] for sample in unknowns]).T) +2580 +2581 +2582 if fig == 'new': +2583 out.fig = ppl.figure(figsize = (6,6)) +2584 ppl.subplots_adjust(.1,.1,.9,.9) +2585 +2586 out.anchor_analyses, = ppl.plot( +2587 anchors_d, +2588 anchors_D, +2589 **kw_plot_anchors) +2590 out.unknown_analyses, = ppl.plot( +2591 unknowns_d, +2592 unknowns_D, +2593 **kw_plot_unknowns) +2594 out.anchor_avg = ppl.plot( +2595 *anchor_avg, +2596 **kw_plot_anchor_avg) +2597 out.unknown_avg = ppl.plot( +2598 *unknown_avg, +2599 **kw_plot_unknown_avg) +2600 if xylimits == 'constant': +2601 x = [r[f'd{self._4x}'] for r in self] +2602 y = [r[f'D{self._4x}'] for r in self] +2603 x1, x2, y1, y2 = np.min(x), np.max(x), np.min(y), np.max(y) +2604 w, h = x2-x1, y2-y1 +2605 x1 -= w/20 +2606 x2 += w/20 +2607 y1 -= h/20 +2608 y2 += h/20 +2609 ppl.axis([x1, x2, y1, y2]) +2610 elif xylimits == 'free': +2611 x1, x2, y1, y2 = ppl.axis() +2612 else: +2613 x1, x2, y1, y2 = ppl.axis(xylimits) +2614 +2615 if error_contour_interval != 'none': +2616 xi, yi = np.linspace(x1, x2), np.linspace(y1, y2) +2617 XI,YI = np.meshgrid(xi, yi) +2618 SI = np.array([[self.standardization_error(session, x, y) for x in xi] for y in yi]) +2619 if error_contour_interval == 'auto': +2620 rng = np.max(SI) - np.min(SI) +2621 if rng <= 0.01: +2622 cinterval = 0.001 +2623 elif rng <= 0.03: +2624 cinterval = 0.004 +2625 elif rng <= 0.1: +2626 cinterval = 0.01 +2627 elif rng <= 0.3: +2628 cinterval = 0.03 +2629 elif rng <= 1.: +2630 cinterval = 0.1 +2631 else: +2632 cinterval = 0.5 +2633 else: +2634 cinterval = error_contour_interval 2635 -2636 def plot_residuals( -2637 self, -2638 kde = False, -2639 hist = False, -2640 binwidth = 2/3, -2641 dir = 'output', -2642 filename = None, -2643 highlight = [], -2644 colors = None, -2645 figsize = None, -2646 dpi = 100, -2647 yspan = None, -2648 ): -2649 ''' -2650 Plot residuals of each analysis as a function of time (actually, as a function of -2651 the order of analyses in the `D4xdata` object) -2652 -2653 + `kde`: whether to add a kernel density estimate of residuals -2654 + `hist`: whether to add a histogram of residuals (incompatible with `kde`) -2655 + `histbins`: specify bin edges for the histogram -2656 + `dir`: the directory in which to save the plot -2657 + `highlight`: a list of samples to highlight -2658 + `colors`: a dict of `{<sample>: <color>}` for all samples -2659 + `figsize`: (width, height) of figure -2660 + `dpi`: resolution for PNG output -2661 + `yspan`: factor controlling the range of y values shown in plot -2662 (by default: `yspan = 1.5 if kde else 1.0`) -2663 ''' -2664 -2665 from matplotlib import ticker -2666 -2667 if yspan is None: -2668 if kde: -2669 yspan = 1.5 -2670 else: -2671 yspan = 1.0 -2672 -2673 # Layout -2674 fig = ppl.figure(figsize = (8,4) if figsize is None else figsize) -2675 if hist or kde: -2676 ppl.subplots_adjust(left = .08, bottom = .05, right = .98, top = .8, wspace = -0.72) -2677 ax1, ax2 = ppl.subplot(121), ppl.subplot(1,15,15) -2678 else: -2679 ppl.subplots_adjust(.08,.05,.78,.8) -2680 ax1 = ppl.subplot(111) -2681 -2682 # Colors -2683 N = len(self.anchors) -2684 if colors is None: -2685 if len(highlight) > 0: -2686 Nh = len(highlight) -2687 if Nh == 1: -2688 colors = {highlight[0]: (0,0,0)} -2689 elif Nh == 3: -2690 colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0)])} -2691 elif Nh == 4: -2692 colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])} -2693 else: -2694 colors = {a: hls_to_rgb(k/Nh, .4, 1) for k,a in enumerate(highlight)} -2695 else: -2696 if N == 3: -2697 colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0)])} -2698 elif N == 4: -2699 colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])} -2700 else: -2701 colors = {a: hls_to_rgb(k/N, .4, 1) for k,a in enumerate(self.anchors)} -2702 -2703 ppl.sca(ax1) -2704 -2705 ppl.axhline(0, color = 'k', alpha = .25, lw = 0.75) -2706 -2707 ax1.yaxis.set_major_formatter(ticker.FuncFormatter(lambda x, pos: f'${x:+.0f}$' if x else '$0$')) -2708 -2709 session = self[0]['Session'] -2710 x1 = 0 -2711# ymax = np.max([1e3 * (r['D47'] - self.samples[r['Sample']]['D47']) for r in self]) -2712 x_sessions = {} -2713 one_or_more_singlets = False -2714 one_or_more_multiplets = False -2715 multiplets = set() -2716 for k,r in enumerate(self): -2717 if r['Session'] != session: -2718 x2 = k-1 -2719 x_sessions[session] = (x1+x2)/2 -2720 ppl.axvline(k - 0.5, color = 'k', lw = .5) -2721 session = r['Session'] -2722 x1 = k -2723 singlet = len(self.samples[r['Sample']]['data']) == 1 -2724 if not singlet: -2725 multiplets.add(r['Sample']) -2726 if r['Sample'] in self.unknowns: -2727 if singlet: -2728 one_or_more_singlets = True -2729 else: -2730 one_or_more_multiplets = True -2731 kw = dict( -2732 marker = 'x' if singlet else '+', -2733 ms = 4 if singlet else 5, -2734 ls = 'None', -2735 mec = colors[r['Sample']] if r['Sample'] in colors else (0,0,0), -2736 mew = 1, -2737 alpha = 0.2 if singlet else 1, -2738 ) -2739 if highlight and r['Sample'] not in highlight: -2740 kw['alpha'] = 0.2 -2741 ppl.plot(k, 1e3 * r[f'D{self._4x}_residual'], **kw) -2742 x2 = k -2743 x_sessions[session] = (x1+x2)/2 -2744 -2745 ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000, self.repeatability[f'r_D{self._4x}']*1000, color = 'k', alpha = .05, lw = 1) -2746 ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000*self.t95, self.repeatability[f'r_D{self._4x}']*1000*self.t95, color = 'k', alpha = .05, lw = 1) -2747 if not (hist or kde): -2748 ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000, f" SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm", size = 9, alpha = 1, va = 'center') -2749 ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000*self.t95, f" 95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm", size = 9, alpha = 1, va = 'center') -2750 -2751 xmin, xmax, ymin, ymax = ppl.axis() -2752 if yspan != 1: -2753 ymin, ymax = (ymin + ymax)/2 - yspan * (ymax - ymin)/2, (ymin + ymax)/2 + yspan * (ymax - ymin)/2 -2754 for s in x_sessions: -2755 ppl.text( -2756 x_sessions[s], -2757 ymax +1, -2758 s, -2759 va = 'bottom', -2760 **( -2761 dict(ha = 'center') -2762 if len(self.sessions[s]['data']) > (0.15 * len(self)) -2763 else dict(ha = 'left', rotation = 45) -2764 ) -2765 ) -2766 -2767 if hist or kde: -2768 ppl.sca(ax2) -2769 -2770 for s in colors: -2771 kw['marker'] = '+' -2772 kw['ms'] = 5 -2773 kw['mec'] = colors[s] -2774 kw['label'] = s -2775 kw['alpha'] = 1 -2776 ppl.plot([], [], **kw) -2777 -2778 kw['mec'] = (0,0,0) -2779 -2780 if one_or_more_singlets: -2781 kw['marker'] = 'x' -2782 kw['ms'] = 4 -2783 kw['alpha'] = .2 -2784 kw['label'] = 'other (N$\\,$=$\\,$1)' if one_or_more_multiplets else 'other' -2785 ppl.plot([], [], **kw) -2786 -2787 if one_or_more_multiplets: -2788 kw['marker'] = '+' -2789 kw['ms'] = 4 -2790 kw['alpha'] = 1 -2791 kw['label'] = 'other (N$\\,$>$\\,$1)' if one_or_more_singlets else 'other' -2792 ppl.plot([], [], **kw) -2793 -2794 if hist or kde: -2795 leg = ppl.legend(loc = 'upper right', bbox_to_anchor = (1, 1), bbox_transform=fig.transFigure, borderaxespad = 1.5, fontsize = 9) -2796 else: -2797 leg = ppl.legend(loc = 'lower right', bbox_to_anchor = (1, 0), bbox_transform=fig.transFigure, borderaxespad = 1.5) -2798 leg.set_zorder(-1000) -2799 -2800 ppl.sca(ax1) -2801 -2802 ppl.ylabel(f'Δ$_{{{self._4x}}}$ residuals (ppm)') -2803 ppl.xticks([]) -2804 ppl.axis([-1, len(self), None, None]) +2636 cval = np.arange(np.ceil(SI.min() / .001) * .001, np.ceil(SI.max() / .001 + 1) * .001, cinterval) +2637 out.contour = ppl.contour(XI, YI, SI, cval, **kw_contour_error) +2638 out.clabel = ppl.clabel(out.contour) +2639 contour = (XI, YI, SI, cval, cinterval) +2640 +2641 if fig == None: +2642 return { +2643 'anchors':anchors, +2644 'unknowns':unknowns, +2645 'anchors_d':anchors_d, +2646 'anchors_D':anchors_D, +2647 'unknowns_d':unknowns_d, +2648 'unknowns_D':unknowns_D, +2649 'anchor_avg':anchor_avg, +2650 'unknown_avg':unknown_avg, +2651 'contour':contour, +2652 } +2653 +2654 ppl.xlabel(x_label) +2655 ppl.ylabel(y_label) +2656 ppl.title(session, weight = 'bold') +2657 ppl.grid(alpha = .2) +2658 out.ax = ppl.gca() +2659 +2660 return out +2661 +2662 def plot_residuals( +2663 self, +2664 kde = False, +2665 hist = False, +2666 binwidth = 2/3, +2667 dir = 'output', +2668 filename = None, +2669 highlight = [], +2670 colors = None, +2671 figsize = None, +2672 dpi = 100, +2673 yspan = None, +2674 ): +2675 ''' +2676 Plot residuals of each analysis as a function of time (actually, as a function of +2677 the order of analyses in the `D4xdata` object) +2678 +2679 + `kde`: whether to add a kernel density estimate of residuals +2680 + `hist`: whether to add a histogram of residuals (incompatible with `kde`) +2681 + `histbins`: specify bin edges for the histogram +2682 + `dir`: the directory in which to save the plot +2683 + `highlight`: a list of samples to highlight +2684 + `colors`: a dict of `{<sample>: <color>}` for all samples +2685 + `figsize`: (width, height) of figure +2686 + `dpi`: resolution for PNG output +2687 + `yspan`: factor controlling the range of y values shown in plot +2688 (by default: `yspan = 1.5 if kde else 1.0`) +2689 ''' +2690 +2691 from matplotlib import ticker +2692 +2693 if yspan is None: +2694 if kde: +2695 yspan = 1.5 +2696 else: +2697 yspan = 1.0 +2698 +2699 # Layout +2700 fig = ppl.figure(figsize = (8,4) if figsize is None else figsize) +2701 if hist or kde: +2702 ppl.subplots_adjust(left = .08, bottom = .05, right = .98, top = .8, wspace = -0.72) +2703 ax1, ax2 = ppl.subplot(121), ppl.subplot(1,15,15) +2704 else: +2705 ppl.subplots_adjust(.08,.05,.78,.8) +2706 ax1 = ppl.subplot(111) +2707 +2708 # Colors +2709 N = len(self.anchors) +2710 if colors is None: +2711 if len(highlight) > 0: +2712 Nh = len(highlight) +2713 if Nh == 1: +2714 colors = {highlight[0]: (0,0,0)} +2715 elif Nh == 3: +2716 colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0)])} +2717 elif Nh == 4: +2718 colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])} +2719 else: +2720 colors = {a: hls_to_rgb(k/Nh, .4, 1) for k,a in enumerate(highlight)} +2721 else: +2722 if N == 3: +2723 colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0)])} +2724 elif N == 4: +2725 colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])} +2726 else: +2727 colors = {a: hls_to_rgb(k/N, .4, 1) for k,a in enumerate(self.anchors)} +2728 +2729 ppl.sca(ax1) +2730 +2731 ppl.axhline(0, color = 'k', alpha = .25, lw = 0.75) +2732 +2733 ax1.yaxis.set_major_formatter(ticker.FuncFormatter(lambda x, pos: f'${x:+.0f}$' if x else '$0$')) +2734 +2735 session = self[0]['Session'] +2736 x1 = 0 +2737# ymax = np.max([1e3 * (r['D47'] - self.samples[r['Sample']]['D47']) for r in self]) +2738 x_sessions = {} +2739 one_or_more_singlets = False +2740 one_or_more_multiplets = False +2741 multiplets = set() +2742 for k,r in enumerate(self): +2743 if r['Session'] != session: +2744 x2 = k-1 +2745 x_sessions[session] = (x1+x2)/2 +2746 ppl.axvline(k - 0.5, color = 'k', lw = .5) +2747 session = r['Session'] +2748 x1 = k +2749 singlet = len(self.samples[r['Sample']]['data']) == 1 +2750 if not singlet: +2751 multiplets.add(r['Sample']) +2752 if r['Sample'] in self.unknowns: +2753 if singlet: +2754 one_or_more_singlets = True +2755 else: +2756 one_or_more_multiplets = True +2757 kw = dict( +2758 marker = 'x' if singlet else '+', +2759 ms = 4 if singlet else 5, +2760 ls = 'None', +2761 mec = colors[r['Sample']] if r['Sample'] in colors else (0,0,0), +2762 mew = 1, +2763 alpha = 0.2 if singlet else 1, +2764 ) +2765 if highlight and r['Sample'] not in highlight: +2766 kw['alpha'] = 0.2 +2767 ppl.plot(k, 1e3 * r[f'D{self._4x}_residual'], **kw) +2768 x2 = k +2769 x_sessions[session] = (x1+x2)/2 +2770 +2771 ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000, self.repeatability[f'r_D{self._4x}']*1000, color = 'k', alpha = .05, lw = 1) +2772 ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000*self.t95, self.repeatability[f'r_D{self._4x}']*1000*self.t95, color = 'k', alpha = .05, lw = 1) +2773 if not (hist or kde): +2774 ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000, f" SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm", size = 9, alpha = 1, va = 'center') +2775 ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000*self.t95, f" 95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm", size = 9, alpha = 1, va = 'center') +2776 +2777 xmin, xmax, ymin, ymax = ppl.axis() +2778 if yspan != 1: +2779 ymin, ymax = (ymin + ymax)/2 - yspan * (ymax - ymin)/2, (ymin + ymax)/2 + yspan * (ymax - ymin)/2 +2780 for s in x_sessions: +2781 ppl.text( +2782 x_sessions[s], +2783 ymax +1, +2784 s, +2785 va = 'bottom', +2786 **( +2787 dict(ha = 'center') +2788 if len(self.sessions[s]['data']) > (0.15 * len(self)) +2789 else dict(ha = 'left', rotation = 45) +2790 ) +2791 ) +2792 +2793 if hist or kde: +2794 ppl.sca(ax2) +2795 +2796 for s in colors: +2797 kw['marker'] = '+' +2798 kw['ms'] = 5 +2799 kw['mec'] = colors[s] +2800 kw['label'] = s +2801 kw['alpha'] = 1 +2802 ppl.plot([], [], **kw) +2803 +2804 kw['mec'] = (0,0,0) 2805 -2806 if hist or kde: -2807 ppl.sca(ax2) -2808 X = 1e3 * np.array([r[f'D{self._4x}_residual'] for r in self if r['Sample'] in multiplets or r['Sample'] in self.anchors]) -2809 -2810 if kde: -2811 from scipy.stats import gaussian_kde -2812 yi = np.linspace(ymin, ymax, 201) -2813 xi = gaussian_kde(X).evaluate(yi) -2814 ppl.fill_betweenx(yi, xi, xi*0, fc = (0,0,0,.15), lw = 1, ec = (.75,.75,.75,1)) -2815# ppl.plot(xi, yi, 'k-', lw = 1) -2816 elif hist: -2817 ppl.hist( -2818 X, -2819 orientation = 'horizontal', -2820 histtype = 'stepfilled', -2821 ec = [.4]*3, -2822 fc = [.25]*3, -2823 alpha = .25, -2824 bins = np.linspace(-9e3*self.repeatability[f'r_D{self._4x}'], 9e3*self.repeatability[f'r_D{self._4x}'], int(18/binwidth+1)), -2825 ) -2826 ppl.text(0, 0, -2827 f" SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm\n 95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm", -2828 size = 7.5, -2829 alpha = 1, -2830 va = 'center', -2831 ha = 'left', -2832 ) -2833 -2834 ppl.axis([0, None, ymin, ymax]) -2835 ppl.xticks([]) -2836 ppl.yticks([]) -2837# ax2.spines['left'].set_visible(False) -2838 ax2.spines['right'].set_visible(False) -2839 ax2.spines['top'].set_visible(False) -2840 ax2.spines['bottom'].set_visible(False) -2841 -2842 ax1.axis([None, None, ymin, ymax]) -2843 -2844 if not os.path.exists(dir): -2845 os.makedirs(dir) -2846 if filename is None: -2847 return fig -2848 elif filename == '': -2849 filename = f'D{self._4x}_residuals.pdf' -2850 ppl.savefig(f'{dir}/{filename}', dpi = dpi) -2851 ppl.close(fig) -2852 -2853 -2854 def simulate(self, *args, **kwargs): -2855 ''' -2856 Legacy function with warning message pointing to `virtual_data()` -2857 ''' -2858 raise DeprecationWarning('D4xdata.simulate is deprecated and has been replaced by virtual_data()') +2806 if one_or_more_singlets: +2807 kw['marker'] = 'x' +2808 kw['ms'] = 4 +2809 kw['alpha'] = .2 +2810 kw['label'] = 'other (N$\\,$=$\\,$1)' if one_or_more_multiplets else 'other' +2811 ppl.plot([], [], **kw) +2812 +2813 if one_or_more_multiplets: +2814 kw['marker'] = '+' +2815 kw['ms'] = 4 +2816 kw['alpha'] = 1 +2817 kw['label'] = 'other (N$\\,$>$\\,$1)' if one_or_more_singlets else 'other' +2818 ppl.plot([], [], **kw) +2819 +2820 if hist or kde: +2821 leg = ppl.legend(loc = 'upper right', bbox_to_anchor = (1, 1), bbox_transform=fig.transFigure, borderaxespad = 1.5, fontsize = 9) +2822 else: +2823 leg = ppl.legend(loc = 'lower right', bbox_to_anchor = (1, 0), bbox_transform=fig.transFigure, borderaxespad = 1.5) +2824 leg.set_zorder(-1000) +2825 +2826 ppl.sca(ax1) +2827 +2828 ppl.ylabel(f'Δ$_{{{self._4x}}}$ residuals (ppm)') +2829 ppl.xticks([]) +2830 ppl.axis([-1, len(self), None, None]) +2831 +2832 if hist or kde: +2833 ppl.sca(ax2) +2834 X = 1e3 * np.array([r[f'D{self._4x}_residual'] for r in self if r['Sample'] in multiplets or r['Sample'] in self.anchors]) +2835 +2836 if kde: +2837 from scipy.stats import gaussian_kde +2838 yi = np.linspace(ymin, ymax, 201) +2839 xi = gaussian_kde(X).evaluate(yi) +2840 ppl.fill_betweenx(yi, xi, xi*0, fc = (0,0,0,.15), lw = 1, ec = (.75,.75,.75,1)) +2841# ppl.plot(xi, yi, 'k-', lw = 1) +2842 elif hist: +2843 ppl.hist( +2844 X, +2845 orientation = 'horizontal', +2846 histtype = 'stepfilled', +2847 ec = [.4]*3, +2848 fc = [.25]*3, +2849 alpha = .25, +2850 bins = np.linspace(-9e3*self.repeatability[f'r_D{self._4x}'], 9e3*self.repeatability[f'r_D{self._4x}'], int(18/binwidth+1)), +2851 ) +2852 ppl.text(0, 0, +2853 f" SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm\n 95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm", +2854 size = 7.5, +2855 alpha = 1, +2856 va = 'center', +2857 ha = 'left', +2858 ) 2859 -2860 def plot_distribution_of_analyses( -2861 self, -2862 dir = 'output', -2863 filename = None, -2864 vs_time = False, -2865 figsize = (6,4), -2866 subplots_adjust = (0.02, 0.13, 0.85, 0.8), -2867 output = None, -2868 dpi = 100, -2869 ): -2870 ''' -2871 Plot temporal distribution of all analyses in the data set. -2872 -2873 **Parameters** -2874 -2875 + `dir`: the directory in which to save the plot -2876 + `vs_time`: if `True`, plot as a function of `TimeTag` rather than sequentially. -2877 + `dpi`: resolution for PNG output -2878 + `figsize`: (width, height) of figure -2879 + `dpi`: resolution for PNG output -2880 ''' -2881 -2882 asamples = [s for s in self.anchors] -2883 usamples = [s for s in self.unknowns] -2884 if output is None or output == 'fig': -2885 fig = ppl.figure(figsize = figsize) -2886 ppl.subplots_adjust(*subplots_adjust) -2887 Xmin = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self)]) -2888 Xmax = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self)]) -2889 Xmax += (Xmax-Xmin)/40 -2890 Xmin -= (Xmax-Xmin)/41 -2891 for k, s in enumerate(asamples + usamples): -2892 if vs_time: -2893 X = [r['TimeTag'] for r in self if r['Sample'] == s] -2894 else: -2895 X = [x for x,r in enumerate(self) if r['Sample'] == s] -2896 Y = [-k for x in X] -2897 ppl.plot(X, Y, 'o', mec = None, mew = 0, mfc = 'b' if s in usamples else 'r', ms = 3, alpha = .75) -2898 ppl.axhline(-k, color = 'b' if s in usamples else 'r', lw = .5, alpha = .25) -2899 ppl.text(Xmax, -k, f' {s}', va = 'center', ha = 'left', size = 7, color = 'b' if s in usamples else 'r') -2900 ppl.axis([Xmin, Xmax, -k-1, 1]) -2901 ppl.xlabel('\ntime') -2902 ppl.gca().annotate('', -2903 xy = (0.6, -0.02), -2904 xycoords = 'axes fraction', -2905 xytext = (.4, -0.02), -2906 arrowprops = dict(arrowstyle = "->", color = 'k'), -2907 ) -2908 -2909 -2910 x2 = -1 -2911 for session in self.sessions: -2912 x1 = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session]) -2913 if vs_time: -2914 ppl.axvline(x1, color = 'k', lw = .75) -2915 if x2 > -1: -2916 if not vs_time: -2917 ppl.axvline((x1+x2)/2, color = 'k', lw = .75, alpha = .5) -2918 x2 = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session]) -2919# from xlrd import xldate_as_datetime -2920# print(session, xldate_as_datetime(x1, 0), xldate_as_datetime(x2, 0)) -2921 if vs_time: -2922 ppl.axvline(x2, color = 'k', lw = .75) -2923 ppl.axvspan(x1,x2,color = 'k', zorder = -100, alpha = .15) -2924 ppl.text((x1+x2)/2, 1, f' {session}', ha = 'left', va = 'bottom', rotation = 45, size = 8) -2925 -2926 ppl.xticks([]) -2927 ppl.yticks([]) -2928 -2929 if output is None: -2930 if not os.path.exists(dir): -2931 os.makedirs(dir) -2932 if filename == None: -2933 filename = f'D{self._4x}_distribution_of_analyses.pdf' -2934 ppl.savefig(f'{dir}/{filename}', dpi = dpi) -2935 ppl.close(fig) -2936 elif output == 'ax': -2937 return ppl.gca() -2938 elif output == 'fig': -2939 return fig -2940 -2941 -2942 def plot_bulk_compositions( -2943 self, -2944 samples = None, -2945 dir = 'output/bulk_compositions', -2946 figsize = (6,6), -2947 subplots_adjust = (0.15, 0.12, 0.95, 0.92), -2948 show = False, -2949 sample_color = (0,.5,1), -2950 analysis_color = (.7,.7,.7), -2951 labeldist = 0.3, -2952 radius = 0.05, -2953 ): -2954 ''' -2955 Plot δ13C_VBDP vs δ18O_VSMOW (of CO2) for all analyses. -2956 -2957 By default, creates a directory `./output/bulk_compositions` where plots for -2958 each sample are saved. Another plot named `__all__.pdf` shows all analyses together. -2959 -2960 -2961 **Parameters** -2962 -2963 + `samples`: Only these samples are processed (by default: all samples). -2964 + `dir`: where to save the plots -2965 + `figsize`: (width, height) of figure -2966 + `subplots_adjust`: passed to `subplots_adjust()` -2967 + `show`: whether to call `matplotlib.pyplot.show()` on the plot with all samples, -2968 allowing for interactive visualization/exploration in (δ13C, δ18O) space. -2969 + `sample_color`: color used for replicate markers/labels -2970 + `analysis_color`: color used for sample markers/labels -2971 + `labeldist`: distance (in inches) from replicate markers to replicate labels -2972 + `radius`: radius of the dashed circle providing scale. No circle if `radius = 0`. -2973 ''' -2974 -2975 from matplotlib.patches import Ellipse -2976 -2977 if samples is None: -2978 samples = [_ for _ in self.samples] -2979 -2980 saved = {} -2981 -2982 for s in samples: -2983 -2984 fig = ppl.figure(figsize = figsize) -2985 fig.subplots_adjust(*subplots_adjust) -2986 ax = ppl.subplot(111) -2987 ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)') -2988 ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)') -2989 ppl.title(s) -2990 -2991 -2992 XY = np.array([[_['d18O_VSMOW'], _['d13C_VPDB']] for _ in self.samples[s]['data']]) -2993 UID = [_['UID'] for _ in self.samples[s]['data']] -2994 XY0 = XY.mean(0) -2995 -2996 for xy in XY: -2997 ppl.plot([xy[0], XY0[0]], [xy[1], XY0[1]], '-', lw = 1, color = analysis_color) -2998 -2999 ppl.plot(*XY.T, 'wo', mew = 1, mec = analysis_color) -3000 ppl.plot(*XY0, 'wo', mew = 2, mec = sample_color) -3001 ppl.text(*XY0, f' {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold') -3002 saved[s] = [XY, XY0] -3003 -3004 x1, x2, y1, y2 = ppl.axis() -3005 x0, dx = (x1+x2)/2, (x2-x1)/2 -3006 y0, dy = (y1+y2)/2, (y2-y1)/2 -3007 dx, dy = [max(max(dx, dy), radius)]*2 -3008 -3009 ppl.axis([ -3010 x0 - 1.2*dx, -3011 x0 + 1.2*dx, -3012 y0 - 1.2*dy, -3013 y0 + 1.2*dy, -3014 ]) -3015 -3016 XY0_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(XY0)) +2860 ppl.axis([0, None, ymin, ymax]) +2861 ppl.xticks([]) +2862 ppl.yticks([]) +2863# ax2.spines['left'].set_visible(False) +2864 ax2.spines['right'].set_visible(False) +2865 ax2.spines['top'].set_visible(False) +2866 ax2.spines['bottom'].set_visible(False) +2867 +2868 ax1.axis([None, None, ymin, ymax]) +2869 +2870 if not os.path.exists(dir): +2871 os.makedirs(dir) +2872 if filename is None: +2873 return fig +2874 elif filename == '': +2875 filename = f'D{self._4x}_residuals.pdf' +2876 ppl.savefig(f'{dir}/{filename}', dpi = dpi) +2877 ppl.close(fig) +2878 +2879 +2880 def simulate(self, *args, **kwargs): +2881 ''' +2882 Legacy function with warning message pointing to `virtual_data()` +2883 ''' +2884 raise DeprecationWarning('D4xdata.simulate is deprecated and has been replaced by virtual_data()') +2885 +2886 def plot_distribution_of_analyses( +2887 self, +2888 dir = 'output', +2889 filename = None, +2890 vs_time = False, +2891 figsize = (6,4), +2892 subplots_adjust = (0.02, 0.13, 0.85, 0.8), +2893 output = None, +2894 dpi = 100, +2895 ): +2896 ''' +2897 Plot temporal distribution of all analyses in the data set. +2898 +2899 **Parameters** +2900 +2901 + `dir`: the directory in which to save the plot +2902 + `vs_time`: if `True`, plot as a function of `TimeTag` rather than sequentially. +2903 + `dpi`: resolution for PNG output +2904 + `figsize`: (width, height) of figure +2905 + `dpi`: resolution for PNG output +2906 ''' +2907 +2908 asamples = [s for s in self.anchors] +2909 usamples = [s for s in self.unknowns] +2910 if output is None or output == 'fig': +2911 fig = ppl.figure(figsize = figsize) +2912 ppl.subplots_adjust(*subplots_adjust) +2913 Xmin = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self)]) +2914 Xmax = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self)]) +2915 Xmax += (Xmax-Xmin)/40 +2916 Xmin -= (Xmax-Xmin)/41 +2917 for k, s in enumerate(asamples + usamples): +2918 if vs_time: +2919 X = [r['TimeTag'] for r in self if r['Sample'] == s] +2920 else: +2921 X = [x for x,r in enumerate(self) if r['Sample'] == s] +2922 Y = [-k for x in X] +2923 ppl.plot(X, Y, 'o', mec = None, mew = 0, mfc = 'b' if s in usamples else 'r', ms = 3, alpha = .75) +2924 ppl.axhline(-k, color = 'b' if s in usamples else 'r', lw = .5, alpha = .25) +2925 ppl.text(Xmax, -k, f' {s}', va = 'center', ha = 'left', size = 7, color = 'b' if s in usamples else 'r') +2926 ppl.axis([Xmin, Xmax, -k-1, 1]) +2927 ppl.xlabel('\ntime') +2928 ppl.gca().annotate('', +2929 xy = (0.6, -0.02), +2930 xycoords = 'axes fraction', +2931 xytext = (.4, -0.02), +2932 arrowprops = dict(arrowstyle = "->", color = 'k'), +2933 ) +2934 +2935 +2936 x2 = -1 +2937 for session in self.sessions: +2938 x1 = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session]) +2939 if vs_time: +2940 ppl.axvline(x1, color = 'k', lw = .75) +2941 if x2 > -1: +2942 if not vs_time: +2943 ppl.axvline((x1+x2)/2, color = 'k', lw = .75, alpha = .5) +2944 x2 = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session]) +2945# from xlrd import xldate_as_datetime +2946# print(session, xldate_as_datetime(x1, 0), xldate_as_datetime(x2, 0)) +2947 if vs_time: +2948 ppl.axvline(x2, color = 'k', lw = .75) +2949 ppl.axvspan(x1,x2,color = 'k', zorder = -100, alpha = .15) +2950 ppl.text((x1+x2)/2, 1, f' {session}', ha = 'left', va = 'bottom', rotation = 45, size = 8) +2951 +2952 ppl.xticks([]) +2953 ppl.yticks([]) +2954 +2955 if output is None: +2956 if not os.path.exists(dir): +2957 os.makedirs(dir) +2958 if filename == None: +2959 filename = f'D{self._4x}_distribution_of_analyses.pdf' +2960 ppl.savefig(f'{dir}/{filename}', dpi = dpi) +2961 ppl.close(fig) +2962 elif output == 'ax': +2963 return ppl.gca() +2964 elif output == 'fig': +2965 return fig +2966 +2967 +2968 def plot_bulk_compositions( +2969 self, +2970 samples = None, +2971 dir = 'output/bulk_compositions', +2972 figsize = (6,6), +2973 subplots_adjust = (0.15, 0.12, 0.95, 0.92), +2974 show = False, +2975 sample_color = (0,.5,1), +2976 analysis_color = (.7,.7,.7), +2977 labeldist = 0.3, +2978 radius = 0.05, +2979 ): +2980 ''' +2981 Plot δ13C_VBDP vs δ18O_VSMOW (of CO2) for all analyses. +2982 +2983 By default, creates a directory `./output/bulk_compositions` where plots for +2984 each sample are saved. Another plot named `__all__.pdf` shows all analyses together. +2985 +2986 +2987 **Parameters** +2988 +2989 + `samples`: Only these samples are processed (by default: all samples). +2990 + `dir`: where to save the plots +2991 + `figsize`: (width, height) of figure +2992 + `subplots_adjust`: passed to `subplots_adjust()` +2993 + `show`: whether to call `matplotlib.pyplot.show()` on the plot with all samples, +2994 allowing for interactive visualization/exploration in (δ13C, δ18O) space. +2995 + `sample_color`: color used for replicate markers/labels +2996 + `analysis_color`: color used for sample markers/labels +2997 + `labeldist`: distance (in inches) from replicate markers to replicate labels +2998 + `radius`: radius of the dashed circle providing scale. No circle if `radius = 0`. +2999 ''' +3000 +3001 from matplotlib.patches import Ellipse +3002 +3003 if samples is None: +3004 samples = [_ for _ in self.samples] +3005 +3006 saved = {} +3007 +3008 for s in samples: +3009 +3010 fig = ppl.figure(figsize = figsize) +3011 fig.subplots_adjust(*subplots_adjust) +3012 ax = ppl.subplot(111) +3013 ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)') +3014 ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)') +3015 ppl.title(s) +3016 3017 -3018 for xy, uid in zip(XY, UID): -3019 -3020 xy_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(xy)) -3021 vector_in_display_space = xy_in_display_space - XY0_in_display_space -3022 -3023 if (vector_in_display_space**2).sum() > 0: -3024 -3025 unit_vector_in_display_space = vector_in_display_space / ((vector_in_display_space**2).sum())**0.5 -3026 label_vector_in_display_space = vector_in_display_space + unit_vector_in_display_space * labeldist -3027 label_xy_in_display_space = XY0_in_display_space + label_vector_in_display_space -3028 label_xy_in_data_space = ax.transData.inverted().transform(fig.dpi_scale_trans.transform(label_xy_in_display_space)) -3029 -3030 ppl.text(*label_xy_in_data_space, uid, va = 'center', ha = 'center', color = analysis_color) -3031 -3032 else: -3033 -3034 ppl.text(*xy, f'{uid} ', va = 'center', ha = 'right', color = analysis_color) -3035 -3036 if radius: -3037 ax.add_artist(Ellipse( -3038 xy = XY0, -3039 width = radius*2, -3040 height = radius*2, -3041 ls = (0, (2,2)), -3042 lw = .7, -3043 ec = analysis_color, -3044 fc = 'None', -3045 )) -3046 ppl.text( -3047 XY0[0], -3048 XY0[1]-radius, -3049 f'\n± {radius*1e3:.0f} ppm', -3050 color = analysis_color, -3051 va = 'top', -3052 ha = 'center', -3053 linespacing = 0.4, -3054 size = 8, -3055 ) -3056 -3057 if not os.path.exists(dir): -3058 os.makedirs(dir) -3059 fig.savefig(f'{dir}/{s}.pdf') -3060 ppl.close(fig) +3018 XY = np.array([[_['d18O_VSMOW'], _['d13C_VPDB']] for _ in self.samples[s]['data']]) +3019 UID = [_['UID'] for _ in self.samples[s]['data']] +3020 XY0 = XY.mean(0) +3021 +3022 for xy in XY: +3023 ppl.plot([xy[0], XY0[0]], [xy[1], XY0[1]], '-', lw = 1, color = analysis_color) +3024 +3025 ppl.plot(*XY.T, 'wo', mew = 1, mec = analysis_color) +3026 ppl.plot(*XY0, 'wo', mew = 2, mec = sample_color) +3027 ppl.text(*XY0, f' {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold') +3028 saved[s] = [XY, XY0] +3029 +3030 x1, x2, y1, y2 = ppl.axis() +3031 x0, dx = (x1+x2)/2, (x2-x1)/2 +3032 y0, dy = (y1+y2)/2, (y2-y1)/2 +3033 dx, dy = [max(max(dx, dy), radius)]*2 +3034 +3035 ppl.axis([ +3036 x0 - 1.2*dx, +3037 x0 + 1.2*dx, +3038 y0 - 1.2*dy, +3039 y0 + 1.2*dy, +3040 ]) +3041 +3042 XY0_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(XY0)) +3043 +3044 for xy, uid in zip(XY, UID): +3045 +3046 xy_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(xy)) +3047 vector_in_display_space = xy_in_display_space - XY0_in_display_space +3048 +3049 if (vector_in_display_space**2).sum() > 0: +3050 +3051 unit_vector_in_display_space = vector_in_display_space / ((vector_in_display_space**2).sum())**0.5 +3052 label_vector_in_display_space = vector_in_display_space + unit_vector_in_display_space * labeldist +3053 label_xy_in_display_space = XY0_in_display_space + label_vector_in_display_space +3054 label_xy_in_data_space = ax.transData.inverted().transform(fig.dpi_scale_trans.transform(label_xy_in_display_space)) +3055 +3056 ppl.text(*label_xy_in_data_space, uid, va = 'center', ha = 'center', color = analysis_color) +3057 +3058 else: +3059 +3060 ppl.text(*xy, f'{uid} ', va = 'center', ha = 'right', color = analysis_color) 3061 -3062 fig = ppl.figure(figsize = figsize) -3063 fig.subplots_adjust(*subplots_adjust) -3064 ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)') -3065 ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)') -3066 -3067 for s in saved: -3068 for xy in saved[s][0]: -3069 ppl.plot([xy[0], saved[s][1][0]], [xy[1], saved[s][1][1]], '-', lw = 1, color = analysis_color) -3070 ppl.plot(*saved[s][0].T, 'wo', mew = 1, mec = analysis_color) -3071 ppl.plot(*saved[s][1], 'wo', mew = 1.5, mec = sample_color) -3072 ppl.text(*saved[s][1], f' {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold') -3073 -3074 x1, x2, y1, y2 = ppl.axis() -3075 ppl.axis([ -3076 x1 - (x2-x1)/10, -3077 x2 + (x2-x1)/10, -3078 y1 - (y2-y1)/10, -3079 y2 + (y2-y1)/10, -3080 ]) -3081 +3062 if radius: +3063 ax.add_artist(Ellipse( +3064 xy = XY0, +3065 width = radius*2, +3066 height = radius*2, +3067 ls = (0, (2,2)), +3068 lw = .7, +3069 ec = analysis_color, +3070 fc = 'None', +3071 )) +3072 ppl.text( +3073 XY0[0], +3074 XY0[1]-radius, +3075 f'\n± {radius*1e3:.0f} ppm', +3076 color = analysis_color, +3077 va = 'top', +3078 ha = 'center', +3079 linespacing = 0.4, +3080 size = 8, +3081 ) 3082 -3083 if not os.path.exists(dir): -3084 os.makedirs(dir) -3085 fig.savefig(f'{dir}/__all__.pdf') -3086 if show: -3087 ppl.show() -3088 ppl.close(fig) -3089 -3090 -3091 def _save_D4x_correl( -3092 self, -3093 samples = None, -3094 dir = 'output', -3095 filename = None, -3096 D4x_precision = 4, -3097 correl_precision = 4, -3098 ): -3099 ''' -3100 Save D4x values along with their SE and correlation matrix. -3101 -3102 **Parameters** -3103 -3104 + `samples`: Only these samples are output (by default: all samples). -3105 + `dir`: the directory in which to save the faile (by defaut: `output`) -3106 + `filename`: the name to the csv file to write to (by default: `D4x_correl.csv`) -3107 + `D4x_precision`: the precision to use when writing `D4x` and `D4x_SE` values (by default: 4) -3108 + `correl_precision`: the precision to use when writing correlation factor values (by default: 4) -3109 ''' -3110 if samples is None: -3111 samples = sorted([s for s in self.unknowns]) -3112 -3113 out = [['Sample']] + [[s] for s in samples] -3114 out[0] += [f'D{self._4x}', f'D{self._4x}_SE', f'D{self._4x}_correl'] -3115 for k,s in enumerate(samples): -3116 out[k+1] += [f'{self.samples[s][f"D{self._4x}"]:.4f}', f'{self.samples[s][f"SE_D{self._4x}"]:.4f}'] -3117 for s2 in samples: -3118 out[k+1] += [f'{self.sample_D4x_correl(s,s2):.4f}'] -3119 -3120 if not os.path.exists(dir): -3121 os.makedirs(dir) -3122 if filename is None: -3123 filename = f'D{self._4x}_correl.csv' -3124 with open(f'{dir}/{filename}', 'w') as fid: -3125 fid.write(make_csv(out)) +3083 if not os.path.exists(dir): +3084 os.makedirs(dir) +3085 fig.savefig(f'{dir}/{s}.pdf') +3086 ppl.close(fig) +3087 +3088 fig = ppl.figure(figsize = figsize) +3089 fig.subplots_adjust(*subplots_adjust) +3090 ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)') +3091 ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)') +3092 +3093 for s in saved: +3094 for xy in saved[s][0]: +3095 ppl.plot([xy[0], saved[s][1][0]], [xy[1], saved[s][1][1]], '-', lw = 1, color = analysis_color) +3096 ppl.plot(*saved[s][0].T, 'wo', mew = 1, mec = analysis_color) +3097 ppl.plot(*saved[s][1], 'wo', mew = 1.5, mec = sample_color) +3098 ppl.text(*saved[s][1], f' {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold') +3099 +3100 x1, x2, y1, y2 = ppl.axis() +3101 ppl.axis([ +3102 x1 - (x2-x1)/10, +3103 x2 + (x2-x1)/10, +3104 y1 - (y2-y1)/10, +3105 y2 + (y2-y1)/10, +3106 ]) +3107 +3108 +3109 if not os.path.exists(dir): +3110 os.makedirs(dir) +3111 fig.savefig(f'{dir}/__all__.pdf') +3112 if show: +3113 ppl.show() +3114 ppl.close(fig) +3115 +3116 +3117 def _save_D4x_correl( +3118 self, +3119 samples = None, +3120 dir = 'output', +3121 filename = None, +3122 D4x_precision = 4, +3123 correl_precision = 4, +3124 ): +3125 ''' +3126 Save D4x values along with their SE and correlation matrix. +3127 +3128 **Parameters** +3129 +3130 + `samples`: Only these samples are output (by default: all samples). +3131 + `dir`: the directory in which to save the faile (by defaut: `output`) +3132 + `filename`: the name to the csv file to write to (by default: `D4x_correl.csv`) +3133 + `D4x_precision`: the precision to use when writing `D4x` and `D4x_SE` values (by default: 4) +3134 + `correl_precision`: the precision to use when writing correlation factor values (by default: 4) +3135 ''' +3136 if samples is None: +3137 samples = sorted([s for s in self.unknowns]) +3138 +3139 out = [['Sample']] + [[s] for s in samples] +3140 out[0] += [f'D{self._4x}', f'D{self._4x}_SE', f'D{self._4x}_correl'] +3141 for k,s in enumerate(samples): +3142 out[k+1] += [f'{self.samples[s][f"D{self._4x}"]:.4f}', f'{self.samples[s][f"SE_D{self._4x}"]:.4f}'] +3143 for s2 in samples: +3144 out[k+1] += [f'{self.sample_D4x_correl(s,s2):.4f}'] +3145 +3146 if not os.path.exists(dir): +3147 os.makedirs(dir) +3148 if filename is None: +3149 filename = f'D{self._4x}_correl.csv' +3150 with open(f'{dir}/{filename}', 'w') as fid: +3151 fid.write(make_csv(out)) @@ -10169,85 +10221,85 @@

4. API Documentation

-
2097	@make_verbal
-2098	def consolidate_samples(self):
-2099		'''
-2100		Compile various statistics for each sample.
-2101
-2102		For each anchor sample:
-2103
-2104		+ `D47` or `D48`: the nominal Δ4x value for this anchor, specified by `self.Nominal_D4x`
-2105		+ `SE_D47` or `SE_D48`: set to zero by definition
-2106
-2107		For each unknown sample:
-2108
-2109		+ `D47` or `D48`: the standardized Δ4x value for this unknown
-2110		+ `SE_D47` or `SE_D48`: the standard error of Δ4x for this unknown
-2111
-2112		For each anchor and unknown:
-2113
-2114		+ `N`: the total number of analyses of this sample
-2115		+ `SD_D47` or `SD_D48`: the “sample” (in the statistical sense) standard deviation for this sample
-2116		+ `d13C_VPDB`: the average δ13C_VPDB value for this sample
-2117		+ `d18O_VSMOW`: the average δ18O_VSMOW value for this sample (as CO2)
-2118		+ `p_Levene`: the p-value from a [Levene test](https://en.wikipedia.org/wiki/Levene%27s_test) of equal
-2119		variance, indicating whether the Δ4x repeatability this sample differs significantly from
-2120		that observed for the reference sample specified by `self.LEVENE_REF_SAMPLE`.
-2121		'''
-2122		D4x_ref_pop = [r[f'D{self._4x}'] for r in self.samples[self.LEVENE_REF_SAMPLE]['data']]
-2123		for sample in self.samples:
-2124			self.samples[sample]['N'] = len(self.samples[sample]['data'])
-2125			if self.samples[sample]['N'] > 1:
-2126				self.samples[sample][f'SD_D{self._4x}'] = stdev([r[f'D{self._4x}'] for r in self.samples[sample]['data']])
-2127
-2128			self.samples[sample]['d13C_VPDB'] = np.mean([r['d13C_VPDB'] for r in self.samples[sample]['data']])
-2129			self.samples[sample]['d18O_VSMOW'] = np.mean([r['d18O_VSMOW'] for r in self.samples[sample]['data']])
-2130
-2131			D4x_pop = [r[f'D{self._4x}'] for r in self.samples[sample]['data']]
-2132			if len(D4x_pop) > 2:
-2133				self.samples[sample]['p_Levene'] = levene(D4x_ref_pop, D4x_pop, center = 'median')[1]
-2134			
-2135		if self.standardization_method == 'pooled':
-2136			for sample in self.anchors:
-2137				self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample]
-2138				self.samples[sample][f'SE_D{self._4x}'] = 0.
-2139			for sample in self.unknowns:
-2140				self.samples[sample][f'D{self._4x}'] = self.standardization.params.valuesdict()[f'D{self._4x}_{pf(sample)}']
-2141				try:
-2142					self.samples[sample][f'SE_D{self._4x}'] = self.sample_D4x_covar(sample)**.5
-2143				except ValueError:
-2144					# when `sample` is constrained by self.standardize(constraints = {...}),
-2145					# it is no longer listed in self.standardization.var_names.
-2146					# Temporary fix: define SE as zero for now
-2147					self.samples[sample][f'SE_D4{self._4x}'] = 0.
-2148
-2149		elif self.standardization_method == 'indep_sessions':
-2150			for sample in self.anchors:
-2151				self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample]
-2152				self.samples[sample][f'SE_D{self._4x}'] = 0.
-2153			for sample in self.unknowns:
-2154				self.msg(f'Consolidating sample {sample}')
-2155				self.unknowns[sample][f'session_D{self._4x}'] = {}
-2156				session_avg = []
-2157				for session in self.sessions:
-2158					sdata = [r for r in self.sessions[session]['data'] if r['Sample'] == sample]
-2159					if sdata:
-2160						self.msg(f'{sample} found in session {session}')
-2161						avg_D4x = np.mean([r[f'D{self._4x}'] for r in sdata])
-2162						avg_d4x = np.mean([r[f'd{self._4x}'] for r in sdata])
-2163						# !! TODO: sigma_s below does not account for temporal changes in standardization error
-2164						sigma_s = self.standardization_error(session, avg_d4x, avg_D4x)
-2165						sigma_u = sdata[0][f'wD{self._4x}raw'] / self.sessions[session]['a'] / len(sdata)**.5
-2166						session_avg.append([avg_D4x, (sigma_u**2 + sigma_s**2)**.5])
-2167						self.unknowns[sample][f'session_D{self._4x}'][session] = session_avg[-1]
-2168				self.samples[sample][f'D{self._4x}'], self.samples[sample][f'SE_D{self._4x}'] = w_avg(*zip(*session_avg))
-2169				weights = {s: self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 for s in self.unknowns[sample][f'session_D{self._4x}']}
-2170				wsum = sum([weights[s] for s in weights])
-2171				for s in weights:
-2172					self.unknowns[sample][f'session_D{self._4x}'][s] += [self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 / wsum]
-2173
-2174		for r in self:
-2175			r[f'D{self._4x}_residual'] = r[f'D{self._4x}'] - self.samples[r['Sample']][f'D{self._4x}']
+            
2098	@make_verbal
+2099	def consolidate_samples(self):
+2100		'''
+2101		Compile various statistics for each sample.
+2102
+2103		For each anchor sample:
+2104
+2105		+ `D47` or `D48`: the nominal Δ4x value for this anchor, specified by `self.Nominal_D4x`
+2106		+ `SE_D47` or `SE_D48`: set to zero by definition
+2107
+2108		For each unknown sample:
+2109
+2110		+ `D47` or `D48`: the standardized Δ4x value for this unknown
+2111		+ `SE_D47` or `SE_D48`: the standard error of Δ4x for this unknown
+2112
+2113		For each anchor and unknown:
+2114
+2115		+ `N`: the total number of analyses of this sample
+2116		+ `SD_D47` or `SD_D48`: the “sample” (in the statistical sense) standard deviation for this sample
+2117		+ `d13C_VPDB`: the average δ13C_VPDB value for this sample
+2118		+ `d18O_VSMOW`: the average δ18O_VSMOW value for this sample (as CO2)
+2119		+ `p_Levene`: the p-value from a [Levene test](https://en.wikipedia.org/wiki/Levene%27s_test) of equal
+2120		variance, indicating whether the Δ4x repeatability this sample differs significantly from
+2121		that observed for the reference sample specified by `self.LEVENE_REF_SAMPLE`.
+2122		'''
+2123		D4x_ref_pop = [r[f'D{self._4x}'] for r in self.samples[self.LEVENE_REF_SAMPLE]['data']]
+2124		for sample in self.samples:
+2125			self.samples[sample]['N'] = len(self.samples[sample]['data'])
+2126			if self.samples[sample]['N'] > 1:
+2127				self.samples[sample][f'SD_D{self._4x}'] = stdev([r[f'D{self._4x}'] for r in self.samples[sample]['data']])
+2128
+2129			self.samples[sample]['d13C_VPDB'] = np.mean([r['d13C_VPDB'] for r in self.samples[sample]['data']])
+2130			self.samples[sample]['d18O_VSMOW'] = np.mean([r['d18O_VSMOW'] for r in self.samples[sample]['data']])
+2131
+2132			D4x_pop = [r[f'D{self._4x}'] for r in self.samples[sample]['data']]
+2133			if len(D4x_pop) > 2:
+2134				self.samples[sample]['p_Levene'] = levene(D4x_ref_pop, D4x_pop, center = 'median')[1]
+2135			
+2136		if self.standardization_method == 'pooled':
+2137			for sample in self.anchors:
+2138				self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample]
+2139				self.samples[sample][f'SE_D{self._4x}'] = 0.
+2140			for sample in self.unknowns:
+2141				self.samples[sample][f'D{self._4x}'] = self.standardization.params.valuesdict()[f'D{self._4x}_{pf(sample)}']
+2142				try:
+2143					self.samples[sample][f'SE_D{self._4x}'] = self.sample_D4x_covar(sample)**.5
+2144				except ValueError:
+2145					# when `sample` is constrained by self.standardize(constraints = {...}),
+2146					# it is no longer listed in self.standardization.var_names.
+2147					# Temporary fix: define SE as zero for now
+2148					self.samples[sample][f'SE_D4{self._4x}'] = 0.
+2149
+2150		elif self.standardization_method == 'indep_sessions':
+2151			for sample in self.anchors:
+2152				self.samples[sample][f'D{self._4x}'] = self.Nominal_D4x[sample]
+2153				self.samples[sample][f'SE_D{self._4x}'] = 0.
+2154			for sample in self.unknowns:
+2155				self.msg(f'Consolidating sample {sample}')
+2156				self.unknowns[sample][f'session_D{self._4x}'] = {}
+2157				session_avg = []
+2158				for session in self.sessions:
+2159					sdata = [r for r in self.sessions[session]['data'] if r['Sample'] == sample]
+2160					if sdata:
+2161						self.msg(f'{sample} found in session {session}')
+2162						avg_D4x = np.mean([r[f'D{self._4x}'] for r in sdata])
+2163						avg_d4x = np.mean([r[f'd{self._4x}'] for r in sdata])
+2164						# !! TODO: sigma_s below does not account for temporal changes in standardization error
+2165						sigma_s = self.standardization_error(session, avg_d4x, avg_D4x)
+2166						sigma_u = sdata[0][f'wD{self._4x}raw'] / self.sessions[session]['a'] / len(sdata)**.5
+2167						session_avg.append([avg_D4x, (sigma_u**2 + sigma_s**2)**.5])
+2168						self.unknowns[sample][f'session_D{self._4x}'][session] = session_avg[-1]
+2169				self.samples[sample][f'D{self._4x}'], self.samples[sample][f'SE_D{self._4x}'] = w_avg(*zip(*session_avg))
+2170				weights = {s: self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 for s in self.unknowns[sample][f'session_D{self._4x}']}
+2171				wsum = sum([weights[s] for s in weights])
+2172				for s in weights:
+2173					self.unknowns[sample][f'session_D{self._4x}'][s] += [self.unknowns[sample][f'session_D{self._4x}'][s][1]**-2 / wsum]
+2174
+2175		for r in self:
+2176			r[f'D{self._4x}_residual'] = r[f'D{self._4x}'] - self.samples[r['Sample']][f'D{self._4x}']
 
@@ -10293,127 +10345,131 @@

4. API Documentation

-
2179	def consolidate_sessions(self):
-2180		'''
-2181		Compute various statistics for each session.
-2182
-2183		+ `Na`: Number of anchor analyses in the session
-2184		+ `Nu`: Number of unknown analyses in the session
-2185		+ `r_d13C_VPDB`: δ13C_VPDB repeatability of analyses within the session
-2186		+ `r_d18O_VSMOW`: δ18O_VSMOW repeatability of analyses within the session
-2187		+ `r_D47` or `r_D48`: Δ4x repeatability of analyses within the session
-2188		+ `a`: scrambling factor
-2189		+ `b`: compositional slope
-2190		+ `c`: WG offset
-2191		+ `SE_a`: Model stadard erorr of `a`
-2192		+ `SE_b`: Model stadard erorr of `b`
-2193		+ `SE_c`: Model stadard erorr of `c`
-2194		+ `scrambling_drift` (boolean): whether to allow a temporal drift in the scrambling factor (`a`)
-2195		+ `slope_drift` (boolean): whether to allow a temporal drift in the compositional slope (`b`)
-2196		+ `wg_drift` (boolean): whether to allow a temporal drift in the WG offset (`c`)
-2197		+ `a2`: scrambling factor drift
-2198		+ `b2`: compositional slope drift
-2199		+ `c2`: WG offset drift
-2200		+ `Np`: Number of standardization parameters to fit
-2201		+ `CM`: model covariance matrix for (`a`, `b`, `c`, `a2`, `b2`, `c2`)
-2202		+ `d13Cwg_VPDB`: δ13C_VPDB of WG
-2203		+ `d18Owg_VSMOW`: δ18O_VSMOW of WG
-2204		'''
-2205		for session in self.sessions:
-2206			if 'd13Cwg_VPDB' not in self.sessions[session]:
-2207				self.sessions[session]['d13Cwg_VPDB'] = self.sessions[session]['data'][0]['d13Cwg_VPDB']
-2208			if 'd18Owg_VSMOW' not in self.sessions[session]:
-2209				self.sessions[session]['d18Owg_VSMOW'] = self.sessions[session]['data'][0]['d18Owg_VSMOW']
-2210			self.sessions[session]['Na'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.anchors])
-2211			self.sessions[session]['Nu'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns])
-2212
-2213			self.msg(f'Computing repeatabilities for session {session}')
-2214			self.sessions[session]['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors', sessions = [session])
-2215			self.sessions[session]['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors', sessions = [session])
-2216			self.sessions[session][f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', sessions = [session])
-2217
-2218		if self.standardization_method == 'pooled':
-2219			for session in self.sessions:
-2220
-2221				self.sessions[session]['a'] = self.standardization.params.valuesdict()[f'a_{pf(session)}']
-2222				i = self.standardization.var_names.index(f'a_{pf(session)}')
-2223				self.sessions[session]['SE_a'] = self.standardization.covar[i,i]**.5
-2224
-2225				self.sessions[session]['b'] = self.standardization.params.valuesdict()[f'b_{pf(session)}']
-2226				i = self.standardization.var_names.index(f'b_{pf(session)}')
-2227				self.sessions[session]['SE_b'] = self.standardization.covar[i,i]**.5
-2228
-2229				self.sessions[session]['c'] = self.standardization.params.valuesdict()[f'c_{pf(session)}']
-2230				i = self.standardization.var_names.index(f'c_{pf(session)}')
-2231				self.sessions[session]['SE_c'] = self.standardization.covar[i,i]**.5
-2232
-2233				self.sessions[session]['a2'] = self.standardization.params.valuesdict()[f'a2_{pf(session)}']
-2234				if self.sessions[session]['scrambling_drift']:
-2235					i = self.standardization.var_names.index(f'a2_{pf(session)}')
-2236					self.sessions[session]['SE_a2'] = self.standardization.covar[i,i]**.5
-2237				else:
-2238					self.sessions[session]['SE_a2'] = 0.
-2239
-2240				self.sessions[session]['b2'] = self.standardization.params.valuesdict()[f'b2_{pf(session)}']
-2241				if self.sessions[session]['slope_drift']:
-2242					i = self.standardization.var_names.index(f'b2_{pf(session)}')
-2243					self.sessions[session]['SE_b2'] = self.standardization.covar[i,i]**.5
-2244				else:
-2245					self.sessions[session]['SE_b2'] = 0.
-2246
-2247				self.sessions[session]['c2'] = self.standardization.params.valuesdict()[f'c2_{pf(session)}']
-2248				if self.sessions[session]['wg_drift']:
-2249					i = self.standardization.var_names.index(f'c2_{pf(session)}')
-2250					self.sessions[session]['SE_c2'] = self.standardization.covar[i,i]**.5
-2251				else:
-2252					self.sessions[session]['SE_c2'] = 0.
-2253
-2254				i = self.standardization.var_names.index(f'a_{pf(session)}')
-2255				j = self.standardization.var_names.index(f'b_{pf(session)}')
-2256				k = self.standardization.var_names.index(f'c_{pf(session)}')
-2257				CM = np.zeros((6,6))
-2258				CM[:3,:3] = self.standardization.covar[[i,j,k],:][:,[i,j,k]]
-2259				try:
-2260					i2 = self.standardization.var_names.index(f'a2_{pf(session)}')
-2261					CM[3,[0,1,2,3]] = self.standardization.covar[i2,[i,j,k,i2]]
-2262					CM[[0,1,2,3],3] = self.standardization.covar[[i,j,k,i2],i2]
-2263					try:
-2264						j2 = self.standardization.var_names.index(f'b2_{pf(session)}')
-2265						CM[3,4] = self.standardization.covar[i2,j2]
-2266						CM[4,3] = self.standardization.covar[j2,i2]
-2267					except ValueError:
-2268						pass
-2269					try:
-2270						k2 = self.standardization.var_names.index(f'c2_{pf(session)}')
-2271						CM[3,5] = self.standardization.covar[i2,k2]
-2272						CM[5,3] = self.standardization.covar[k2,i2]
-2273					except ValueError:
-2274						pass
-2275				except ValueError:
-2276					pass
-2277				try:
-2278					j2 = self.standardization.var_names.index(f'b2_{pf(session)}')
-2279					CM[4,[0,1,2,4]] = self.standardization.covar[j2,[i,j,k,j2]]
-2280					CM[[0,1,2,4],4] = self.standardization.covar[[i,j,k,j2],j2]
-2281					try:
-2282						k2 = self.standardization.var_names.index(f'c2_{pf(session)}')
-2283						CM[4,5] = self.standardization.covar[j2,k2]
-2284						CM[5,4] = self.standardization.covar[k2,j2]
-2285					except ValueError:
-2286						pass
-2287				except ValueError:
-2288					pass
-2289				try:
-2290					k2 = self.standardization.var_names.index(f'c2_{pf(session)}')
-2291					CM[5,[0,1,2,5]] = self.standardization.covar[k2,[i,j,k,k2]]
-2292					CM[[0,1,2,5],5] = self.standardization.covar[[i,j,k,k2],k2]
-2293				except ValueError:
-2294					pass
-2295
-2296				self.sessions[session]['CM'] = CM
-2297
-2298		elif self.standardization_method == 'indep_sessions':
-2299			pass # Not implemented yet
+            
2180	def consolidate_sessions(self):
+2181		'''
+2182		Compute various statistics for each session.
+2183
+2184		+ `Na`: Number of anchor analyses in the session
+2185		+ `Nu`: Number of unknown analyses in the session
+2186		+ `r_d13C_VPDB`: δ13C_VPDB repeatability of analyses within the session
+2187		+ `r_d18O_VSMOW`: δ18O_VSMOW repeatability of analyses within the session
+2188		+ `r_D47` or `r_D48`: Δ4x repeatability of analyses within the session
+2189		+ `a`: scrambling factor
+2190		+ `b`: compositional slope
+2191		+ `c`: WG offset
+2192		+ `SE_a`: Model stadard erorr of `a`
+2193		+ `SE_b`: Model stadard erorr of `b`
+2194		+ `SE_c`: Model stadard erorr of `c`
+2195		+ `scrambling_drift` (boolean): whether to allow a temporal drift in the scrambling factor (`a`)
+2196		+ `slope_drift` (boolean): whether to allow a temporal drift in the compositional slope (`b`)
+2197		+ `wg_drift` (boolean): whether to allow a temporal drift in the WG offset (`c`)
+2198		+ `a2`: scrambling factor drift
+2199		+ `b2`: compositional slope drift
+2200		+ `c2`: WG offset drift
+2201		+ `Np`: Number of standardization parameters to fit
+2202		+ `CM`: model covariance matrix for (`a`, `b`, `c`, `a2`, `b2`, `c2`)
+2203		+ `d13Cwg_VPDB`: δ13C_VPDB of WG
+2204		+ `d18Owg_VSMOW`: δ18O_VSMOW of WG
+2205		'''
+2206		for session in self.sessions:
+2207			if 'd13Cwg_VPDB' not in self.sessions[session]:
+2208				self.sessions[session]['d13Cwg_VPDB'] = self.sessions[session]['data'][0]['d13Cwg_VPDB']
+2209			if 'd18Owg_VSMOW' not in self.sessions[session]:
+2210				self.sessions[session]['d18Owg_VSMOW'] = self.sessions[session]['data'][0]['d18Owg_VSMOW']
+2211			self.sessions[session]['Na'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.anchors])
+2212			self.sessions[session]['Nu'] = len([r for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns])
+2213
+2214			self.msg(f'Computing repeatabilities for session {session}')
+2215			self.sessions[session]['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors', sessions = [session])
+2216			self.sessions[session]['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors', sessions = [session])
+2217			self.sessions[session][f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', sessions = [session])
+2218
+2219		if self.standardization_method == 'pooled':
+2220			for session in self.sessions:
+2221
+2222				# different (better?) computation of D4x repeatability for each session:
+2223				sqresiduals = [(r[f'D{self._4x}'] - self.samples[r['Sample']][f'D{self._4x}'])**2 for r in self.sessions[session]['data']]
+2224				self.sessions[session][f'r_D{self._4x}'] = np.mean(sqresiduals)**.5
+2225
+2226				self.sessions[session]['a'] = self.standardization.params.valuesdict()[f'a_{pf(session)}']
+2227				i = self.standardization.var_names.index(f'a_{pf(session)}')
+2228				self.sessions[session]['SE_a'] = self.standardization.covar[i,i]**.5
+2229
+2230				self.sessions[session]['b'] = self.standardization.params.valuesdict()[f'b_{pf(session)}']
+2231				i = self.standardization.var_names.index(f'b_{pf(session)}')
+2232				self.sessions[session]['SE_b'] = self.standardization.covar[i,i]**.5
+2233
+2234				self.sessions[session]['c'] = self.standardization.params.valuesdict()[f'c_{pf(session)}']
+2235				i = self.standardization.var_names.index(f'c_{pf(session)}')
+2236				self.sessions[session]['SE_c'] = self.standardization.covar[i,i]**.5
+2237
+2238				self.sessions[session]['a2'] = self.standardization.params.valuesdict()[f'a2_{pf(session)}']
+2239				if self.sessions[session]['scrambling_drift']:
+2240					i = self.standardization.var_names.index(f'a2_{pf(session)}')
+2241					self.sessions[session]['SE_a2'] = self.standardization.covar[i,i]**.5
+2242				else:
+2243					self.sessions[session]['SE_a2'] = 0.
+2244
+2245				self.sessions[session]['b2'] = self.standardization.params.valuesdict()[f'b2_{pf(session)}']
+2246				if self.sessions[session]['slope_drift']:
+2247					i = self.standardization.var_names.index(f'b2_{pf(session)}')
+2248					self.sessions[session]['SE_b2'] = self.standardization.covar[i,i]**.5
+2249				else:
+2250					self.sessions[session]['SE_b2'] = 0.
+2251
+2252				self.sessions[session]['c2'] = self.standardization.params.valuesdict()[f'c2_{pf(session)}']
+2253				if self.sessions[session]['wg_drift']:
+2254					i = self.standardization.var_names.index(f'c2_{pf(session)}')
+2255					self.sessions[session]['SE_c2'] = self.standardization.covar[i,i]**.5
+2256				else:
+2257					self.sessions[session]['SE_c2'] = 0.
+2258
+2259				i = self.standardization.var_names.index(f'a_{pf(session)}')
+2260				j = self.standardization.var_names.index(f'b_{pf(session)}')
+2261				k = self.standardization.var_names.index(f'c_{pf(session)}')
+2262				CM = np.zeros((6,6))
+2263				CM[:3,:3] = self.standardization.covar[[i,j,k],:][:,[i,j,k]]
+2264				try:
+2265					i2 = self.standardization.var_names.index(f'a2_{pf(session)}')
+2266					CM[3,[0,1,2,3]] = self.standardization.covar[i2,[i,j,k,i2]]
+2267					CM[[0,1,2,3],3] = self.standardization.covar[[i,j,k,i2],i2]
+2268					try:
+2269						j2 = self.standardization.var_names.index(f'b2_{pf(session)}')
+2270						CM[3,4] = self.standardization.covar[i2,j2]
+2271						CM[4,3] = self.standardization.covar[j2,i2]
+2272					except ValueError:
+2273						pass
+2274					try:
+2275						k2 = self.standardization.var_names.index(f'c2_{pf(session)}')
+2276						CM[3,5] = self.standardization.covar[i2,k2]
+2277						CM[5,3] = self.standardization.covar[k2,i2]
+2278					except ValueError:
+2279						pass
+2280				except ValueError:
+2281					pass
+2282				try:
+2283					j2 = self.standardization.var_names.index(f'b2_{pf(session)}')
+2284					CM[4,[0,1,2,4]] = self.standardization.covar[j2,[i,j,k,j2]]
+2285					CM[[0,1,2,4],4] = self.standardization.covar[[i,j,k,j2],j2]
+2286					try:
+2287						k2 = self.standardization.var_names.index(f'c2_{pf(session)}')
+2288						CM[4,5] = self.standardization.covar[j2,k2]
+2289						CM[5,4] = self.standardization.covar[k2,j2]
+2290					except ValueError:
+2291						pass
+2292				except ValueError:
+2293					pass
+2294				try:
+2295					k2 = self.standardization.var_names.index(f'c2_{pf(session)}')
+2296					CM[5,[0,1,2,5]] = self.standardization.covar[k2,[i,j,k,k2]]
+2297					CM[[0,1,2,5],5] = self.standardization.covar[[i,j,k,k2],k2]
+2298				except ValueError:
+2299					pass
+2300
+2301				self.sessions[session]['CM'] = CM
+2302
+2303		elif self.standardization_method == 'indep_sessions':
+2304			pass # Not implemented yet
 
@@ -10458,19 +10514,19 @@

4. API Documentation

-
2302	@make_verbal
-2303	def repeatabilities(self):
-2304		'''
-2305		Compute analytical repeatabilities for δ13C_VPDB, δ18O_VSMOW, Δ4x
-2306		(for all samples, for anchors, and for unknowns).
-2307		'''
-2308		self.msg('Computing reproducibilities for all sessions')
-2309
-2310		self.repeatability['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors')
-2311		self.repeatability['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors')
-2312		self.repeatability[f'r_D{self._4x}a'] = self.compute_r(f'D{self._4x}', samples = 'anchors')
-2313		self.repeatability[f'r_D{self._4x}u'] = self.compute_r(f'D{self._4x}', samples = 'unknowns')
-2314		self.repeatability[f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', samples = 'all samples')
+            
2307	@make_verbal
+2308	def repeatabilities(self):
+2309		'''
+2310		Compute analytical repeatabilities for δ13C_VPDB, δ18O_VSMOW, Δ4x
+2311		(for all samples, for anchors, and for unknowns).
+2312		'''
+2313		self.msg('Computing reproducibilities for all sessions')
+2314
+2315		self.repeatability['r_d13C_VPDB'] = self.compute_r('d13C_VPDB', samples = 'anchors')
+2316		self.repeatability['r_d18O_VSMOW'] = self.compute_r('d18O_VSMOW', samples = 'anchors')
+2317		self.repeatability[f'r_D{self._4x}a'] = self.compute_r(f'D{self._4x}', samples = 'anchors')
+2318		self.repeatability[f'r_D{self._4x}u'] = self.compute_r(f'D{self._4x}', samples = 'unknowns')
+2319		self.repeatability[f'r_D{self._4x}'] = self.compute_r(f'D{self._4x}', samples = 'all samples')
 
@@ -10492,23 +10548,23 @@

4. API Documentation

-
2317	@make_verbal
-2318	def consolidate(self, tables = True, plots = True):
-2319		'''
-2320		Collect information about samples, sessions and repeatabilities.
-2321		'''
-2322		self.consolidate_samples()
-2323		self.consolidate_sessions()
-2324		self.repeatabilities()
-2325
-2326		if tables:
-2327			self.summary()
-2328			self.table_of_sessions()
-2329			self.table_of_analyses()
-2330			self.table_of_samples()
-2331
-2332		if plots:
-2333			self.plot_sessions()
+            
2322	@make_verbal
+2323	def consolidate(self, tables = True, plots = True):
+2324		'''
+2325		Collect information about samples, sessions and repeatabilities.
+2326		'''
+2327		self.consolidate_samples()
+2328		self.consolidate_sessions()
+2329		self.repeatabilities()
+2330
+2331		if tables:
+2332			self.summary()
+2333			self.table_of_sessions()
+2334			self.table_of_analyses()
+2335			self.table_of_samples()
+2336
+2337		if plots:
+2338			self.plot_sessions()
 
@@ -10529,40 +10585,40 @@

4. API Documentation

-
2336	@make_verbal
-2337	def rmswd(self,
-2338		samples = 'all samples',
-2339		sessions = 'all sessions',
-2340		):
-2341		'''
-2342		Compute the χ2, root mean squared weighted deviation
-2343		(i.e. reduced χ2), and corresponding degrees of freedom of the
-2344		Δ4x values for samples in `samples` and sessions in `sessions`.
-2345		
-2346		Only used in `D4xdata.standardize()` with `method='indep_sessions'`.
-2347		'''
-2348		if samples == 'all samples':
-2349			mysamples = [k for k in self.samples]
-2350		elif samples == 'anchors':
-2351			mysamples = [k for k in self.anchors]
-2352		elif samples == 'unknowns':
-2353			mysamples = [k for k in self.unknowns]
-2354		else:
-2355			mysamples = samples
-2356
-2357		if sessions == 'all sessions':
-2358			sessions = [k for k in self.sessions]
-2359
-2360		chisq, Nf = 0, 0
-2361		for sample in mysamples :
-2362			G = [ r for r in self if r['Sample'] == sample and r['Session'] in sessions ]
-2363			if len(G) > 1 :
-2364				X, sX = w_avg([r[f'D{self._4x}'] for r in G], [r[f'wD{self._4x}'] for r in G])
-2365				Nf += (len(G) - 1)
-2366				chisq += np.sum([ ((r[f'D{self._4x}']-X)/r[f'wD{self._4x}'])**2 for r in G])
-2367		r = (chisq / Nf)**.5 if Nf > 0 else 0
-2368		self.msg(f'RMSWD of r["D{self._4x}"] is {r:.6f} for {samples}.')
-2369		return {'rmswd': r, 'chisq': chisq, 'Nf': Nf}
+            
2341	@make_verbal
+2342	def rmswd(self,
+2343		samples = 'all samples',
+2344		sessions = 'all sessions',
+2345		):
+2346		'''
+2347		Compute the χ2, root mean squared weighted deviation
+2348		(i.e. reduced χ2), and corresponding degrees of freedom of the
+2349		Δ4x values for samples in `samples` and sessions in `sessions`.
+2350		
+2351		Only used in `D4xdata.standardize()` with `method='indep_sessions'`.
+2352		'''
+2353		if samples == 'all samples':
+2354			mysamples = [k for k in self.samples]
+2355		elif samples == 'anchors':
+2356			mysamples = [k for k in self.anchors]
+2357		elif samples == 'unknowns':
+2358			mysamples = [k for k in self.unknowns]
+2359		else:
+2360			mysamples = samples
+2361
+2362		if sessions == 'all sessions':
+2363			sessions = [k for k in self.sessions]
+2364
+2365		chisq, Nf = 0, 0
+2366		for sample in mysamples :
+2367			G = [ r for r in self if r['Sample'] == sample and r['Session'] in sessions ]
+2368			if len(G) > 1 :
+2369				X, sX = w_avg([r[f'D{self._4x}'] for r in G], [r[f'wD{self._4x}'] for r in G])
+2370				Nf += (len(G) - 1)
+2371				chisq += np.sum([ ((r[f'D{self._4x}']-X)/r[f'wD{self._4x}'])**2 for r in G])
+2372		r = (chisq / Nf)**.5 if Nf > 0 else 0
+2373		self.msg(f'RMSWD of r["D{self._4x}"] is {r:.6f} for {samples}.')
+2374		return {'rmswd': r, 'chisq': chisq, 'Nf': Nf}
 
@@ -10587,75 +10643,75 @@

4. API Documentation

-
2372	@make_verbal
-2373	def compute_r(self, key, samples = 'all samples', sessions = 'all sessions'):
-2374		'''
-2375		Compute the repeatability of `[r[key] for r in self]`
-2376		'''
-2377
-2378		if samples == 'all samples':
-2379			mysamples = [k for k in self.samples]
-2380		elif samples == 'anchors':
-2381			mysamples = [k for k in self.anchors]
-2382		elif samples == 'unknowns':
-2383			mysamples = [k for k in self.unknowns]
-2384		else:
-2385			mysamples = samples
-2386
-2387		if sessions == 'all sessions':
-2388			sessions = [k for k in self.sessions]
-2389
-2390		if key in ['D47', 'D48']:
-2391			# Full disclosure: the definition of Nf is tricky/debatable
-2392			G = [r for r in self if r['Sample'] in mysamples and r['Session'] in sessions]
-2393			chisq = (np.array([r[f'{key}_residual'] for r in G])**2).sum()
-2394			Nf = len(G)
-2395# 			print(f'len(G) = {Nf}')
-2396			Nf -= len([s for s in mysamples if s in self.unknowns])
-2397# 			print(f'{len([s for s in mysamples if s in self.unknowns])} unknown samples to consider')
-2398			for session in sessions:
-2399				Np = len([
-2400					_ for _ in self.standardization.params
-2401					if (
-2402						self.standardization.params[_].expr is not None
-2403						and (
-2404							(_[0] in 'abc' and _[1] == '_' and _[2:] == pf(session))
-2405							or (_[0] in 'abc' and _[1:3] == '2_' and _[3:] == pf(session))
-2406							)
-2407						)
-2408					])
-2409# 				print(f'session {session}: {Np} parameters to consider')
-2410				Na = len({
-2411					r['Sample'] for r in self.sessions[session]['data']
-2412					if r['Sample'] in self.anchors and r['Sample'] in mysamples
-2413					})
-2414# 				print(f'session {session}: {Na} different anchors in that session')
-2415				Nf -= min(Np, Na)
-2416# 			print(f'Nf = {Nf}')
-2417
-2418# 			for sample in mysamples :
-2419# 				X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ]
-2420# 				if len(X) > 1 :
-2421# 					chisq += np.sum([ (x-self.samples[sample][key])**2 for x in X ])
-2422# 					if sample in self.unknowns:
-2423# 						Nf += len(X) - 1
-2424# 					else:
-2425# 						Nf += len(X)
-2426# 			if samples in ['anchors', 'all samples']:
-2427# 				Nf -= sum([self.sessions[s]['Np'] for s in sessions])
-2428			r = (chisq / Nf)**.5 if Nf > 0 else 0
-2429
-2430		else: # if key not in ['D47', 'D48']
-2431			chisq, Nf = 0, 0
-2432			for sample in mysamples :
-2433				X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ]
-2434				if len(X) > 1 :
-2435					Nf += len(X) - 1
-2436					chisq += np.sum([ (x-np.mean(X))**2 for x in X ])
-2437			r = (chisq / Nf)**.5 if Nf > 0 else 0
-2438
-2439		self.msg(f'Repeatability of r["{key}"] is {1000*r:.1f} ppm for {samples}.')
-2440		return r
+            
2377	@make_verbal
+2378	def compute_r(self, key, samples = 'all samples', sessions = 'all sessions'):
+2379		'''
+2380		Compute the repeatability of `[r[key] for r in self]`
+2381		'''
+2382
+2383		if samples == 'all samples':
+2384			mysamples = [k for k in self.samples]
+2385		elif samples == 'anchors':
+2386			mysamples = [k for k in self.anchors]
+2387		elif samples == 'unknowns':
+2388			mysamples = [k for k in self.unknowns]
+2389		else:
+2390			mysamples = samples
+2391
+2392		if sessions == 'all sessions':
+2393			sessions = [k for k in self.sessions]
+2394
+2395		if key in ['D47', 'D48']:
+2396			# Full disclosure: the definition of Nf is tricky/debatable
+2397			G = [r for r in self if r['Sample'] in mysamples and r['Session'] in sessions]
+2398			chisq = (np.array([r[f'{key}_residual'] for r in G])**2).sum()
+2399			Nf = len(G)
+2400# 			print(f'len(G) = {Nf}')
+2401			Nf -= len([s for s in mysamples if s in self.unknowns])
+2402# 			print(f'{len([s for s in mysamples if s in self.unknowns])} unknown samples to consider')
+2403			for session in sessions:
+2404				Np = len([
+2405					_ for _ in self.standardization.params
+2406					if (
+2407						self.standardization.params[_].expr is not None
+2408						and (
+2409							(_[0] in 'abc' and _[1] == '_' and _[2:] == pf(session))
+2410							or (_[0] in 'abc' and _[1:3] == '2_' and _[3:] == pf(session))
+2411							)
+2412						)
+2413					])
+2414# 				print(f'session {session}: {Np} parameters to consider')
+2415				Na = len({
+2416					r['Sample'] for r in self.sessions[session]['data']
+2417					if r['Sample'] in self.anchors and r['Sample'] in mysamples
+2418					})
+2419# 				print(f'session {session}: {Na} different anchors in that session')
+2420				Nf -= min(Np, Na)
+2421# 			print(f'Nf = {Nf}')
+2422
+2423# 			for sample in mysamples :
+2424# 				X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ]
+2425# 				if len(X) > 1 :
+2426# 					chisq += np.sum([ (x-self.samples[sample][key])**2 for x in X ])
+2427# 					if sample in self.unknowns:
+2428# 						Nf += len(X) - 1
+2429# 					else:
+2430# 						Nf += len(X)
+2431# 			if samples in ['anchors', 'all samples']:
+2432# 				Nf -= sum([self.sessions[s]['Np'] for s in sessions])
+2433			r = (chisq / Nf)**.5 if Nf > 0 else 0
+2434
+2435		else: # if key not in ['D47', 'D48']
+2436			chisq, Nf = 0, 0
+2437			for sample in mysamples :
+2438				X = [ r[key] for r in self if r['Sample'] == sample and r['Session'] in sessions ]
+2439				if len(X) > 1 :
+2440					Nf += len(X) - 1
+2441					chisq += np.sum([ (x-np.mean(X))**2 for x in X ])
+2442			r = (chisq / Nf)**.5 if Nf > 0 else 0
+2443
+2444		self.msg(f'Repeatability of r["{key}"] is {1000*r:.1f} ppm for {samples}.')
+2445		return r
 
@@ -10675,46 +10731,46 @@

4. API Documentation

-
2442	def sample_average(self, samples, weights = 'equal', normalize = True):
-2443		'''
-2444		Weighted average Δ4x value of a group of samples, accounting for covariance.
-2445
-2446		Returns the weighed average Δ4x value and associated SE
-2447		of a group of samples. Weights are equal by default. If `normalize` is
-2448		true, `weights` will be rescaled so that their sum equals 1.
-2449
-2450		**Examples**
-2451
-2452		```python
-2453		self.sample_average(['X','Y'], [1, 2])
-2454		```
-2455
-2456		returns the value and SE of [Δ4x(X) + 2 Δ4x(Y)]/3,
-2457		where Δ4x(X) and Δ4x(Y) are the average Δ4x
-2458		values of samples X and Y, respectively.
-2459
-2460		```python
-2461		self.sample_average(['X','Y'], [1, -1], normalize = False)
-2462		```
-2463
-2464		returns the value and SE of the difference Δ4x(X) - Δ4x(Y).
-2465		'''
-2466		if weights == 'equal':
-2467			weights = [1/len(samples)] * len(samples)
+            
2447	def sample_average(self, samples, weights = 'equal', normalize = True):
+2448		'''
+2449		Weighted average Δ4x value of a group of samples, accounting for covariance.
+2450
+2451		Returns the weighed average Δ4x value and associated SE
+2452		of a group of samples. Weights are equal by default. If `normalize` is
+2453		true, `weights` will be rescaled so that their sum equals 1.
+2454
+2455		**Examples**
+2456
+2457		```python
+2458		self.sample_average(['X','Y'], [1, 2])
+2459		```
+2460
+2461		returns the value and SE of [Δ4x(X) + 2 Δ4x(Y)]/3,
+2462		where Δ4x(X) and Δ4x(Y) are the average Δ4x
+2463		values of samples X and Y, respectively.
+2464
+2465		```python
+2466		self.sample_average(['X','Y'], [1, -1], normalize = False)
+2467		```
 2468
-2469		if normalize:
-2470			s = sum(weights)
-2471			if s:
-2472				weights = [w/s for w in weights]
+2469		returns the value and SE of the difference Δ4x(X) - Δ4x(Y).
+2470		'''
+2471		if weights == 'equal':
+2472			weights = [1/len(samples)] * len(samples)
 2473
-2474		try:
-2475# 			indices = [self.standardization.var_names.index(f'D47_{pf(sample)}') for sample in samples]
-2476# 			C = self.standardization.covar[indices,:][:,indices]
-2477			C = np.array([[self.sample_D4x_covar(x, y) for x in samples] for y in samples])
-2478			X = [self.samples[sample][f'D{self._4x}'] for sample in samples]
-2479			return correlated_sum(X, C, weights)
-2480		except ValueError:
-2481			return (0., 0.)
+2474		if normalize:
+2475			s = sum(weights)
+2476			if s:
+2477				weights = [w/s for w in weights]
+2478
+2479		try:
+2480# 			indices = [self.standardization.var_names.index(f'D47_{pf(sample)}') for sample in samples]
+2481# 			C = self.standardization.covar[indices,:][:,indices]
+2482			C = np.array([[self.sample_D4x_covar(x, y) for x in samples] for y in samples])
+2483			X = [self.samples[sample][f'D{self._4x}'] for sample in samples]
+2484			return correlated_sum(X, C, weights)
+2485		except ValueError:
+2486			return (0., 0.)
 
@@ -10756,44 +10812,44 @@

4. API Documentation

-
2484	def sample_D4x_covar(self, sample1, sample2 = None):
-2485		'''
-2486		Covariance between Δ4x values of samples
-2487
-2488		Returns the error covariance between the average Δ4x values of two
-2489		samples. If if only `sample_1` is specified, or if `sample_1 == sample_2`),
-2490		returns the Δ4x variance for that sample.
-2491		'''
-2492		if sample2 is None:
-2493			sample2 = sample1
-2494		if self.standardization_method == 'pooled':
-2495			i = self.standardization.var_names.index(f'D{self._4x}_{pf(sample1)}')
-2496			j = self.standardization.var_names.index(f'D{self._4x}_{pf(sample2)}')
-2497			return self.standardization.covar[i, j]
-2498		elif self.standardization_method == 'indep_sessions':
-2499			if sample1 == sample2:
-2500				return self.samples[sample1][f'SE_D{self._4x}']**2
-2501			else:
-2502				c = 0
-2503				for session in self.sessions:
-2504					sdata1 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample1]
-2505					sdata2 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample2]
-2506					if sdata1 and sdata2:
-2507						a = self.sessions[session]['a']
-2508						# !! TODO: CM below does not account for temporal changes in standardization parameters
-2509						CM = self.sessions[session]['CM'][:3,:3]
-2510						avg_D4x_1 = np.mean([r[f'D{self._4x}'] for r in sdata1])
-2511						avg_d4x_1 = np.mean([r[f'd{self._4x}'] for r in sdata1])
-2512						avg_D4x_2 = np.mean([r[f'D{self._4x}'] for r in sdata2])
-2513						avg_d4x_2 = np.mean([r[f'd{self._4x}'] for r in sdata2])
-2514						c += (
-2515							self.unknowns[sample1][f'session_D{self._4x}'][session][2]
-2516							* self.unknowns[sample2][f'session_D{self._4x}'][session][2]
-2517							* np.array([[avg_D4x_1, avg_d4x_1, 1]])
-2518							@ CM
-2519							@ np.array([[avg_D4x_2, avg_d4x_2, 1]]).T
-2520							) / a**2
-2521				return float(c)
+            
2489	def sample_D4x_covar(self, sample1, sample2 = None):
+2490		'''
+2491		Covariance between Δ4x values of samples
+2492
+2493		Returns the error covariance between the average Δ4x values of two
+2494		samples. If if only `sample_1` is specified, or if `sample_1 == sample_2`),
+2495		returns the Δ4x variance for that sample.
+2496		'''
+2497		if sample2 is None:
+2498			sample2 = sample1
+2499		if self.standardization_method == 'pooled':
+2500			i = self.standardization.var_names.index(f'D{self._4x}_{pf(sample1)}')
+2501			j = self.standardization.var_names.index(f'D{self._4x}_{pf(sample2)}')
+2502			return self.standardization.covar[i, j]
+2503		elif self.standardization_method == 'indep_sessions':
+2504			if sample1 == sample2:
+2505				return self.samples[sample1][f'SE_D{self._4x}']**2
+2506			else:
+2507				c = 0
+2508				for session in self.sessions:
+2509					sdata1 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample1]
+2510					sdata2 = [r for r in self.sessions[session]['data'] if r['Sample'] == sample2]
+2511					if sdata1 and sdata2:
+2512						a = self.sessions[session]['a']
+2513						# !! TODO: CM below does not account for temporal changes in standardization parameters
+2514						CM = self.sessions[session]['CM'][:3,:3]
+2515						avg_D4x_1 = np.mean([r[f'D{self._4x}'] for r in sdata1])
+2516						avg_d4x_1 = np.mean([r[f'd{self._4x}'] for r in sdata1])
+2517						avg_D4x_2 = np.mean([r[f'D{self._4x}'] for r in sdata2])
+2518						avg_d4x_2 = np.mean([r[f'd{self._4x}'] for r in sdata2])
+2519						c += (
+2520							self.unknowns[sample1][f'session_D{self._4x}'][session][2]
+2521							* self.unknowns[sample2][f'session_D{self._4x}'][session][2]
+2522							* np.array([[avg_D4x_1, avg_d4x_1, 1]])
+2523							@ CM
+2524							@ np.array([[avg_D4x_2, avg_d4x_2, 1]]).T
+2525							) / a**2
+2526				return float(c)
 
@@ -10817,19 +10873,19 @@

4. API Documentation

-
2523	def sample_D4x_correl(self, sample1, sample2 = None):
-2524		'''
-2525		Correlation between Δ4x errors of samples
-2526
-2527		Returns the error correlation between the average Δ4x values of two samples.
-2528		'''
-2529		if sample2 is None or sample2 == sample1:
-2530			return 1.
-2531		return (
-2532			self.sample_D4x_covar(sample1, sample2)
-2533			/ self.unknowns[sample1][f'SE_D{self._4x}']
-2534			/ self.unknowns[sample2][f'SE_D{self._4x}']
-2535			)
+            
2528	def sample_D4x_correl(self, sample1, sample2 = None):
+2529		'''
+2530		Correlation between Δ4x errors of samples
+2531
+2532		Returns the error correlation between the average Δ4x values of two samples.
+2533		'''
+2534		if sample2 is None or sample2 == sample1:
+2535			return 1.
+2536		return (
+2537			self.sample_D4x_covar(sample1, sample2)
+2538			/ self.unknowns[sample1][f'SE_D{self._4x}']
+2539			/ self.unknowns[sample2][f'SE_D{self._4x}']
+2540			)
 
@@ -10851,104 +10907,125 @@

4. API Documentation

-
2537	def plot_single_session(self,
-2538		session,
-2539		kw_plot_anchors = dict(ls='None', marker='x', mec=(.75, 0, 0), mew = .75, ms = 4),
-2540		kw_plot_unknowns = dict(ls='None', marker='x', mec=(0, 0, .75), mew = .75, ms = 4),
-2541		kw_plot_anchor_avg = dict(ls='-', marker='None', color=(.75, 0, 0), lw = .75),
-2542		kw_plot_unknown_avg = dict(ls='-', marker='None', color=(0, 0, .75), lw = .75),
-2543		kw_contour_error = dict(colors = [[0, 0, 0]], alpha = .5, linewidths = 0.75),
-2544		xylimits = 'free', # | 'constant'
-2545		x_label = None,
-2546		y_label = None,
-2547		error_contour_interval = 'auto',
-2548		fig = 'new',
-2549		):
-2550		'''
-2551		Generate plot for a single session
-2552		'''
-2553		if x_label is None:
-2554			x_label = f'δ$_{{{self._4x}}}$ (‰)'
-2555		if y_label is None:
-2556			y_label = f'Δ$_{{{self._4x}}}$ (‰)'
-2557
-2558		out = _SessionPlot()
-2559		anchors = [a for a in self.anchors if [r for r in self.sessions[session]['data'] if r['Sample'] == a]]
-2560		unknowns = [u for u in self.unknowns if [r for r in self.sessions[session]['data'] if r['Sample'] == u]]
-2561		
-2562		if fig == 'new':
-2563			out.fig = ppl.figure(figsize = (6,6))
-2564			ppl.subplots_adjust(.1,.1,.9,.9)
-2565
-2566		out.anchor_analyses, = ppl.plot(
-2567			[r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors],
-2568			[r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors],
-2569			**kw_plot_anchors)
-2570		out.unknown_analyses, = ppl.plot(
-2571			[r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns],
-2572			[r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns],
-2573			**kw_plot_unknowns)
-2574		out.anchor_avg = ppl.plot(
-2575			np.array([ np.array([
+            
2542	def plot_single_session(self,
+2543		session,
+2544		kw_plot_anchors = dict(ls='None', marker='x', mec=(.75, 0, 0), mew = .75, ms = 4),
+2545		kw_plot_unknowns = dict(ls='None', marker='x', mec=(0, 0, .75), mew = .75, ms = 4),
+2546		kw_plot_anchor_avg = dict(ls='-', marker='None', color=(.75, 0, 0), lw = .75),
+2547		kw_plot_unknown_avg = dict(ls='-', marker='None', color=(0, 0, .75), lw = .75),
+2548		kw_contour_error = dict(colors = [[0, 0, 0]], alpha = .5, linewidths = 0.75),
+2549		xylimits = 'free', # | 'constant'
+2550		x_label = None,
+2551		y_label = None,
+2552		error_contour_interval = 'auto',
+2553		fig = 'new',
+2554		):
+2555		'''
+2556		Generate plot for a single session
+2557		'''
+2558		if x_label is None:
+2559			x_label = f'δ$_{{{self._4x}}}$ (‰)'
+2560		if y_label is None:
+2561			y_label = f'Δ$_{{{self._4x}}}$ (‰)'
+2562
+2563		out = _SessionPlot()
+2564		anchors = [a for a in self.anchors if [r for r in self.sessions[session]['data'] if r['Sample'] == a]]
+2565		unknowns = [u for u in self.unknowns if [r for r in self.sessions[session]['data'] if r['Sample'] == u]]
+2566		anchors_d = [r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors]
+2567		anchors_D = [r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.anchors]
+2568		unknowns_d = [r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns]
+2569		unknowns_D = [r[f'D{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] in self.unknowns]
+2570		anchor_avg = (np.array([ np.array([
+2571				np.min([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) - 1,
+2572				np.max([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) + 1
+2573				]) for sample in anchors]).T,
+2574			np.array([ np.array([0, 0]) + self.Nominal_D4x[sample] for sample in anchors]).T)
+2575		unknown_avg = (np.array([ np.array([
 2576				np.min([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) - 1,
 2577				np.max([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) + 1
-2578				]) for sample in anchors]).T,
-2579			np.array([ np.array([0, 0]) + self.Nominal_D4x[sample] for sample in anchors]).T,
-2580			**kw_plot_anchor_avg)
-2581		out.unknown_avg = ppl.plot(
-2582			np.array([ np.array([
-2583				np.min([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) - 1,
-2584				np.max([r[f'd{self._4x}'] for r in self.sessions[session]['data'] if r['Sample'] == sample]) + 1
-2585				]) for sample in unknowns]).T,
-2586			np.array([ np.array([0, 0]) + self.unknowns[sample][f'D{self._4x}'] for sample in unknowns]).T,
-2587			**kw_plot_unknown_avg)
-2588		if xylimits == 'constant':
-2589			x = [r[f'd{self._4x}'] for r in self]
-2590			y = [r[f'D{self._4x}'] for r in self]
-2591			x1, x2, y1, y2 = np.min(x), np.max(x), np.min(y), np.max(y)
-2592			w, h = x2-x1, y2-y1
-2593			x1 -= w/20
-2594			x2 += w/20
-2595			y1 -= h/20
-2596			y2 += h/20
-2597			ppl.axis([x1, x2, y1, y2])
-2598		elif xylimits == 'free':
-2599			x1, x2, y1, y2 = ppl.axis()
-2600		else:
-2601			x1, x2, y1, y2 = ppl.axis(xylimits)
-2602				
-2603		if error_contour_interval != 'none':
-2604			xi, yi = np.linspace(x1, x2), np.linspace(y1, y2)
-2605			XI,YI = np.meshgrid(xi, yi)
-2606			SI = np.array([[self.standardization_error(session, x, y) for x in xi] for y in yi])
-2607			if error_contour_interval == 'auto':
-2608				rng = np.max(SI) - np.min(SI)
-2609				if rng <= 0.01:
-2610					cinterval = 0.001
-2611				elif rng <= 0.03:
-2612					cinterval = 0.004
-2613				elif rng <= 0.1:
-2614					cinterval = 0.01
-2615				elif rng <= 0.3:
-2616					cinterval = 0.03
-2617				elif rng <= 1.:
-2618					cinterval = 0.1
-2619				else:
-2620					cinterval = 0.5
-2621			else:
-2622				cinterval = error_contour_interval
-2623
-2624			cval = np.arange(np.ceil(SI.min() / .001) * .001, np.ceil(SI.max() / .001 + 1) * .001, cinterval)
-2625			out.contour = ppl.contour(XI, YI, SI, cval, **kw_contour_error)
-2626			out.clabel = ppl.clabel(out.contour)
-2627
-2628		ppl.xlabel(x_label)
-2629		ppl.ylabel(y_label)
-2630		ppl.title(session, weight = 'bold')
-2631		ppl.grid(alpha = .2)
-2632		out.ax = ppl.gca()		
-2633
-2634		return out
+2578				]) for sample in unknowns]).T,
+2579			np.array([ np.array([0, 0]) + self.unknowns[sample][f'D{self._4x}'] for sample in unknowns]).T)
+2580		
+2581		
+2582		if fig == 'new':
+2583			out.fig = ppl.figure(figsize = (6,6))
+2584			ppl.subplots_adjust(.1,.1,.9,.9)
+2585
+2586		out.anchor_analyses, = ppl.plot(
+2587			anchors_d,
+2588			anchors_D,
+2589			**kw_plot_anchors)
+2590		out.unknown_analyses, = ppl.plot(
+2591			unknowns_d,
+2592			unknowns_D,
+2593			**kw_plot_unknowns)
+2594		out.anchor_avg = ppl.plot(
+2595			*anchor_avg,
+2596			**kw_plot_anchor_avg)
+2597		out.unknown_avg = ppl.plot(
+2598			*unknown_avg,
+2599			**kw_plot_unknown_avg)
+2600		if xylimits == 'constant':
+2601			x = [r[f'd{self._4x}'] for r in self]
+2602			y = [r[f'D{self._4x}'] for r in self]
+2603			x1, x2, y1, y2 = np.min(x), np.max(x), np.min(y), np.max(y)
+2604			w, h = x2-x1, y2-y1
+2605			x1 -= w/20
+2606			x2 += w/20
+2607			y1 -= h/20
+2608			y2 += h/20
+2609			ppl.axis([x1, x2, y1, y2])
+2610		elif xylimits == 'free':
+2611			x1, x2, y1, y2 = ppl.axis()
+2612		else:
+2613			x1, x2, y1, y2 = ppl.axis(xylimits)
+2614				
+2615		if error_contour_interval != 'none':
+2616			xi, yi = np.linspace(x1, x2), np.linspace(y1, y2)
+2617			XI,YI = np.meshgrid(xi, yi)
+2618			SI = np.array([[self.standardization_error(session, x, y) for x in xi] for y in yi])
+2619			if error_contour_interval == 'auto':
+2620				rng = np.max(SI) - np.min(SI)
+2621				if rng <= 0.01:
+2622					cinterval = 0.001
+2623				elif rng <= 0.03:
+2624					cinterval = 0.004
+2625				elif rng <= 0.1:
+2626					cinterval = 0.01
+2627				elif rng <= 0.3:
+2628					cinterval = 0.03
+2629				elif rng <= 1.:
+2630					cinterval = 0.1
+2631				else:
+2632					cinterval = 0.5
+2633			else:
+2634				cinterval = error_contour_interval
+2635
+2636			cval = np.arange(np.ceil(SI.min() / .001) * .001, np.ceil(SI.max() / .001 + 1) * .001, cinterval)
+2637			out.contour = ppl.contour(XI, YI, SI, cval, **kw_contour_error)
+2638			out.clabel = ppl.clabel(out.contour)
+2639			contour = (XI, YI, SI, cval, cinterval)
+2640
+2641		if fig == None:
+2642			return {
+2643			'anchors':anchors,
+2644			'unknowns':unknowns,
+2645			'anchors_d':anchors_d,
+2646			'anchors_D':anchors_D,
+2647			'unknowns_d':unknowns_d,
+2648			'unknowns_D':unknowns_D,
+2649			'anchor_avg':anchor_avg,
+2650			'unknown_avg':unknown_avg,
+2651			'contour':contour,
+2652			}
+2653
+2654		ppl.xlabel(x_label)
+2655		ppl.ylabel(y_label)
+2656		ppl.title(session, weight = 'bold')
+2657		ppl.grid(alpha = .2)
+2658		out.ax = ppl.gca()		
+2659
+2660		return out
 
@@ -10968,222 +11045,222 @@

4. API Documentation

-
2636	def plot_residuals(
-2637		self,
-2638		kde = False,
-2639		hist = False,
-2640		binwidth = 2/3,
-2641		dir = 'output',
-2642		filename = None,
-2643		highlight = [],
-2644		colors = None,
-2645		figsize = None,
-2646		dpi = 100,
-2647		yspan = None,
-2648		):
-2649		'''
-2650		Plot residuals of each analysis as a function of time (actually, as a function of
-2651		the order of analyses in the `D4xdata` object)
-2652
-2653		+ `kde`: whether to add a kernel density estimate of residuals
-2654		+ `hist`: whether to add a histogram of residuals (incompatible with `kde`)
-2655		+ `histbins`: specify bin edges for the histogram
-2656		+ `dir`: the directory in which to save the plot
-2657		+ `highlight`: a list of samples to highlight
-2658		+ `colors`: a dict of `{<sample>: <color>}` for all samples
-2659		+ `figsize`: (width, height) of figure
-2660		+ `dpi`: resolution for PNG output
-2661		+ `yspan`: factor controlling the range of y values shown in plot
-2662		  (by default: `yspan = 1.5 if kde else 1.0`)
-2663		'''
-2664		
-2665		from matplotlib import ticker
-2666
-2667		if yspan is None:
-2668			if kde:
-2669				yspan = 1.5
-2670			else:
-2671				yspan = 1.0
-2672		
-2673		# Layout
-2674		fig = ppl.figure(figsize = (8,4) if figsize is None else figsize)
-2675		if hist or kde:
-2676			ppl.subplots_adjust(left = .08, bottom = .05, right = .98, top = .8, wspace = -0.72)
-2677			ax1, ax2 = ppl.subplot(121), ppl.subplot(1,15,15)
-2678		else:
-2679			ppl.subplots_adjust(.08,.05,.78,.8)
-2680			ax1 = ppl.subplot(111)
-2681		
-2682		# Colors
-2683		N = len(self.anchors)
-2684		if colors is None:
-2685			if len(highlight) > 0:
-2686				Nh = len(highlight)
-2687				if Nh == 1:
-2688					colors = {highlight[0]: (0,0,0)}
-2689				elif Nh == 3:
-2690					colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0)])}
-2691				elif Nh == 4:
-2692					colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])}
-2693				else:
-2694					colors = {a: hls_to_rgb(k/Nh, .4, 1) for k,a in enumerate(highlight)}
-2695			else:
-2696				if N == 3:
-2697					colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0)])}
-2698				elif N == 4:
-2699					colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])}
-2700				else:
-2701					colors = {a: hls_to_rgb(k/N, .4, 1) for k,a in enumerate(self.anchors)}
-2702
-2703		ppl.sca(ax1)
-2704		
-2705		ppl.axhline(0, color = 'k', alpha = .25, lw = 0.75)
-2706
-2707		ax1.yaxis.set_major_formatter(ticker.FuncFormatter(lambda x, pos: f'${x:+.0f}$' if x else '$0$'))
-2708
-2709		session = self[0]['Session']
-2710		x1 = 0
-2711# 		ymax = np.max([1e3 * (r['D47'] - self.samples[r['Sample']]['D47']) for r in self])
-2712		x_sessions = {}
-2713		one_or_more_singlets = False
-2714		one_or_more_multiplets = False
-2715		multiplets = set()
-2716		for k,r in enumerate(self):
-2717			if r['Session'] != session:
-2718				x2 = k-1
-2719				x_sessions[session] = (x1+x2)/2
-2720				ppl.axvline(k - 0.5, color = 'k', lw = .5)
-2721				session = r['Session']
-2722				x1 = k
-2723			singlet = len(self.samples[r['Sample']]['data']) == 1
-2724			if not singlet:
-2725				multiplets.add(r['Sample'])
-2726			if r['Sample'] in self.unknowns:
-2727				if singlet:
-2728					one_or_more_singlets = True
-2729				else:
-2730					one_or_more_multiplets = True
-2731			kw = dict(
-2732				marker = 'x' if singlet else '+',
-2733				ms = 4 if singlet else 5,
-2734				ls = 'None',
-2735				mec = colors[r['Sample']] if r['Sample'] in colors else (0,0,0),
-2736				mew = 1,
-2737				alpha = 0.2 if singlet else 1,
-2738				)
-2739			if highlight and r['Sample'] not in highlight:
-2740				kw['alpha'] = 0.2
-2741			ppl.plot(k, 1e3 * r[f'D{self._4x}_residual'], **kw)
-2742		x2 = k
-2743		x_sessions[session] = (x1+x2)/2
-2744
-2745		ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000, self.repeatability[f'r_D{self._4x}']*1000, color = 'k', alpha = .05, lw = 1)
-2746		ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000*self.t95, self.repeatability[f'r_D{self._4x}']*1000*self.t95, color = 'k', alpha = .05, lw = 1)
-2747		if not (hist or kde):
-2748			ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000, f"   SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm", size = 9, alpha = 1, va = 'center')
-2749			ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000*self.t95, f"   95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm", size = 9, alpha = 1, va = 'center')
-2750
-2751		xmin, xmax, ymin, ymax = ppl.axis()
-2752		if yspan != 1:
-2753			ymin, ymax = (ymin + ymax)/2 - yspan * (ymax - ymin)/2, (ymin + ymax)/2 + yspan * (ymax - ymin)/2
-2754		for s in x_sessions:
-2755			ppl.text(
-2756				x_sessions[s],
-2757				ymax +1,
-2758				s,
-2759				va = 'bottom',
-2760				**(
-2761					dict(ha = 'center')
-2762					if len(self.sessions[s]['data']) > (0.15 * len(self))
-2763					else dict(ha = 'left', rotation = 45)
-2764					)
-2765				)
-2766
-2767		if hist or kde:
-2768			ppl.sca(ax2)
-2769
-2770		for s in colors:
-2771			kw['marker'] = '+'
-2772			kw['ms'] = 5
-2773			kw['mec'] = colors[s]
-2774			kw['label'] = s
-2775			kw['alpha'] = 1
-2776			ppl.plot([], [], **kw)
-2777
-2778		kw['mec'] = (0,0,0)
-2779
-2780		if one_or_more_singlets:
-2781			kw['marker'] = 'x'
-2782			kw['ms'] = 4
-2783			kw['alpha'] = .2
-2784			kw['label'] = 'other (N$\\,$=$\\,$1)' if one_or_more_multiplets else 'other'
-2785			ppl.plot([], [], **kw)
-2786
-2787		if one_or_more_multiplets:
-2788			kw['marker'] = '+'
-2789			kw['ms'] = 4
-2790			kw['alpha'] = 1
-2791			kw['label'] = 'other (N$\\,$>$\\,$1)' if one_or_more_singlets else 'other'
-2792			ppl.plot([], [], **kw)
-2793
-2794		if hist or kde:
-2795			leg = ppl.legend(loc = 'upper right', bbox_to_anchor = (1, 1), bbox_transform=fig.transFigure, borderaxespad = 1.5, fontsize = 9)
-2796		else:
-2797			leg = ppl.legend(loc = 'lower right', bbox_to_anchor = (1, 0), bbox_transform=fig.transFigure, borderaxespad = 1.5)
-2798		leg.set_zorder(-1000)
-2799
-2800		ppl.sca(ax1)
-2801
-2802		ppl.ylabel(f'Δ$_{{{self._4x}}}$ residuals (ppm)')
-2803		ppl.xticks([])
-2804		ppl.axis([-1, len(self), None, None])
+            
2662	def plot_residuals(
+2663		self,
+2664		kde = False,
+2665		hist = False,
+2666		binwidth = 2/3,
+2667		dir = 'output',
+2668		filename = None,
+2669		highlight = [],
+2670		colors = None,
+2671		figsize = None,
+2672		dpi = 100,
+2673		yspan = None,
+2674		):
+2675		'''
+2676		Plot residuals of each analysis as a function of time (actually, as a function of
+2677		the order of analyses in the `D4xdata` object)
+2678
+2679		+ `kde`: whether to add a kernel density estimate of residuals
+2680		+ `hist`: whether to add a histogram of residuals (incompatible with `kde`)
+2681		+ `histbins`: specify bin edges for the histogram
+2682		+ `dir`: the directory in which to save the plot
+2683		+ `highlight`: a list of samples to highlight
+2684		+ `colors`: a dict of `{<sample>: <color>}` for all samples
+2685		+ `figsize`: (width, height) of figure
+2686		+ `dpi`: resolution for PNG output
+2687		+ `yspan`: factor controlling the range of y values shown in plot
+2688		  (by default: `yspan = 1.5 if kde else 1.0`)
+2689		'''
+2690		
+2691		from matplotlib import ticker
+2692
+2693		if yspan is None:
+2694			if kde:
+2695				yspan = 1.5
+2696			else:
+2697				yspan = 1.0
+2698		
+2699		# Layout
+2700		fig = ppl.figure(figsize = (8,4) if figsize is None else figsize)
+2701		if hist or kde:
+2702			ppl.subplots_adjust(left = .08, bottom = .05, right = .98, top = .8, wspace = -0.72)
+2703			ax1, ax2 = ppl.subplot(121), ppl.subplot(1,15,15)
+2704		else:
+2705			ppl.subplots_adjust(.08,.05,.78,.8)
+2706			ax1 = ppl.subplot(111)
+2707		
+2708		# Colors
+2709		N = len(self.anchors)
+2710		if colors is None:
+2711			if len(highlight) > 0:
+2712				Nh = len(highlight)
+2713				if Nh == 1:
+2714					colors = {highlight[0]: (0,0,0)}
+2715				elif Nh == 3:
+2716					colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0)])}
+2717				elif Nh == 4:
+2718					colors = {a: c for a,c in zip(highlight, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])}
+2719				else:
+2720					colors = {a: hls_to_rgb(k/Nh, .4, 1) for k,a in enumerate(highlight)}
+2721			else:
+2722				if N == 3:
+2723					colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0)])}
+2724				elif N == 4:
+2725					colors = {a: c for a,c in zip(self.anchors, [(0,0,1), (1,0,0), (0,2/3,0), (.75,0,.75)])}
+2726				else:
+2727					colors = {a: hls_to_rgb(k/N, .4, 1) for k,a in enumerate(self.anchors)}
+2728
+2729		ppl.sca(ax1)
+2730		
+2731		ppl.axhline(0, color = 'k', alpha = .25, lw = 0.75)
+2732
+2733		ax1.yaxis.set_major_formatter(ticker.FuncFormatter(lambda x, pos: f'${x:+.0f}$' if x else '$0$'))
+2734
+2735		session = self[0]['Session']
+2736		x1 = 0
+2737# 		ymax = np.max([1e3 * (r['D47'] - self.samples[r['Sample']]['D47']) for r in self])
+2738		x_sessions = {}
+2739		one_or_more_singlets = False
+2740		one_or_more_multiplets = False
+2741		multiplets = set()
+2742		for k,r in enumerate(self):
+2743			if r['Session'] != session:
+2744				x2 = k-1
+2745				x_sessions[session] = (x1+x2)/2
+2746				ppl.axvline(k - 0.5, color = 'k', lw = .5)
+2747				session = r['Session']
+2748				x1 = k
+2749			singlet = len(self.samples[r['Sample']]['data']) == 1
+2750			if not singlet:
+2751				multiplets.add(r['Sample'])
+2752			if r['Sample'] in self.unknowns:
+2753				if singlet:
+2754					one_or_more_singlets = True
+2755				else:
+2756					one_or_more_multiplets = True
+2757			kw = dict(
+2758				marker = 'x' if singlet else '+',
+2759				ms = 4 if singlet else 5,
+2760				ls = 'None',
+2761				mec = colors[r['Sample']] if r['Sample'] in colors else (0,0,0),
+2762				mew = 1,
+2763				alpha = 0.2 if singlet else 1,
+2764				)
+2765			if highlight and r['Sample'] not in highlight:
+2766				kw['alpha'] = 0.2
+2767			ppl.plot(k, 1e3 * r[f'D{self._4x}_residual'], **kw)
+2768		x2 = k
+2769		x_sessions[session] = (x1+x2)/2
+2770
+2771		ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000, self.repeatability[f'r_D{self._4x}']*1000, color = 'k', alpha = .05, lw = 1)
+2772		ppl.axhspan(-self.repeatability[f'r_D{self._4x}']*1000*self.t95, self.repeatability[f'r_D{self._4x}']*1000*self.t95, color = 'k', alpha = .05, lw = 1)
+2773		if not (hist or kde):
+2774			ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000, f"   SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm", size = 9, alpha = 1, va = 'center')
+2775			ppl.text(len(self), self.repeatability[f'r_D{self._4x}']*1000*self.t95, f"   95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm", size = 9, alpha = 1, va = 'center')
+2776
+2777		xmin, xmax, ymin, ymax = ppl.axis()
+2778		if yspan != 1:
+2779			ymin, ymax = (ymin + ymax)/2 - yspan * (ymax - ymin)/2, (ymin + ymax)/2 + yspan * (ymax - ymin)/2
+2780		for s in x_sessions:
+2781			ppl.text(
+2782				x_sessions[s],
+2783				ymax +1,
+2784				s,
+2785				va = 'bottom',
+2786				**(
+2787					dict(ha = 'center')
+2788					if len(self.sessions[s]['data']) > (0.15 * len(self))
+2789					else dict(ha = 'left', rotation = 45)
+2790					)
+2791				)
+2792
+2793		if hist or kde:
+2794			ppl.sca(ax2)
+2795
+2796		for s in colors:
+2797			kw['marker'] = '+'
+2798			kw['ms'] = 5
+2799			kw['mec'] = colors[s]
+2800			kw['label'] = s
+2801			kw['alpha'] = 1
+2802			ppl.plot([], [], **kw)
+2803
+2804		kw['mec'] = (0,0,0)
 2805
-2806		if hist or kde:
-2807			ppl.sca(ax2)
-2808			X = 1e3 * np.array([r[f'D{self._4x}_residual'] for r in self if r['Sample'] in multiplets or r['Sample'] in self.anchors])
-2809
-2810			if kde:
-2811				from scipy.stats import gaussian_kde
-2812				yi = np.linspace(ymin, ymax, 201)
-2813				xi = gaussian_kde(X).evaluate(yi)
-2814				ppl.fill_betweenx(yi, xi, xi*0, fc = (0,0,0,.15), lw = 1, ec = (.75,.75,.75,1))
-2815# 				ppl.plot(xi, yi, 'k-', lw = 1)
-2816			elif hist:
-2817				ppl.hist(
-2818					X,
-2819					orientation = 'horizontal',
-2820					histtype = 'stepfilled',
-2821					ec = [.4]*3,
-2822					fc = [.25]*3,
-2823					alpha = .25,
-2824					bins = np.linspace(-9e3*self.repeatability[f'r_D{self._4x}'], 9e3*self.repeatability[f'r_D{self._4x}'], int(18/binwidth+1)),
-2825					)
-2826			ppl.text(0, 0,
-2827				f"   SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm\n   95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm",
-2828				size = 7.5,
-2829				alpha = 1,
-2830				va = 'center',
-2831				ha = 'left',
-2832				)
-2833
-2834			ppl.axis([0, None, ymin, ymax])
-2835			ppl.xticks([])
-2836			ppl.yticks([])
-2837# 			ax2.spines['left'].set_visible(False)
-2838			ax2.spines['right'].set_visible(False)
-2839			ax2.spines['top'].set_visible(False)
-2840			ax2.spines['bottom'].set_visible(False)
-2841
-2842		ax1.axis([None, None, ymin, ymax])
-2843
-2844		if not os.path.exists(dir):
-2845			os.makedirs(dir)
-2846		if filename is None:
-2847			return fig
-2848		elif filename == '':
-2849			filename = f'D{self._4x}_residuals.pdf'
-2850		ppl.savefig(f'{dir}/{filename}', dpi = dpi)
-2851		ppl.close(fig)
+2806		if one_or_more_singlets:
+2807			kw['marker'] = 'x'
+2808			kw['ms'] = 4
+2809			kw['alpha'] = .2
+2810			kw['label'] = 'other (N$\\,$=$\\,$1)' if one_or_more_multiplets else 'other'
+2811			ppl.plot([], [], **kw)
+2812
+2813		if one_or_more_multiplets:
+2814			kw['marker'] = '+'
+2815			kw['ms'] = 4
+2816			kw['alpha'] = 1
+2817			kw['label'] = 'other (N$\\,$>$\\,$1)' if one_or_more_singlets else 'other'
+2818			ppl.plot([], [], **kw)
+2819
+2820		if hist or kde:
+2821			leg = ppl.legend(loc = 'upper right', bbox_to_anchor = (1, 1), bbox_transform=fig.transFigure, borderaxespad = 1.5, fontsize = 9)
+2822		else:
+2823			leg = ppl.legend(loc = 'lower right', bbox_to_anchor = (1, 0), bbox_transform=fig.transFigure, borderaxespad = 1.5)
+2824		leg.set_zorder(-1000)
+2825
+2826		ppl.sca(ax1)
+2827
+2828		ppl.ylabel(f'Δ$_{{{self._4x}}}$ residuals (ppm)')
+2829		ppl.xticks([])
+2830		ppl.axis([-1, len(self), None, None])
+2831
+2832		if hist or kde:
+2833			ppl.sca(ax2)
+2834			X = 1e3 * np.array([r[f'D{self._4x}_residual'] for r in self if r['Sample'] in multiplets or r['Sample'] in self.anchors])
+2835
+2836			if kde:
+2837				from scipy.stats import gaussian_kde
+2838				yi = np.linspace(ymin, ymax, 201)
+2839				xi = gaussian_kde(X).evaluate(yi)
+2840				ppl.fill_betweenx(yi, xi, xi*0, fc = (0,0,0,.15), lw = 1, ec = (.75,.75,.75,1))
+2841# 				ppl.plot(xi, yi, 'k-', lw = 1)
+2842			elif hist:
+2843				ppl.hist(
+2844					X,
+2845					orientation = 'horizontal',
+2846					histtype = 'stepfilled',
+2847					ec = [.4]*3,
+2848					fc = [.25]*3,
+2849					alpha = .25,
+2850					bins = np.linspace(-9e3*self.repeatability[f'r_D{self._4x}'], 9e3*self.repeatability[f'r_D{self._4x}'], int(18/binwidth+1)),
+2851					)
+2852			ppl.text(0, 0,
+2853				f"   SD = {self.repeatability[f'r_D{self._4x}']*1000:.1f} ppm\n   95% CL = ± {self.repeatability[f'r_D{self._4x}']*1000*self.t95:.1f} ppm",
+2854				size = 7.5,
+2855				alpha = 1,
+2856				va = 'center',
+2857				ha = 'left',
+2858				)
+2859
+2860			ppl.axis([0, None, ymin, ymax])
+2861			ppl.xticks([])
+2862			ppl.yticks([])
+2863# 			ax2.spines['left'].set_visible(False)
+2864			ax2.spines['right'].set_visible(False)
+2865			ax2.spines['top'].set_visible(False)
+2866			ax2.spines['bottom'].set_visible(False)
+2867
+2868		ax1.axis([None, None, ymin, ymax])
+2869
+2870		if not os.path.exists(dir):
+2871			os.makedirs(dir)
+2872		if filename is None:
+2873			return fig
+2874		elif filename == '':
+2875			filename = f'D{self._4x}_residuals.pdf'
+2876		ppl.savefig(f'{dir}/{filename}', dpi = dpi)
+2877		ppl.close(fig)
 
@@ -11217,11 +11294,11 @@

4. API Documentation

-
2854	def simulate(self, *args, **kwargs):
-2855		'''
-2856		Legacy function with warning message pointing to `virtual_data()`
-2857		'''
-2858		raise DeprecationWarning('D4xdata.simulate is deprecated and has been replaced by virtual_data()')
+            
2880	def simulate(self, *args, **kwargs):
+2881		'''
+2882		Legacy function with warning message pointing to `virtual_data()`
+2883		'''
+2884		raise DeprecationWarning('D4xdata.simulate is deprecated and has been replaced by virtual_data()')
 
@@ -11241,86 +11318,86 @@

4. API Documentation

-
2860	def plot_distribution_of_analyses(
-2861		self,
-2862		dir = 'output',
-2863		filename = None,
-2864		vs_time = False,
-2865		figsize = (6,4),
-2866		subplots_adjust = (0.02, 0.13, 0.85, 0.8),
-2867		output = None,
-2868		dpi = 100,
-2869		):
-2870		'''
-2871		Plot temporal distribution of all analyses in the data set.
-2872		
-2873		**Parameters**
-2874
-2875		+ `dir`: the directory in which to save the plot
-2876		+ `vs_time`: if `True`, plot as a function of `TimeTag` rather than sequentially.
-2877		+ `dpi`: resolution for PNG output
-2878		+ `figsize`: (width, height) of figure
-2879		+ `dpi`: resolution for PNG output
-2880		'''
-2881
-2882		asamples = [s for s in self.anchors]
-2883		usamples = [s for s in self.unknowns]
-2884		if output is None or output == 'fig':
-2885			fig = ppl.figure(figsize = figsize)
-2886			ppl.subplots_adjust(*subplots_adjust)
-2887		Xmin = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self)])
-2888		Xmax = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self)])
-2889		Xmax += (Xmax-Xmin)/40
-2890		Xmin -= (Xmax-Xmin)/41
-2891		for k, s in enumerate(asamples + usamples):
-2892			if vs_time:
-2893				X = [r['TimeTag'] for r in self if r['Sample'] == s]
-2894			else:
-2895				X = [x for x,r in enumerate(self) if r['Sample'] == s]
-2896			Y = [-k for x in X]
-2897			ppl.plot(X, Y, 'o', mec = None, mew = 0, mfc = 'b' if s in usamples else 'r', ms = 3, alpha = .75)
-2898			ppl.axhline(-k, color = 'b' if s in usamples else 'r', lw = .5, alpha = .25)
-2899			ppl.text(Xmax, -k, f'   {s}', va = 'center', ha = 'left', size = 7, color = 'b' if s in usamples else 'r')
-2900		ppl.axis([Xmin, Xmax, -k-1, 1])
-2901		ppl.xlabel('\ntime')
-2902		ppl.gca().annotate('',
-2903			xy = (0.6, -0.02),
-2904			xycoords = 'axes fraction',
-2905			xytext = (.4, -0.02), 
-2906            arrowprops = dict(arrowstyle = "->", color = 'k'),
-2907            )
-2908			
-2909
-2910		x2 = -1
-2911		for session in self.sessions:
-2912			x1 = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session])
-2913			if vs_time:
-2914				ppl.axvline(x1, color = 'k', lw = .75)
-2915			if x2 > -1:
-2916				if not vs_time:
-2917					ppl.axvline((x1+x2)/2, color = 'k', lw = .75, alpha = .5)
-2918			x2 = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session])
-2919# 			from xlrd import xldate_as_datetime
-2920# 			print(session, xldate_as_datetime(x1, 0), xldate_as_datetime(x2, 0))
-2921			if vs_time:
-2922				ppl.axvline(x2, color = 'k', lw = .75)
-2923				ppl.axvspan(x1,x2,color = 'k', zorder = -100, alpha = .15)
-2924			ppl.text((x1+x2)/2, 1, f' {session}', ha = 'left', va = 'bottom', rotation = 45, size = 8)
-2925
-2926		ppl.xticks([])
-2927		ppl.yticks([])
-2928
-2929		if output is None:
-2930			if not os.path.exists(dir):
-2931				os.makedirs(dir)
-2932			if filename == None:
-2933				filename = f'D{self._4x}_distribution_of_analyses.pdf'
-2934			ppl.savefig(f'{dir}/{filename}', dpi = dpi)
-2935			ppl.close(fig)
-2936		elif output == 'ax':
-2937			return ppl.gca()
-2938		elif output == 'fig':
-2939			return fig
+            
2886	def plot_distribution_of_analyses(
+2887		self,
+2888		dir = 'output',
+2889		filename = None,
+2890		vs_time = False,
+2891		figsize = (6,4),
+2892		subplots_adjust = (0.02, 0.13, 0.85, 0.8),
+2893		output = None,
+2894		dpi = 100,
+2895		):
+2896		'''
+2897		Plot temporal distribution of all analyses in the data set.
+2898		
+2899		**Parameters**
+2900
+2901		+ `dir`: the directory in which to save the plot
+2902		+ `vs_time`: if `True`, plot as a function of `TimeTag` rather than sequentially.
+2903		+ `dpi`: resolution for PNG output
+2904		+ `figsize`: (width, height) of figure
+2905		+ `dpi`: resolution for PNG output
+2906		'''
+2907
+2908		asamples = [s for s in self.anchors]
+2909		usamples = [s for s in self.unknowns]
+2910		if output is None or output == 'fig':
+2911			fig = ppl.figure(figsize = figsize)
+2912			ppl.subplots_adjust(*subplots_adjust)
+2913		Xmin = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self)])
+2914		Xmax = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self)])
+2915		Xmax += (Xmax-Xmin)/40
+2916		Xmin -= (Xmax-Xmin)/41
+2917		for k, s in enumerate(asamples + usamples):
+2918			if vs_time:
+2919				X = [r['TimeTag'] for r in self if r['Sample'] == s]
+2920			else:
+2921				X = [x for x,r in enumerate(self) if r['Sample'] == s]
+2922			Y = [-k for x in X]
+2923			ppl.plot(X, Y, 'o', mec = None, mew = 0, mfc = 'b' if s in usamples else 'r', ms = 3, alpha = .75)
+2924			ppl.axhline(-k, color = 'b' if s in usamples else 'r', lw = .5, alpha = .25)
+2925			ppl.text(Xmax, -k, f'   {s}', va = 'center', ha = 'left', size = 7, color = 'b' if s in usamples else 'r')
+2926		ppl.axis([Xmin, Xmax, -k-1, 1])
+2927		ppl.xlabel('\ntime')
+2928		ppl.gca().annotate('',
+2929			xy = (0.6, -0.02),
+2930			xycoords = 'axes fraction',
+2931			xytext = (.4, -0.02), 
+2932            arrowprops = dict(arrowstyle = "->", color = 'k'),
+2933            )
+2934			
+2935
+2936		x2 = -1
+2937		for session in self.sessions:
+2938			x1 = min([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session])
+2939			if vs_time:
+2940				ppl.axvline(x1, color = 'k', lw = .75)
+2941			if x2 > -1:
+2942				if not vs_time:
+2943					ppl.axvline((x1+x2)/2, color = 'k', lw = .75, alpha = .5)
+2944			x2 = max([r['TimeTag'] if vs_time else j for j,r in enumerate(self) if r['Session'] == session])
+2945# 			from xlrd import xldate_as_datetime
+2946# 			print(session, xldate_as_datetime(x1, 0), xldate_as_datetime(x2, 0))
+2947			if vs_time:
+2948				ppl.axvline(x2, color = 'k', lw = .75)
+2949				ppl.axvspan(x1,x2,color = 'k', zorder = -100, alpha = .15)
+2950			ppl.text((x1+x2)/2, 1, f' {session}', ha = 'left', va = 'bottom', rotation = 45, size = 8)
+2951
+2952		ppl.xticks([])
+2953		ppl.yticks([])
+2954
+2955		if output is None:
+2956			if not os.path.exists(dir):
+2957				os.makedirs(dir)
+2958			if filename == None:
+2959				filename = f'D{self._4x}_distribution_of_analyses.pdf'
+2960			ppl.savefig(f'{dir}/{filename}', dpi = dpi)
+2961			ppl.close(fig)
+2962		elif output == 'ax':
+2963			return ppl.gca()
+2964		elif output == 'fig':
+2965			return fig
 
@@ -11350,153 +11427,153 @@

4. API Documentation

-
2942	def plot_bulk_compositions(
-2943		self,
-2944		samples = None,
-2945		dir = 'output/bulk_compositions',
-2946		figsize = (6,6),
-2947		subplots_adjust = (0.15, 0.12, 0.95, 0.92),
-2948		show = False,
-2949		sample_color = (0,.5,1),
-2950		analysis_color = (.7,.7,.7),
-2951		labeldist = 0.3,
-2952		radius = 0.05,
-2953		):
-2954		'''
-2955		Plot δ13C_VBDP vs δ18O_VSMOW (of CO2) for all analyses.
-2956		
-2957		By default, creates a directory `./output/bulk_compositions` where plots for
-2958		each sample are saved. Another plot named `__all__.pdf` shows all analyses together.
-2959		
-2960		
-2961		**Parameters**
-2962
-2963		+ `samples`: Only these samples are processed (by default: all samples).
-2964		+ `dir`: where to save the plots
-2965		+ `figsize`: (width, height) of figure
-2966		+ `subplots_adjust`: passed to `subplots_adjust()`
-2967		+ `show`: whether to call `matplotlib.pyplot.show()` on the plot with all samples,
-2968		allowing for interactive visualization/exploration in (δ13C, δ18O) space.
-2969		+ `sample_color`: color used for replicate markers/labels
-2970		+ `analysis_color`: color used for sample markers/labels
-2971		+ `labeldist`: distance (in inches) from replicate markers to replicate labels
-2972		+ `radius`: radius of the dashed circle providing scale. No circle if `radius = 0`.
-2973		'''
-2974
-2975		from matplotlib.patches import Ellipse
-2976
-2977		if samples is None:
-2978			samples = [_ for _ in self.samples]
-2979
-2980		saved = {}
-2981
-2982		for s in samples:
-2983
-2984			fig = ppl.figure(figsize = figsize)
-2985			fig.subplots_adjust(*subplots_adjust)
-2986			ax = ppl.subplot(111)
-2987			ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)')
-2988			ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)')
-2989			ppl.title(s)
-2990
-2991
-2992			XY = np.array([[_['d18O_VSMOW'], _['d13C_VPDB']] for _ in self.samples[s]['data']])
-2993			UID = [_['UID'] for _ in self.samples[s]['data']]
-2994			XY0 = XY.mean(0)
-2995
-2996			for xy in XY:
-2997				ppl.plot([xy[0], XY0[0]], [xy[1], XY0[1]], '-', lw = 1, color = analysis_color)
-2998				
-2999			ppl.plot(*XY.T, 'wo', mew = 1, mec = analysis_color)
-3000			ppl.plot(*XY0, 'wo', mew = 2, mec = sample_color)
-3001			ppl.text(*XY0, f'  {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold')
-3002			saved[s] = [XY, XY0]
-3003			
-3004			x1, x2, y1, y2 = ppl.axis()
-3005			x0, dx = (x1+x2)/2, (x2-x1)/2
-3006			y0, dy = (y1+y2)/2, (y2-y1)/2
-3007			dx, dy = [max(max(dx, dy), radius)]*2
-3008
-3009			ppl.axis([
-3010				x0 - 1.2*dx,
-3011				x0 + 1.2*dx,
-3012				y0 - 1.2*dy,
-3013				y0 + 1.2*dy,
-3014				])			
-3015
-3016			XY0_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(XY0))
+            
2968	def plot_bulk_compositions(
+2969		self,
+2970		samples = None,
+2971		dir = 'output/bulk_compositions',
+2972		figsize = (6,6),
+2973		subplots_adjust = (0.15, 0.12, 0.95, 0.92),
+2974		show = False,
+2975		sample_color = (0,.5,1),
+2976		analysis_color = (.7,.7,.7),
+2977		labeldist = 0.3,
+2978		radius = 0.05,
+2979		):
+2980		'''
+2981		Plot δ13C_VBDP vs δ18O_VSMOW (of CO2) for all analyses.
+2982		
+2983		By default, creates a directory `./output/bulk_compositions` where plots for
+2984		each sample are saved. Another plot named `__all__.pdf` shows all analyses together.
+2985		
+2986		
+2987		**Parameters**
+2988
+2989		+ `samples`: Only these samples are processed (by default: all samples).
+2990		+ `dir`: where to save the plots
+2991		+ `figsize`: (width, height) of figure
+2992		+ `subplots_adjust`: passed to `subplots_adjust()`
+2993		+ `show`: whether to call `matplotlib.pyplot.show()` on the plot with all samples,
+2994		allowing for interactive visualization/exploration in (δ13C, δ18O) space.
+2995		+ `sample_color`: color used for replicate markers/labels
+2996		+ `analysis_color`: color used for sample markers/labels
+2997		+ `labeldist`: distance (in inches) from replicate markers to replicate labels
+2998		+ `radius`: radius of the dashed circle providing scale. No circle if `radius = 0`.
+2999		'''
+3000
+3001		from matplotlib.patches import Ellipse
+3002
+3003		if samples is None:
+3004			samples = [_ for _ in self.samples]
+3005
+3006		saved = {}
+3007
+3008		for s in samples:
+3009
+3010			fig = ppl.figure(figsize = figsize)
+3011			fig.subplots_adjust(*subplots_adjust)
+3012			ax = ppl.subplot(111)
+3013			ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)')
+3014			ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)')
+3015			ppl.title(s)
+3016
 3017
-3018			for xy, uid in zip(XY, UID):
-3019
-3020				xy_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(xy))
-3021				vector_in_display_space = xy_in_display_space - XY0_in_display_space
-3022
-3023				if (vector_in_display_space**2).sum() > 0:
-3024
-3025					unit_vector_in_display_space = vector_in_display_space / ((vector_in_display_space**2).sum())**0.5
-3026					label_vector_in_display_space = vector_in_display_space + unit_vector_in_display_space * labeldist
-3027					label_xy_in_display_space = XY0_in_display_space + label_vector_in_display_space
-3028					label_xy_in_data_space = ax.transData.inverted().transform(fig.dpi_scale_trans.transform(label_xy_in_display_space))
-3029
-3030					ppl.text(*label_xy_in_data_space, uid, va = 'center', ha = 'center', color = analysis_color)
-3031
-3032				else:
-3033
-3034					ppl.text(*xy, f'{uid}  ', va = 'center', ha = 'right', color = analysis_color)
-3035
-3036			if radius:
-3037				ax.add_artist(Ellipse(
-3038					xy = XY0,
-3039					width = radius*2,
-3040					height = radius*2,
-3041					ls = (0, (2,2)),
-3042					lw = .7,
-3043					ec = analysis_color,
-3044					fc = 'None',
-3045					))
-3046				ppl.text(
-3047					XY0[0],
-3048					XY0[1]-radius,
-3049					f'\n± {radius*1e3:.0f} ppm',
-3050					color = analysis_color,
-3051					va = 'top',
-3052					ha = 'center',
-3053					linespacing = 0.4,
-3054					size = 8,
-3055					)
-3056
-3057			if not os.path.exists(dir):
-3058				os.makedirs(dir)
-3059			fig.savefig(f'{dir}/{s}.pdf')
-3060			ppl.close(fig)
+3018			XY = np.array([[_['d18O_VSMOW'], _['d13C_VPDB']] for _ in self.samples[s]['data']])
+3019			UID = [_['UID'] for _ in self.samples[s]['data']]
+3020			XY0 = XY.mean(0)
+3021
+3022			for xy in XY:
+3023				ppl.plot([xy[0], XY0[0]], [xy[1], XY0[1]], '-', lw = 1, color = analysis_color)
+3024				
+3025			ppl.plot(*XY.T, 'wo', mew = 1, mec = analysis_color)
+3026			ppl.plot(*XY0, 'wo', mew = 2, mec = sample_color)
+3027			ppl.text(*XY0, f'  {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold')
+3028			saved[s] = [XY, XY0]
+3029			
+3030			x1, x2, y1, y2 = ppl.axis()
+3031			x0, dx = (x1+x2)/2, (x2-x1)/2
+3032			y0, dy = (y1+y2)/2, (y2-y1)/2
+3033			dx, dy = [max(max(dx, dy), radius)]*2
+3034
+3035			ppl.axis([
+3036				x0 - 1.2*dx,
+3037				x0 + 1.2*dx,
+3038				y0 - 1.2*dy,
+3039				y0 + 1.2*dy,
+3040				])			
+3041
+3042			XY0_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(XY0))
+3043
+3044			for xy, uid in zip(XY, UID):
+3045
+3046				xy_in_display_space = fig.dpi_scale_trans.inverted().transform(ax.transData.transform(xy))
+3047				vector_in_display_space = xy_in_display_space - XY0_in_display_space
+3048
+3049				if (vector_in_display_space**2).sum() > 0:
+3050
+3051					unit_vector_in_display_space = vector_in_display_space / ((vector_in_display_space**2).sum())**0.5
+3052					label_vector_in_display_space = vector_in_display_space + unit_vector_in_display_space * labeldist
+3053					label_xy_in_display_space = XY0_in_display_space + label_vector_in_display_space
+3054					label_xy_in_data_space = ax.transData.inverted().transform(fig.dpi_scale_trans.transform(label_xy_in_display_space))
+3055
+3056					ppl.text(*label_xy_in_data_space, uid, va = 'center', ha = 'center', color = analysis_color)
+3057
+3058				else:
+3059
+3060					ppl.text(*xy, f'{uid}  ', va = 'center', ha = 'right', color = analysis_color)
 3061
-3062		fig = ppl.figure(figsize = figsize)
-3063		fig.subplots_adjust(*subplots_adjust)
-3064		ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)')
-3065		ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)')
-3066
-3067		for s in saved:
-3068			for xy in saved[s][0]:
-3069				ppl.plot([xy[0], saved[s][1][0]], [xy[1], saved[s][1][1]], '-', lw = 1, color = analysis_color)
-3070			ppl.plot(*saved[s][0].T, 'wo', mew = 1, mec = analysis_color)
-3071			ppl.plot(*saved[s][1], 'wo', mew = 1.5, mec = sample_color)
-3072			ppl.text(*saved[s][1], f'  {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold')
-3073
-3074		x1, x2, y1, y2 = ppl.axis()
-3075		ppl.axis([
-3076			x1 - (x2-x1)/10,
-3077			x2 + (x2-x1)/10,
-3078			y1 - (y2-y1)/10,
-3079			y2 + (y2-y1)/10,
-3080			])			
-3081
+3062			if radius:
+3063				ax.add_artist(Ellipse(
+3064					xy = XY0,
+3065					width = radius*2,
+3066					height = radius*2,
+3067					ls = (0, (2,2)),
+3068					lw = .7,
+3069					ec = analysis_color,
+3070					fc = 'None',
+3071					))
+3072				ppl.text(
+3073					XY0[0],
+3074					XY0[1]-radius,
+3075					f'\n± {radius*1e3:.0f} ppm',
+3076					color = analysis_color,
+3077					va = 'top',
+3078					ha = 'center',
+3079					linespacing = 0.4,
+3080					size = 8,
+3081					)
 3082
-3083		if not os.path.exists(dir):
-3084			os.makedirs(dir)
-3085		fig.savefig(f'{dir}/__all__.pdf')
-3086		if show:
-3087			ppl.show()
-3088		ppl.close(fig)
+3083			if not os.path.exists(dir):
+3084				os.makedirs(dir)
+3085			fig.savefig(f'{dir}/{s}.pdf')
+3086			ppl.close(fig)
+3087
+3088		fig = ppl.figure(figsize = figsize)
+3089		fig.subplots_adjust(*subplots_adjust)
+3090		ppl.xlabel('$δ^{18}O_{VSMOW}$ of $CO_2$ (‰)')
+3091		ppl.ylabel('$δ^{13}C_{VPDB}$ (‰)')
+3092
+3093		for s in saved:
+3094			for xy in saved[s][0]:
+3095				ppl.plot([xy[0], saved[s][1][0]], [xy[1], saved[s][1][1]], '-', lw = 1, color = analysis_color)
+3096			ppl.plot(*saved[s][0].T, 'wo', mew = 1, mec = analysis_color)
+3097			ppl.plot(*saved[s][1], 'wo', mew = 1.5, mec = sample_color)
+3098			ppl.text(*saved[s][1], f'  {s}', va = 'center', ha = 'left', color = sample_color, weight = 'bold')
+3099
+3100		x1, x2, y1, y2 = ppl.axis()
+3101		ppl.axis([
+3102			x1 - (x2-x1)/10,
+3103			x2 + (x2-x1)/10,
+3104			y1 - (y2-y1)/10,
+3105			y2 + (y2-y1)/10,
+3106			])			
+3107
+3108
+3109		if not os.path.exists(dir):
+3110			os.makedirs(dir)
+3111		fig.savefig(f'{dir}/__all__.pdf')
+3112		if show:
+3113			ppl.show()
+3114		ppl.close(fig)
 
@@ -11554,99 +11631,99 @@
Inherited Members
-
3130class D47data(D4xdata):
-3131	'''
-3132	Store and process data for a large set of Δ47 analyses,
-3133	usually comprising more than one analytical session.
-3134	'''
-3135
-3136	Nominal_D4x = {
-3137		'ETH-1':   0.2052,
-3138		'ETH-2':   0.2085,
-3139		'ETH-3':   0.6132,
-3140		'ETH-4':   0.4511,
-3141		'IAEA-C1': 0.3018,
-3142		'IAEA-C2': 0.6409,
-3143		'MERCK':   0.5135,
-3144		} # I-CDES (Bernasconi et al., 2021)
-3145	'''
-3146	Nominal Δ47 values assigned to the Δ47 anchor samples, used by
-3147	`D47data.standardize()` to normalize unknown samples to an absolute Δ47
-3148	reference frame.
-3149
-3150	By default equal to (after [Bernasconi et al. (2021)](https://doi.org/10.1029/2020GC009588)):
-3151	```py
-3152	{
-3153		'ETH-1'   : 0.2052,
-3154		'ETH-2'   : 0.2085,
-3155		'ETH-3'   : 0.6132,
-3156		'ETH-4'   : 0.4511,
-3157		'IAEA-C1' : 0.3018,
-3158		'IAEA-C2' : 0.6409,
-3159		'MERCK'   : 0.5135,
-3160	}
-3161	```
-3162	'''
-3163
-3164
-3165	@property
-3166	def Nominal_D47(self):
-3167		return self.Nominal_D4x
-3168	
-3169
-3170	@Nominal_D47.setter
-3171	def Nominal_D47(self, new):
-3172		self.Nominal_D4x = dict(**new)
-3173		self.refresh()
-3174
+            
3156class D47data(D4xdata):
+3157	'''
+3158	Store and process data for a large set of Δ47 analyses,
+3159	usually comprising more than one analytical session.
+3160	'''
+3161
+3162	Nominal_D4x = {
+3163		'ETH-1':   0.2052,
+3164		'ETH-2':   0.2085,
+3165		'ETH-3':   0.6132,
+3166		'ETH-4':   0.4511,
+3167		'IAEA-C1': 0.3018,
+3168		'IAEA-C2': 0.6409,
+3169		'MERCK':   0.5135,
+3170		} # I-CDES (Bernasconi et al., 2021)
+3171	'''
+3172	Nominal Δ47 values assigned to the Δ47 anchor samples, used by
+3173	`D47data.standardize()` to normalize unknown samples to an absolute Δ47
+3174	reference frame.
 3175
-3176	def __init__(self, l = [], **kwargs):
-3177		'''
-3178		**Parameters:** same as `D4xdata.__init__()`
-3179		'''
-3180		D4xdata.__init__(self, l = l, mass = '47', **kwargs)
-3181
-3182
-3183	def D47fromTeq(self, fCo2eqD47 = 'petersen', priority = 'new'):
-3184		'''
-3185		Find all samples for which `Teq` is specified, compute equilibrium Δ47
-3186		value for that temperature, and add treat these samples as additional anchors.
-3187
-3188		**Parameters**
+3176	By default equal to (after [Bernasconi et al. (2021)](https://doi.org/10.1029/2020GC009588)):
+3177	```py
+3178	{
+3179		'ETH-1'   : 0.2052,
+3180		'ETH-2'   : 0.2085,
+3181		'ETH-3'   : 0.6132,
+3182		'ETH-4'   : 0.4511,
+3183		'IAEA-C1' : 0.3018,
+3184		'IAEA-C2' : 0.6409,
+3185		'MERCK'   : 0.5135,
+3186	}
+3187	```
+3188	'''
 3189
-3190		+ `fCo2eqD47`: Which CO2 equilibrium law to use
-3191		(`petersen`: [Petersen et al. (2019)](https://doi.org/10.1029/2018GC008127);
-3192		`wang`: [Wang et al. (2019)](https://doi.org/10.1016/j.gca.2004.05.039)).
-3193		+ `priority`: if `replace`: forget old anchors and only use the new ones;
-3194		if `new`: keep pre-existing anchors but update them in case of conflict
-3195		between old and new Δ47 values;
-3196		if `old`: keep pre-existing anchors but preserve their original Δ47
-3197		values in case of conflict.
-3198		'''
-3199		f = {
-3200			'petersen': fCO2eqD47_Petersen,
-3201			'wang': fCO2eqD47_Wang,
-3202			}[fCo2eqD47]
-3203		foo = {}
-3204		for r in self:
-3205			if 'Teq' in r:
-3206				if r['Sample'] in foo:
-3207					assert foo[r['Sample']] == f(r['Teq']), f'Different values of `Teq` provided for sample `{r["Sample"]}`.'
-3208				else:
-3209					foo[r['Sample']] = f(r['Teq'])
-3210			else:
-3211					assert r['Sample'] not in foo, f'`Teq` is inconsistently specified for sample `{r["Sample"]}`.'
-3212
-3213		if priority == 'replace':
-3214			self.Nominal_D47 = {}
-3215		for s in foo:
-3216			if priority != 'old' or s not in self.Nominal_D47:
-3217				self.Nominal_D47[s] = foo[s]
-3218	
-3219	def save_D47_correl(self, *args, **kwargs):
-3220		return self._save_D4x_correl(*args, **kwargs)
-3221
-3222	save_D47_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D47')
+3190
+3191	@property
+3192	def Nominal_D47(self):
+3193		return self.Nominal_D4x
+3194	
+3195
+3196	@Nominal_D47.setter
+3197	def Nominal_D47(self, new):
+3198		self.Nominal_D4x = dict(**new)
+3199		self.refresh()
+3200
+3201
+3202	def __init__(self, l = [], **kwargs):
+3203		'''
+3204		**Parameters:** same as `D4xdata.__init__()`
+3205		'''
+3206		D4xdata.__init__(self, l = l, mass = '47', **kwargs)
+3207
+3208
+3209	def D47fromTeq(self, fCo2eqD47 = 'petersen', priority = 'new'):
+3210		'''
+3211		Find all samples for which `Teq` is specified, compute equilibrium Δ47
+3212		value for that temperature, and add treat these samples as additional anchors.
+3213
+3214		**Parameters**
+3215
+3216		+ `fCo2eqD47`: Which CO2 equilibrium law to use
+3217		(`petersen`: [Petersen et al. (2019)](https://doi.org/10.1029/2018GC008127);
+3218		`wang`: [Wang et al. (2019)](https://doi.org/10.1016/j.gca.2004.05.039)).
+3219		+ `priority`: if `replace`: forget old anchors and only use the new ones;
+3220		if `new`: keep pre-existing anchors but update them in case of conflict
+3221		between old and new Δ47 values;
+3222		if `old`: keep pre-existing anchors but preserve their original Δ47
+3223		values in case of conflict.
+3224		'''
+3225		f = {
+3226			'petersen': fCO2eqD47_Petersen,
+3227			'wang': fCO2eqD47_Wang,
+3228			}[fCo2eqD47]
+3229		foo = {}
+3230		for r in self:
+3231			if 'Teq' in r:
+3232				if r['Sample'] in foo:
+3233					assert foo[r['Sample']] == f(r['Teq']), f'Different values of `Teq` provided for sample `{r["Sample"]}`.'
+3234				else:
+3235					foo[r['Sample']] = f(r['Teq'])
+3236			else:
+3237					assert r['Sample'] not in foo, f'`Teq` is inconsistently specified for sample `{r["Sample"]}`.'
+3238
+3239		if priority == 'replace':
+3240			self.Nominal_D47 = {}
+3241		for s in foo:
+3242			if priority != 'old' or s not in self.Nominal_D47:
+3243				self.Nominal_D47[s] = foo[s]
+3244	
+3245	def save_D47_correl(self, *args, **kwargs):
+3246		return self._save_D4x_correl(*args, **kwargs)
+3247
+3248	save_D47_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D47')
 
@@ -11665,11 +11742,11 @@
Inherited Members
-
3176	def __init__(self, l = [], **kwargs):
-3177		'''
-3178		**Parameters:** same as `D4xdata.__init__()`
-3179		'''
-3180		D4xdata.__init__(self, l = l, mass = '47', **kwargs)
+            
3202	def __init__(self, l = [], **kwargs):
+3203		'''
+3204		**Parameters:** same as `D4xdata.__init__()`
+3205		'''
+3206		D4xdata.__init__(self, l = l, mass = '47', **kwargs)
 
@@ -11721,41 +11798,41 @@
Inherited Members
-
3183	def D47fromTeq(self, fCo2eqD47 = 'petersen', priority = 'new'):
-3184		'''
-3185		Find all samples for which `Teq` is specified, compute equilibrium Δ47
-3186		value for that temperature, and add treat these samples as additional anchors.
-3187
-3188		**Parameters**
-3189
-3190		+ `fCo2eqD47`: Which CO2 equilibrium law to use
-3191		(`petersen`: [Petersen et al. (2019)](https://doi.org/10.1029/2018GC008127);
-3192		`wang`: [Wang et al. (2019)](https://doi.org/10.1016/j.gca.2004.05.039)).
-3193		+ `priority`: if `replace`: forget old anchors and only use the new ones;
-3194		if `new`: keep pre-existing anchors but update them in case of conflict
-3195		between old and new Δ47 values;
-3196		if `old`: keep pre-existing anchors but preserve their original Δ47
-3197		values in case of conflict.
-3198		'''
-3199		f = {
-3200			'petersen': fCO2eqD47_Petersen,
-3201			'wang': fCO2eqD47_Wang,
-3202			}[fCo2eqD47]
-3203		foo = {}
-3204		for r in self:
-3205			if 'Teq' in r:
-3206				if r['Sample'] in foo:
-3207					assert foo[r['Sample']] == f(r['Teq']), f'Different values of `Teq` provided for sample `{r["Sample"]}`.'
-3208				else:
-3209					foo[r['Sample']] = f(r['Teq'])
-3210			else:
-3211					assert r['Sample'] not in foo, f'`Teq` is inconsistently specified for sample `{r["Sample"]}`.'
-3212
-3213		if priority == 'replace':
-3214			self.Nominal_D47 = {}
-3215		for s in foo:
-3216			if priority != 'old' or s not in self.Nominal_D47:
-3217				self.Nominal_D47[s] = foo[s]
+            
3209	def D47fromTeq(self, fCo2eqD47 = 'petersen', priority = 'new'):
+3210		'''
+3211		Find all samples for which `Teq` is specified, compute equilibrium Δ47
+3212		value for that temperature, and add treat these samples as additional anchors.
+3213
+3214		**Parameters**
+3215
+3216		+ `fCo2eqD47`: Which CO2 equilibrium law to use
+3217		(`petersen`: [Petersen et al. (2019)](https://doi.org/10.1029/2018GC008127);
+3218		`wang`: [Wang et al. (2019)](https://doi.org/10.1016/j.gca.2004.05.039)).
+3219		+ `priority`: if `replace`: forget old anchors and only use the new ones;
+3220		if `new`: keep pre-existing anchors but update them in case of conflict
+3221		between old and new Δ47 values;
+3222		if `old`: keep pre-existing anchors but preserve their original Δ47
+3223		values in case of conflict.
+3224		'''
+3225		f = {
+3226			'petersen': fCO2eqD47_Petersen,
+3227			'wang': fCO2eqD47_Wang,
+3228			}[fCo2eqD47]
+3229		foo = {}
+3230		for r in self:
+3231			if 'Teq' in r:
+3232				if r['Sample'] in foo:
+3233					assert foo[r['Sample']] == f(r['Teq']), f'Different values of `Teq` provided for sample `{r["Sample"]}`.'
+3234				else:
+3235					foo[r['Sample']] = f(r['Teq'])
+3236			else:
+3237					assert r['Sample'] not in foo, f'`Teq` is inconsistently specified for sample `{r["Sample"]}`.'
+3238
+3239		if priority == 'replace':
+3240			self.Nominal_D47 = {}
+3241		for s in foo:
+3242			if priority != 'old' or s not in self.Nominal_D47:
+3243				self.Nominal_D47[s] = foo[s]
 
@@ -11789,8 +11866,8 @@
Inherited Members
-
3219	def save_D47_correl(self, *args, **kwargs):
-3220		return self._save_D4x_correl(*args, **kwargs)
+            
3245	def save_D47_correl(self, *args, **kwargs):
+3246		return self._save_D4x_correl(*args, **kwargs)
 
@@ -11899,60 +11976,60 @@
Inherited Members
-
3225class D48data(D4xdata):
-3226	'''
-3227	Store and process data for a large set of Δ48 analyses,
-3228	usually comprising more than one analytical session.
-3229	'''
-3230
-3231	Nominal_D4x = {
-3232		'ETH-1':  0.138,
-3233		'ETH-2':  0.138,
-3234		'ETH-3':  0.270,
-3235		'ETH-4':  0.223,
-3236		'GU-1':  -0.419,
-3237		} # (Fiebig et al., 2019, 2021)
-3238	'''
-3239	Nominal Δ48 values assigned to the Δ48 anchor samples, used by
-3240	`D48data.standardize()` to normalize unknown samples to an absolute Δ48
-3241	reference frame.
-3242
-3243	By default equal to (after [Fiebig et al. (2019)](https://doi.org/10.1016/j.chemgeo.2019.05.019),
-3244	[Fiebig et al. (2021)](https://doi.org/10.1016/j.gca.2021.07.012)):
-3245
-3246	```py
-3247	{
-3248		'ETH-1' :  0.138,
-3249		'ETH-2' :  0.138,
-3250		'ETH-3' :  0.270,
-3251		'ETH-4' :  0.223,
-3252		'GU-1'  : -0.419,
-3253	}
-3254	```
+            
3251class D48data(D4xdata):
+3252	'''
+3253	Store and process data for a large set of Δ48 analyses,
+3254	usually comprising more than one analytical session.
 3255	'''
 3256
-3257
-3258	@property
-3259	def Nominal_D48(self):
-3260		return self.Nominal_D4x
-3261
-3262	
-3263	@Nominal_D48.setter
-3264	def Nominal_D48(self, new):
-3265		self.Nominal_D4x = dict(**new)
-3266		self.refresh()
-3267
+3257	Nominal_D4x = {
+3258		'ETH-1':  0.138,
+3259		'ETH-2':  0.138,
+3260		'ETH-3':  0.270,
+3261		'ETH-4':  0.223,
+3262		'GU-1':  -0.419,
+3263		} # (Fiebig et al., 2019, 2021)
+3264	'''
+3265	Nominal Δ48 values assigned to the Δ48 anchor samples, used by
+3266	`D48data.standardize()` to normalize unknown samples to an absolute Δ48
+3267	reference frame.
 3268
-3269	def __init__(self, l = [], **kwargs):
-3270		'''
-3271		**Parameters:** same as `D4xdata.__init__()`
-3272		'''
-3273		D4xdata.__init__(self, l = l, mass = '48', **kwargs)
-3274
-3275	def save_D48_correl(self, *args, **kwargs):
-3276		return self._save_D4x_correl(*args, **kwargs)
-3277
-3278	save_D48_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D48')
+3269	By default equal to (after [Fiebig et al. (2019)](https://doi.org/10.1016/j.chemgeo.2019.05.019),
+3270	[Fiebig et al. (2021)](https://doi.org/10.1016/j.gca.2021.07.012)):
+3271
+3272	```py
+3273	{
+3274		'ETH-1' :  0.138,
+3275		'ETH-2' :  0.138,
+3276		'ETH-3' :  0.270,
+3277		'ETH-4' :  0.223,
+3278		'GU-1'  : -0.419,
+3279	}
+3280	```
+3281	'''
+3282
+3283
+3284	@property
+3285	def Nominal_D48(self):
+3286		return self.Nominal_D4x
+3287
+3288	
+3289	@Nominal_D48.setter
+3290	def Nominal_D48(self, new):
+3291		self.Nominal_D4x = dict(**new)
+3292		self.refresh()
+3293
+3294
+3295	def __init__(self, l = [], **kwargs):
+3296		'''
+3297		**Parameters:** same as `D4xdata.__init__()`
+3298		'''
+3299		D4xdata.__init__(self, l = l, mass = '48', **kwargs)
+3300
+3301	def save_D48_correl(self, *args, **kwargs):
+3302		return self._save_D4x_correl(*args, **kwargs)
+3303
+3304	save_D48_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D48')
 
@@ -11971,11 +12048,11 @@
Inherited Members
-
3269	def __init__(self, l = [], **kwargs):
-3270		'''
-3271		**Parameters:** same as `D4xdata.__init__()`
-3272		'''
-3273		D4xdata.__init__(self, l = l, mass = '48', **kwargs)
+            
3295	def __init__(self, l = [], **kwargs):
+3296		'''
+3297		**Parameters:** same as `D4xdata.__init__()`
+3298		'''
+3299		D4xdata.__init__(self, l = l, mass = '48', **kwargs)
 
@@ -12025,8 +12102,8 @@
Inherited Members
-
3275	def save_D48_correl(self, *args, **kwargs):
-3276		return self._save_D4x_correl(*args, **kwargs)
+            
3301	def save_D48_correl(self, *args, **kwargs):
+3302		return self._save_D4x_correl(*args, **kwargs)
 
@@ -12135,47 +12212,47 @@
Inherited Members
-
3281class D49data(D4xdata):
-3282	'''
-3283	Store and process data for a large set of Δ49 analyses,
-3284	usually comprising more than one analytical session.
-3285	'''
-3286	
-3287	Nominal_D4x = {"1000C": 0.0, "25C": 2.228}  # Wang 2004
-3288	'''
-3289	Nominal Δ49 values assigned to the Δ49 anchor samples, used by
-3290	`D49data.standardize()` to normalize unknown samples to an absolute Δ49
-3291	reference frame.
-3292
-3293	By default equal to (after [Wang et al. (2004)](https://doi.org/10.1016/j.gca.2004.05.039)):
-3294
-3295	```py
-3296	{
-3297		"1000C": 0.0,
-3298		"25C": 2.228
-3299	}
-3300	```
-3301	'''
-3302	
-3303	@property
-3304	def Nominal_D49(self):
-3305		return self.Nominal_D4x
-3306	
-3307	@Nominal_D49.setter
-3308	def Nominal_D49(self, new):
-3309		self.Nominal_D4x = dict(**new)
-3310		self.refresh()
-3311	
-3312	def __init__(self, l=[], **kwargs):
-3313		'''
-3314		**Parameters:** same as `D4xdata.__init__()`
-3315		'''
-3316		D4xdata.__init__(self, l=l, mass='49', **kwargs)
-3317	
-3318	def save_D49_correl(self, *args, **kwargs):
-3319		return self._save_D4x_correl(*args, **kwargs)
-3320	
-3321	save_D49_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D49')
+            
3307class D49data(D4xdata):
+3308	'''
+3309	Store and process data for a large set of Δ49 analyses,
+3310	usually comprising more than one analytical session.
+3311	'''
+3312	
+3313	Nominal_D4x = {"1000C": 0.0, "25C": 2.228}  # Wang 2004
+3314	'''
+3315	Nominal Δ49 values assigned to the Δ49 anchor samples, used by
+3316	`D49data.standardize()` to normalize unknown samples to an absolute Δ49
+3317	reference frame.
+3318
+3319	By default equal to (after [Wang et al. (2004)](https://doi.org/10.1016/j.gca.2004.05.039)):
+3320
+3321	```py
+3322	{
+3323		"1000C": 0.0,
+3324		"25C": 2.228
+3325	}
+3326	```
+3327	'''
+3328	
+3329	@property
+3330	def Nominal_D49(self):
+3331		return self.Nominal_D4x
+3332	
+3333	@Nominal_D49.setter
+3334	def Nominal_D49(self, new):
+3335		self.Nominal_D4x = dict(**new)
+3336		self.refresh()
+3337	
+3338	def __init__(self, l=[], **kwargs):
+3339		'''
+3340		**Parameters:** same as `D4xdata.__init__()`
+3341		'''
+3342		D4xdata.__init__(self, l=l, mass='49', **kwargs)
+3343	
+3344	def save_D49_correl(self, *args, **kwargs):
+3345		return self._save_D4x_correl(*args, **kwargs)
+3346	
+3347	save_D49_correl.__doc__ = D4xdata._save_D4x_correl.__doc__.replace('D4x', 'D49')
 
@@ -12194,11 +12271,11 @@
Inherited Members
-
3312	def __init__(self, l=[], **kwargs):
-3313		'''
-3314		**Parameters:** same as `D4xdata.__init__()`
-3315		'''
-3316		D4xdata.__init__(self, l=l, mass='49', **kwargs)
+            
3338	def __init__(self, l=[], **kwargs):
+3339		'''
+3340		**Parameters:** same as `D4xdata.__init__()`
+3341		'''
+3342		D4xdata.__init__(self, l=l, mass='49', **kwargs)
 
@@ -12244,8 +12321,8 @@
Inherited Members
-
3318	def save_D49_correl(self, *args, **kwargs):
-3319		return self._save_D4x_correl(*args, **kwargs)
+            
3344	def save_D49_correl(self, *args, **kwargs):
+3345		return self._save_D4x_correl(*args, **kwargs)
 
diff --git a/docs/residuals.png b/docs/residuals.png index 547775e39f60ca16d38ffb1738045fc01fbd7b60..a0d6c74a4913fad99744f758c86672d96e33b3d3 100644 GIT binary patch literal 45448 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 literal 44843 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 QA8gn3!0! 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 W3w@71EP$aiX{qboD7tq4(fE`6>>Ev+l4=)=J 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 ygx~GH-`MQ^H*mGA!=-(|3&G{z}zcR