pyIntersecT 0.1.3__tar.gz → 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. {pyintersect-0.1.3 → pyintersect-0.1.4}/IntersecT.ipynb +5 -1
  2. {pyintersect-0.1.3 → pyintersect-0.1.4}/PKG-INFO +4 -2
  3. {pyintersect-0.1.3 → pyintersect-0.1.4}/README.md +1 -1
  4. {pyintersect-0.1.3 → pyintersect-0.1.4}/docs/TECHNICAL.md +1 -1
  5. {pyintersect-0.1.3 → pyintersect-0.1.4}/docs/USER_GUIDE.md +2 -0
  6. pyintersect-0.1.4/example/CUSO-workshop-Lausanne-2026/BAR38A_coe_observed.txt +11 -0
  7. pyintersect-0.1.4/example/CUSO-workshop-Lausanne-2026/BAR38A_mpe.csv +9748 -0
  8. pyintersect-0.1.4/example/CUSO-workshop-Lausanne-2026/BAR38A_observed.txt +11 -0
  9. pyintersect-0.1.4/example/CUSO-workshop-Lausanne-2026/Petroccia_et_al_2025_bulk_Magemin.csv +2 -0
  10. {pyintersect-0.1.3 → pyintersect-0.1.4}/pyproject.toml +3 -1
  11. {pyintersect-0.1.3 → pyintersect-0.1.4}/src/pyIntersecT/mineral_aliases.py +5 -0
  12. {pyintersect-0.1.3 → pyintersect-0.1.4}/src/pyIntersecT/parsers.py +8 -0
  13. {pyintersect-0.1.3 → pyintersect-0.1.4}/.gitignore +0 -0
  14. {pyintersect-0.1.3 → pyintersect-0.1.4}/LICENSE +0 -0
  15. {pyintersect-0.1.3 → pyintersect-0.1.4}/docs/images/example_output_overview.png +0 -0
  16. {pyintersect-0.1.3 → pyintersect-0.1.4}/docs/images/input_file_structure.png +0 -0
  17. {pyintersect-0.1.3 → pyintersect-0.1.4}/docs/images/magemin_output.png +0 -0
  18. {pyintersect-0.1.3 → pyintersect-0.1.4}/docs/images/magemin_workflow.png +0 -0
  19. {pyintersect-0.1.3 → pyintersect-0.1.4}/docs/images/output_example_composite.png +0 -0
  20. {pyintersect-0.1.3 → pyintersect-0.1.4}/docs/images/perplex_configuration.png +0 -0
  21. {pyintersect-0.1.3 → pyintersect-0.1.4}/docs/images/perplex_werami_output.png +0 -0
  22. {pyintersect-0.1.3 → pyintersect-0.1.4}/docs/images/workflow_diagram.png +0 -0
  23. {pyintersect-0.1.3 → pyintersect-0.1.4}/example/MAGEMin_average_mp.csv +0 -0
  24. {pyintersect-0.1.3 → pyintersect-0.1.4}/example/MAGEMin_average_mp_observed.txt +0 -0
  25. {pyintersect-0.1.3 → pyintersect-0.1.4}/example/PerpleX_average_mp_1.phm +0 -0
  26. {pyintersect-0.1.3 → pyintersect-0.1.4}/example/PerpleX_average_mp_observed.txt +0 -0
  27. {pyintersect-0.1.3 → pyintersect-0.1.4}/example/PerpleX_metabasite_Maffeisetal2025_1.phm +0 -0
  28. {pyintersect-0.1.3 → pyintersect-0.1.4}/example/PerpleX_metabasite_Maffeisetal2025_observed.txt +0 -0
  29. {pyintersect-0.1.3 → pyintersect-0.1.4}/src/pyIntersecT/IntersecT.py +0 -0
  30. {pyintersect-0.1.3 → pyintersect-0.1.4}/src/pyIntersecT/Logo-IntersecT.png +0 -0
  31. {pyintersect-0.1.3 → pyintersect-0.1.4}/src/pyIntersecT/__init__.py +0 -0
  32. {pyintersect-0.1.3 → pyintersect-0.1.4}/src/pyIntersecT/mineral_symbols.toml +0 -0
@@ -21,7 +21,7 @@
21
21
  "\n",
22
22
  "##### **Requirements**\n",
23
23
  "The following Python packages are required. Installation of pyIntersecT through pip will automatically install all necessary dependencies.\n",
24
- "- Python 3.9 or higher\n",
24
+ "- Python 3.10 or higher\n",
25
25
  "- matplotlib\n",
26
26
  "- pandas\n",
27
27
  "- **pyIntersecT**\n",
@@ -151,6 +151,10 @@
151
151
  "\n",
152
152
  "**Row 1 - Element identifiers:** Specify each element using the format Phase_Element. For example, garnet compositions would be listed as Grt_Mg, Grt_Ca, Grt_Fe, Grt_Mn. If uncertain on the naming, search for the output model naming in the mineral_symbols.toml and use the corresponding abbreviation.\n",
153
153
  "\n",
154
+ "*Iron (Perple_X only):* ferrous and ferric iron can be distinguished only for Perple_X models calculated with Fe2O3 as a system component. Use Grt_Fe for Fe2+ (FeO), Grt_Fe3 for Fe3+ (Fe2O3) and Grt_Fetot for total iron (Fe2+ + Fe3+). Grt_Fetot should be used when the measured iron is not recalculated into Fe2+ and Fe3+.\n",
155
+ "\n",
156
+ "*Iron (MAGEMin, or Perple_X with O2):* Grt_Fe refers to total iron, and the measured value must be total iron. Do not use Grt_Fe3 or Grt_Fetot, as the missing model values would exclude the whole phase from the calculation.\n",
157
+ "\n",
154
158
  "**Row 2 - Observed values:** Measured compositional values expressed in atoms per formula unit (a.p.f.u.) corresponding to each element specified in row 1.\n",
155
159
  "\n",
156
160
  "**Row 3 - Analytical uncertainties:** Either numerical uncertainty values for each measurement or a dash (-) to trigger automatic uncertainty calculation based on the analytical technique specified in row 4.\n",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyIntersecT
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Quantitative isopleth thermobarometry from PerpleX
5
5
  Project-URL: Homepage, https://github.com/neoscalc/IntersecT
6
6
  Project-URL: Bug Tracker, https://github.com/neoscalc/IntersecT/issues
@@ -682,9 +682,11 @@ License: GNU GENERAL PUBLIC LICENSE
682
682
  License-File: LICENSE
683
683
  Classifier: Operating System :: OS Independent
684
684
  Classifier: Programming Language :: Python :: 3.10
685
+ Requires-Python: >=3.10
685
686
  Requires-Dist: matplotlib
686
687
  Requires-Dist: numpy
687
688
  Requires-Dist: pandas
689
+ Requires-Dist: tomli; python_version < '3.11'
688
690
  Description-Content-Type: text/markdown
689
691
 
690
692
  # IntersecT
@@ -849,7 +851,7 @@ Measured mineral compositions must be provided in a tab-delimited text file. Com
849
851
 
850
852
  The file follows a specific six-row structure.
851
853
 
852
- **Row 1** specifies element identifiers using Phase_Element format where phase names follow Warr (2021) abbreviations. Consult mineral_symbols.toml to recognise abbreviations and their mappings.
854
+ **Row 1** specifies element identifiers using Phase_Element format where phase names follow Warr (2021) abbreviations. Consult mineral_symbols.toml to recognise abbreviations and their mappings. Ferrous and ferric iron can be distinguished only for Perple_X models calculated with Fe2O3 as a system component. In this case, Phase_Fe refers to Fe2+ (FeO), Phase_Fe3 to Fe3+ (Fe2O3) and Phase_Fetot to total iron (Fe2+ + Fe3+). For MAGEMin models and for Perple_X models calculated with O2 as a system component, Phase_Fe refers to total iron. Phase_Fe3 and Phase_Fetot must not be used in these cases, as the missing model values would exclude the whole phase from the calculation.
853
855
 
854
856
  **Row 2** provides observed compositional values in atoms per formula unit corresponding to each element specified in row 1.
855
857
 
@@ -160,7 +160,7 @@ Measured mineral compositions must be provided in a tab-delimited text file. Com
160
160
 
161
161
  The file follows a specific six-row structure.
162
162
 
163
- **Row 1** specifies element identifiers using Phase_Element format where phase names follow Warr (2021) abbreviations. Consult mineral_symbols.toml to recognise abbreviations and their mappings.
163
+ **Row 1** specifies element identifiers using Phase_Element format where phase names follow Warr (2021) abbreviations. Consult mineral_symbols.toml to recognise abbreviations and their mappings. Ferrous and ferric iron can be distinguished only for Perple_X models calculated with Fe2O3 as a system component. In this case, Phase_Fe refers to Fe2+ (FeO), Phase_Fe3 to Fe3+ (Fe2O3) and Phase_Fetot to total iron (Fe2+ + Fe3+). For MAGEMin models and for Perple_X models calculated with O2 as a system component, Phase_Fe refers to total iron. Phase_Fe3 and Phase_Fetot must not be used in these cases, as the missing model values would exclude the whole phase from the calculation.
164
164
 
165
165
  **Row 2** provides observed compositional values in atoms per formula unit corresponding to each element specified in row 1.
166
166
 
@@ -30,7 +30,7 @@ Compositional data in thermodynamic model outputs appears in oxide notation with
30
30
 
31
31
  Alternative patterns include bracket notation like Mg[apfu] and parenthetical notation such as Si(apfu). These typically indicate direct elemental abundances rather than oxide compositions and receive a coefficient of one. For ambiguous cases, the system extracts the first one or two characters as the element symbol with default coefficient of one.
32
32
 
33
- Element names are normalized through a lookup table handling common variations. This ensures sodium appears as Na rather than na, aluminum as Al rather than al, and similarly for other elements. Normalization operates independently of coefficient extraction, maintaining separation between identification of element presence and determination of stoichiometric contribution.
33
+ Element names are normalized through a lookup table handling common variations. This ensures sodium appears as Na rather than na, aluminum as Al rather than al, and similarly for other elements. Normalization operates independently of coefficient extraction, maintaining separation between identification of element presence and determination of stoichiometric contribution. Ferric iron is treated separately in Perple_X outputs calculated with Fe2O3 as a system component. Columns in Fe2O3 notation are stored as Fe3. When both Fe and Fe3 are present, total iron is stored as Fetot and is used for endmember discrimination. MAGEMin outputs report total iron as Fe[apfu], and no separate Fe3 or Fetot values are created.
34
34
 
35
35
  ### Compositional Data Filtering
36
36
 
@@ -56,6 +56,8 @@ The first row contains element identifiers combining phase names with element sy
56
56
 
57
57
  Example identifiers for a garnet-muscovite-biotite-plagioclase assemblage would include Grt_Mg, Grt_Fe, Grt_Ca, Grt_Mn, Ms_Si, Ms_Al, Ms_K, Ms_Mg, Bt_Mg, Bt_Fe, Bt_Si, Bt_K, Pl_Ca, Pl_Na, Pl_Al, Pl_Si. The specific elements chosen should reflect compositional variables that constrain pressure-temperature-composition conditions. Elements involved in substitutions in the solution models should be considered, depending on the selected chemical system, database and solution models.
58
58
 
59
+ Iron requires particular attention, as the distinction between ferrous and ferric iron is available only for Perple_X models calculated with Fe2O3 as a system component. In this case, the model output contains separate FeO and Fe2O3 columns. Grt_Fe is compared with ferrous iron (FeO), Grt_Fe3 with ferric iron (Fe2O3) and Grt_Fetot with total iron (Fe2+ + Fe3+). Grt_Fetot should be used when the measured iron is not recalculated into Fe2+ and Fe3+ (e.g. EPMA analyses without charge-balance recalculation). Conversely, MAGEMin models ferric iron through the O component and reports total iron only. The same applies to Perple_X models calculated with O2 as a system component. In both cases, Grt_Fe is compared with total iron, and the measured value must therefore be total iron. Grt_Fe3 and Grt_Fetot must not be used, as the corresponding model values are missing and the whole phase would be excluded from the quality factor calculation.
60
+
59
61
  <p align="center">
60
62
  <img src="images/input_file_structure.png" alt="Annotated measured composition input file" width="650">
61
63
  <br>
@@ -0,0 +1,11 @@
1
+ # IntersecT tutorial
2
+ # BAR38A sample from Petroccia et al. (2025) [Geochemistry, Geophysics, Geosystems, 26, e2025GC012412. https://doi.org/10.1029/2025GC012412]
3
+ # UHP metapelite, modelling garnet rim stability at HP-UHP
4
+
5
+ Grt_Mg Grt_Ca Grt_Mn Grt_Fe Cld_Mg Cld_Fe Ms_Mg Ms_Fe Ms_Si Ms_Al Ms_Na Coe_Si
6
+ 0.35 0.16 0.05 2.32 0.21 0.8 0.38 0.08 3.57 1.96 0.04 1.001
7
+ 0.09 0.07 0.02 0.69 0.05 0.08 0.09 0.04 0.21 0.21 0.04 0.001
8
+ WDS map
9
+
10
+ Colour scheme:
11
+ viridis