# OCx25 reference

## Provenance

- Experimental campaign: Meta FAIR Chemistry, University of Toronto
  (Sinton and Sargent groups) and VSParticle. Paper: *Open Catalyst
  Experiments 2024 (OCx24): Bridging Experiments and Computational Models*,
  arXiv:2411.11783 (Abed, Kim, Shuaibi, Wander, … Sinton, Zitnick). A
  follow-up on the 2025 data is expected in Nature Catalysis.
- Data bound here: the 2025-09-23 dumps from the
  [OCx25 dashboard Space](https://huggingface.co/spaces/facebook/OCx25)
  (`ExpDataDump_250923.csv`, `XRFDataDump-250923.csv`,
  `DashboardData-250923.csv`), licence CC-BY-4.0. The 2024 dumps
  (`*_241125.csv`) are in the same Space and the paper's exact 2024 files
  (`ExpDataDump_241113.csv`, `XRDDataDump-241113.csv`, processed
  `HER_40_70_all.csv`, `CO2R_40_70_all.csv`) are in
  [fairchem `applications/ocx/data`](https://github.com/facebookresearch/fairchem/tree/main/src/fairchem/applications/ocx/data).
- Computational descriptors: `comp_df_241022.csv`, 1.5 GB, MD5
  `9e75b95bb1a2ae691f07cf630eac3378`, at
  `https://dl.fbaipublicfiles.com/opencatalystproject/data/ocx24/comp_df_241022.csv`.
  One row per surface of 19,406 bulk materials (Materials Project `mp-`,
  OQMD `oqmd-`, Alexandria `dcgat-` ids) with Miller indices up to 2:
  `bulk_id`, `slab_millers`, `slab_shift`, `top`, `slab_comp`,
  `n_bulk_elements`, per adsorbate (`C`, `CO`, `CHO`, `COCOH`, `H`, `OH`)
  `{ads}_ml_Eads`, `{ads}_ml_dft_Eads`, `{ads}_min_ml_Eads`, `{ads}_min_sp_e`
  (the DFT single-point verified minimum used by the paper),
  `cleavage_energy` (only for tested compositions),
  `facet_fraction_on_wulff_not_normalized`.
- XRD: raw `.xy` patterns and phase identifications for every sample are
  in the Space under `Data/XRD/` (Git LFS) and, for 2024, in fairchem's
  `XRDData_241116.tar.gz` (19.6 GB). Fewer than a quarter of samples match
  their target phase at the paper's criteria (major phase ≥ 70 wt %,
  composition within 2σ of XRF, q-score ≥ 70, Rwp ≤ 40).

## The 2025 data at a glance

| | |
|---|---|
| rows in `experiments` | 6,707 (5,580 CO2R, 1,127 HER) |
| samples | 842 (`vsp` 4,061 rows, `uoft` 2,646 rows) |
| target compositions | 291 |
| elements | Ag, Au, Cd, Cu, Ga, Hg, In, Mn, Mo, Nb, Ni, Pd, Pt, Rh, Sn, Tl, W, Zn (Mn, Mo, Nb, W are new in 2025; `xrf` also carries traces of others) |
| batches | 30 (`uoft` 4–9, `vsp` 1–33) |
| canonical targets | 280 HER rows, 279 CO₂RR rows, 52 element systems |

Replicates: `uoft` samples share one XRF measurement per synthesis target;
`vsp` samples are printed per replicate and carry their own XRF. Rows with
`rep` = `avg` or `std` are summaries and are dropped by the protocol.

## Experimental conditions (from the paper)

- Zero-gap membrane-electrode-assembly electrolyser, 9 minutes per current
  density; gas products by GC; liquid products estimated from the electron
  balance (assumed formate).
- HER at 50 mA/cm². Full-cell voltage is converted to cathode potential vs
  SHE with a calibration from a three-electrode cell (Arabyarmohammadi et
  al., Nature Sustainability 2025); `prepare_targets.py` ports it. The
  conversion is affine in the full-cell voltage.
- CO₂RR at 50, 100, 150, 200 and 300 mA/cm²; the paper compares materials
  at a fixed full-cell voltage of 3.3 V (the average across tests) by
  log-linear interpolation, without extrapolation.
- Synthesis: VSParticle VSP-P1 spark ablation (Ar/H₂ carrier, nanoporous
  films printed on Si wafers and gas-diffusion electrodes in parallel);
  University of Toronto Chemspeed robotic chemical reduction (hydrazine/NaOH,
  50 °C, washed, dried), ink with Vulcan XC-72R and Nafion, optional anneal
  at 400 °C under 5 % H₂.

## Published baselines (2024 data, paper Table 1; R² = Pearson r²)

HER, linear regression, target cathode potential vs SHE at 50 mA/cm²:

| features | LOO | LOCO |
|---|---|---|
| mean adsorption energies (H, OH) | 0.61 | 0.59 |
| Wulff-weighted | 0.44 | 0.41 |
| Boltzmann-weighted | 0.26 | 0.21 |
| Matminer elemental features only | 0.58 | 0.52 |
| mean + Matminer | 0.63 | 0.59 |

CO₂RR, random forest (scikit-learn defaults, `random_state=42`), target
production rate at 3.3 V:

| target | features | LOO | LOCO |
|---|---|---|---|
| H₂ | mean energies | 0.29 | 0.05 |
| H₂ | Matminer only | 0.39 | 0.10 |
| H₂ | Boltzmann + Matminer | 0.46 | 0.22 |
| CO | Boltzmann + Matminer | 0.44 | ≈ 0 |
| liquid | Boltzmann + Matminer | 0.43 | – |
| C₂H₄ | Boltzmann + Matminer | 0.08 | 0.01 |

Faradaic efficiency as target (appendix): similar; CO LOO 0.55.

Matminer features used: composition-weighted mean of Pauling
electronegativity, row, group, atomic mass, atomic radius and Mendeleev
number, computed on the XRF composition; all features standardised.

Aggregation of surface energies to one number per material (paper
Eqs. 2–4, `data_handling.compute_comp_stats`): simple mean over surfaces;
Boltzmann weighting by adsorption energy and cleavage energy at 300 K;
Wulff weighting by facet fraction with cleavage energy as surface-energy
proxy; falling back to the mean when cleavage energies are missing.

## Noise floors (replicates within ± 5 % XRF composition)

- HER: σ = 0.043 V vs SHE over 297 replicate pairs.
- CO₂RR production rate at 3.3 V: σ = 0.050 (H₂), 0.040 (CO),
  0.033 (liquid) µmol cm⁻² s⁻¹.

A model cannot be expected to beat these, and a reported R² should be read
against them. The paper's discussion of the CO₂RR results: many
competing products, descriptors of lone adsorbates on clean surfaces, no
electrolyte, pH, field, interface or reactor physics in the simulations,
and only 179 targets; they estimate 10⁴–10⁵ samples for substantially better
models. Independent commentary (arXiv:2512.05938) argues adsorption-energy
descriptors are necessary but not sufficient and that uncertainty of 0.3–0.5
eV per predicted adsorption energy limits screening.

## Differences between this protocol and the paper's pipeline

`prepare_targets.py` follows fairchem's `load_and_preprocess_data`, with
these documented differences, chosen so that targets can be derived from
the bound bytes alone:

- Replicates are pooled by synthesis target (sample id without `_repN`,
  per source) and the pooled row carries the element-wise mean of its
  replicates' XRF compositions. The paper pools by the nearest composition
  in the computational screening set, which needs the 1.5 GB file.
- No XRD matching is applied; the paper's best models also trained on all
  samples, matched or not, and found that better than matched only.
- Electron counts for production rates follow the reference code (2 for
  H₂, CO, liquid and C₂H₄; 8 for CH₄). The reference uses 2 for C₂H₄, whose
  physical value is 12; the convention is kept for comparability and C₂H₄
  is not a headline target.

When you reproduce the paper's exact numbers (`reproduce-ocx24-baselines`),
use the fairchem pipeline as published; when you compare models in this
Campaign, use the canonical targets.

## CO₂RR context a model may need

The cathode side runs at high local pH; H₂ competes with every carbon
product; CO is the dominant carbon product on Ag/Au/Zn-rich surfaces,
formate (reported as liquid) on Sn/In/Cd/Hg/Tl-rich ones, CH₄ and C₂H₄
appear mainly on Cu-rich surfaces and at low rates in this dataset. Many
samples are phase-separated or oxidised rather than the intended alloy;
treat the XRF composition as the catalyst's composition and the target
composition as the recipe.
