DOI: 10.5061/dryad.612jm64b0
title: Ferric iron stabilization at deep magma ocean conditions

description: Fe2O3 produced in a deep magma ocean in equilibrium with
 core-destined alloy sets the early redox budget and atmospheric
 composition of terrestrial planets. Previous experiments (≤28 GPa) and
 first-principles calculations indicate that a deep terrestrial magma ocean
 produces appreciable Fe3+, but predict Fe3+/ΣFe that conflict by an order
 of magnitude. We present Fe3+/ΣFe of glasses quenched from melts
 equilibrated with Fe-alloy at 38-71 GPa, 3600-4400 K, analyzed by
 synchrotron Mössbauer spectroscopy. These indicate Fe3+/ΣFe of 0.056-0.112
 in a terrestrial magma ocean with mean alloy-silicate equilibration
 pressures of 28-53 GPa, producing sufficient Fe2O3 to account for
 the modern bulk silicate Earth redox budget and surficial
 conditions near or more oxidizing than the iron-wüstite buffer, which
 would stabilize a primitive CO- and H2O- rich atmosphere.
description: The samples have been synthesized with LH-DAC at 38-71 GPa and
 3600-4400 K. Quenched samples have been double polished, and the Fe3+/ΣFe
 ratios have been resolved from Energy domain SMS(E-SMS). 
 This data set including the raw E-SMS spectra and the calibration
 file. Besides that, the python codes to calculate the LH-DAC experimental
 log fO2 values, to obtain the thermodynamic model parameters, to obtain
 the initial Fig 2, Fig 3, and Fig 4 have been provided.
description: # Ferric iron stabilization at deep magma ocean conditions.
 [https://doi.org/10.5061/dryad.612jm64b0](https://doi.org/10.5061/dryad.612jm64b0) ## **Overview** This dataset contains raw experimental data and analysis scripts supporting the study on the stabilization of ferric iron (Fe³⁺) under deep magma ocean conditions. The research investigates iron redox behavior using laser-heated diamond anvil cell (LH-DAC) experiments combined with synchrotron Mössbauer spectroscopy (SMS) and thermodynamic modeling. ## Data & Code Description The repository contains three primary compressed files: ##### **1. MO_redox.zip** This archive contains Python scripts and associated data files for data analysis, thermodynamic modeling, and figure generation. Key components include: * `db/`Folder:​ Contains essential input data files: * `D20_molar.csv`: Thermodynamic data parameters from Deng et al. 2020.  * Terminology: * W_Fe: the interaction Margules parameter of components FeO and FeO1.5 * W_Mg: the difference between the interaction Margules parameter of components FeO~1.5~-MgO (W~FeO1.5-MgO~) and the interaction Margules parameter of components FeO-MgO (W~FeO-MgO~) * W_Si: the difference between the interaction Margules parameter of components FeO~1.5~-SiO~2~ (W~FeO1.5-SiO2~) and the interaction Margules parameter of components FeO-SiO~2~ (W~FeO-SiO2~) * W_Al:the difference between the interaction Margules parameter of components FeO~1.5~-AlO~1.5~ (W~FeO1.5-AlO1.5~) and the interaction Margules parameter of components FeO-AlO~1.5 (W~FeO-AlO1.5) * W_Ca:the difference between the interaction Margules parameter of components FeO~1.5~-CaO (W~FeO1.5-CaO~) and the interaction Margules parameter of components FeO-CaO (W~FeO-CaO~) * W_Na:the difference between the interaction Margules parameter of components FeO~1.5~-NaO~0.5~ (W~FeO1.5-NaO0.5~) and the interaction Margules parameter of components FeO-NaO~0.5~ (W~FeO-NaO0.5~) * W_K:the difference between the interaction Margules parameter of components FeO~1.5~-KO~0.5~ (W~FeO1.5-KO0.5~) and the interaction Margules parameter of components FeO-KO~0.5~ (W~FeO-KO0.5~) * W_Ph:the difference between the interaction Margules parameter of components FeO~1.5~-PO~2.5~ (W~FeO1.5-PO2.5~) and the interaction Margules parameter of components FeO-PO2.5 (W~FeO-PO2.5~) * W_Ti: the difference between the interaction Margules parameter of components FeO~1.5~-TiO~2~ (W~FeO1.5-TiO2~) and the interaction Margules parameter of components FeO-TiO~2~ (W~FeO-TiO2~) * `DeltaIW-high_adiabat.csv; DeltaIW-low_adiabat.csv`: Calculated oxygen fugacity (fO₂) values along magma ocean high temperature and low temperature adiabats, respectively. * Terminology: * T(K): the temperature along the adiabat in Kelvin; * P(GPa): the pressure along the adiabat in Gpa; * IW* : the calculated oxygen fugacity of reaction Fe~liq~+1/2O~2~=FeO~liq~ at this pressure and temperature * IW : the calculated oxygen fugacity of iron-wustite at this pressure and temperature; * IW*-IW: the difference between* *IW* and IW * delta IW: the relative oxygen fugacity of magma ocean to IW * `MoleWeights.csv`: Major element chemical compositions of planetary bodies in wt. %. * Terminology: * Oxide: the oxides name (e.g., SiO₂, FeO); * cation (g/mol): the mole weight of oxides in one cation basis (e.g., for Al~2~O~3~, it might refer to the molar weight per Al cation). * oxides (g/mol): the mole weight of the oxide compound itself (e.g., molecular weight ofAl~2~O~3~). * atom (g/mol): the mole weight of cation atom (e.g., atomic weight of Al). * `planets.csv`: Major element chemical compositions of planetary bodies in wt. %. * Terminology: * Group: the planets name. * SiO2: Silicon dioxide content (wt%). * Al2O3: Aluminum oxide content (wt%). * FeO: Iron(II) oxide content (wt%). * MgO: Magnesium oxide content (wt%). * CaO: Calcium oxide content (wt%). * K2O: Potassium oxide content (wt%). * Na2O: Sodium oxide content (wt%). * TiO2: Titanium dioxide content (wt%). * P2O5: Phosphorus pentoxide content (wt%). * Total: Total oxide sum (wt%, data quality check). * References: Source reference (citation). * `pre_exp.csv`: Compilation of relevant previous experimental data. * Terminology: * No.: Experiment or sample number. * REF: Source reference (citation). * T_K: Temperature in Kelvin. * P_GPa: Pressure in Gigapascals. * log fO2: Logarithm of oxygen fugacity. * FeRatio__uncorrected_Moss: Fe^3+^/ΣFe ratio resolved from mossbauer spectra directly. * FeRatio_c_corrected: Fe^3+^/ΣFe ratio resolved from mossbauer spectra and corrected with recoiless fractions of Fe^3+^ and Fe^2+^. * FeRatio_f_Ru_corrected: e^3+^/ΣFe ratio resolved from mossbauer spectra, corrected with recoiless fractions of Fe^3+^ and Fe^2+^, and corrected with Ru effect. * Feratio_f: the Fe³⁺/ΣFe ratio used in the model. * SiO2: Silicon dioxide content (wt%). * TiO2: Titanium dioxide content (wt%). * Al2O3: Aluminum oxide content (wt%). * Cr2O3: Chromium(III) oxide content (wt%). * FeO: Iron(II) oxide content (wt%). * MnO: Manganese(II) oxide content (wt%). * MgO: Magnesium oxide content (wt%). * NiO: Nickel(II) oxide content (wt%). * CaO: Calcium oxide content (wt%). * Na2O: Sodium oxide content (wt%). * K2O: Potassium oxide content (wt%). * P2O5: Phosphorus pentoxide content (wt%). * RuO2: Ruthenium(IV) oxide content (wt%). * PtO: Platinum(II) oxide content (wt%). * Total: Total oxide sum (wt%, data quality check). * `Z24.csv`: Experimental data from the LH-DAC experiments published in this work. * Terminology: * SampleName: Experimental number * Temp_average: LH-DAC experimental averaged temperature in Kelvin * Pressure: LH-DAC experimental pressure in GPa * Ratio: Fe^3+^/ΣFe ratio resolved from ESMS directly. * Ratio_SS:  1 sigma standard deviation of Fe^3+^/ΣFe ratio resolved from ESMS * Syncmoss_C: Fe^3+^/ΣFe ratio resolved from ESMS and corrected with recoilless fraction of Fe^3+^ and Fe^2+^ * logfO2: the calculated oxygen fugacity of experiments * logFe3_Fe2_H22chem: the calculated log(X~Fe3+~/X~Fe2+~) with the EOS model from Hirschmann (2022) without considering the pressure effect. the X~Fe3+~ and X~Fe2+~ are the molar percent of Fe^3+^ and Fe^2+^ in the silicate melt, respectively. * delta_IW: the relative oxygen fugacity of the experiments to Iron-wustite buffer, which is calculated with Hirschmann (2021). * **Analysis Scripts:** * `FeRatioCal.py`: Calibrates Fe³⁺/ΣFe ratios using different thermodynamic models, including the new model developed in this study. * `PtFe_fO2_func.py`: Calculates oxygen fugacity (log fO₂) values for the LH-DAC experiments. * `thermofit_reox_lsfit1array.py`: Performs thermodynamic model fitting using the new LH-DAC data (`db/Z24.csv`)  combined with previous experimental data (`db/pre_exp.csv`). Outputs fitted model parameters to the `output/`folder (`para_ox_lsfit1.json`, `para_re_lsfit1.json`). * `thermofit_result.py`: Calibrates Fe³⁺/ΣFe ratios using different thermodynamic models, including the new model developed in this study. * **Figure Generation Scripts:** * `fig2.py`: Generates Figure 2 of the publication. * `fig3_fig4.py`: Generates Figures 3 and 4 of the publication. * *Output figures can be saved in the* *`Figures/`folder within this archive.* * `Figures/`Folder: The empty folder here is just the directory for generated figures. * `output/`Folder: Contains the primary results from the thermodynamic fitting script: * `para_ox_lsfit1.json`, `para_re_lsfit1.json`: Fitted parameters for the fit 1 model. * `para_ox_12p5.json`, `para_re_12p5.json`, `para_ox_25.json`, `para_re_25.json`, `para_ox_FeO.json`, `para_re_FeO.json`: fitted parameters from '12p5', '25', and 'FeO' models of Deng et al. (2020) * All JSON files share the same variable names: * ircal.csv: The calculated Fe^3+^/ΣFe ratio through different models of the new LH-DAC experiments published in this paper and previous piston cylinder and multi-anvil experiments published. * Terminology: * H22: the EOS model from Hirschmann (2022) * D20: the "12p5" EOS model from Deng et al. (2020) * fit 1: the "fit 1" EOS model from this study * fit 2: the "fit 2" EOS model from this study * fit 3: the "fit 3" EOS model from this study * fit 4: the "fit 4" EOS model from this study * result_arrays_exp.csv: The calculated Fe^3+^/ΣFe ratio with "fit 1" EOS model from this study at different oxygen fugacity and 4000K. * Terminology: * Ir_cal_minus05_fit 1_4000: the calculated Fe^3+^/ΣFe ratio at IW-0.5 condition * Ir_cal_0_fit 1_4000: the calculated Fe^3+^/ΣFe ratio at IW condition * Ir_cal_5_fit 1_4000: the calculated Fe^3+^/ΣFe ratio at IW+0.5 condition * Ir_cal_10_fit 1_4000: the calculated Fe^3+^/ΣFe ratio at IW+1.0 condition ##### 2. EOS.zip (Uploaded to Zenodo) This archive contains Equation of State (EOS) calibration routines, primarily based on Deng et al. (2020, Nature Communications). Includes: * `G_cal.py`: Python script for Gibbs free energy calibration. * `eos_JD.py`: A script written by Deng Jie for performing EOS calibration. * `mie_grueneisen_debye.py`:  This file is part of **BurnMan**, released under the GNU GPL v2 or later. It implements a Mie-Grüneisen-Debye equation of state. * `modified_vinet.py`:  This file is part of **BurnMan**, released under the GNU GPL v2 or later. It contains a modified Vinet EOS and has been adapted by Deng Jie. ##### **3. MS_raw_data.zip (Uploaded to Zenodo)** This archive contains raw Mössbauer spectroscopy data: * **E-SMS/** Folder: Contains raw energy domain Synchrotron Mössbauer Spectroscopy (SMS) data files * synthesized samples recovered from LH-DAC experiments * secondary magic glasses standards * α-Fe foil  * spectra labels (ES1330_Hongluo_spectra labels.xlsx) * **CMS/** Folder: Contains Conventional Mössbauer spectra. * secondary magic glasses standards * Starting Material **(**`B3`)， which is used in the LH-DAC experiments. * α-Fe foil  ## **Code/Software Requirements** * **Python**:​ Version 3.10 is required to run the provided scripts. * **Python Packages**: The scripts rely on common scientific libraries. * **Annotations**: The Python scripts include basic annotations to explain their functionality. ## **Reproducibility** The provided scripts (`MO_redox.zip`and `EOS.zip`) are designed to reproduce the key data analysis, thermodynamic modeling results, and figures presented in the associated publication: 1. Unzip `MO_redox.zip `and `EOS.zip`, and move the EOS folder into the MO_redox folder. 2. Ensure required Python packages are installed. 3. Run the analysis scripts (e.g., `PtFe_fO2_func.py`, `thermofit_reox_lsfit1array.py`, `FeRatioCal.py`) to generate model outputs and calibration results. 4. Run the figure generation scripts (`fig2.py`, `fig3_fig4.py`) to recreate Figures 2, 3, and 4. The figures could be saved in the `Figures/`directory within `MO_redox`. ## **Usage Notes** * The raw Mössbauer data (`MS_raw_data.zip`) is provided for transparency and potential re-analysis. * The `db/`folder within `MO_redox.zip`contains all necessary input data files referenced by the Python scripts. Ensure the scripts can locate these files relative to their own paths. * The `output/`folder contains the key JSON files resulting from the thermodynamic model fitting procedure (`thermofit_reox_lsfit1array.py`). Further questions you can contact [zhanghl@cugb.edu.cn](mailto:zhanghl@cugb.edu.cn).