Skip to content

Temari dataset v5.0.0 — F(s, E₀), 525 channels

Choose a tag to compare

@seto77 seto77 released this 10 Aug 01:29
· 11 commits to main since this release

The record of reference is on Zenodo: 10.5281/zenodo.21872050 — cite that version DOI, which guarantees the files have not changed. 10.5281/zenodo.21872049 is version-independent and resolves to whichever version is current.

The archive here is a byte-identical mirror. It is built deterministically, so the two copies can be compared rather than merely trusted: sha256 = ceee8a2351d56a4feda6a3d6d69c943f094f88f30fc136728e7b64ff65518396.

Inner-shell ionization form factors F(s, E₀) for STEM-EDX — 525 channels (K, L1–L3, M1–M5), 14,796 rows, s ≤ 16 Å⁻¹ on 321 nodes.

This is the data only. The software is released separately and carries its own version; the two version lines are independent.

Dataset version 5.0.0
Model DHFS-KS23-DiracB-KDIRAC2C-jsplit-fullrange-sym-v4-DSCF
Schema 2
Generated with Temari, Julia 1.11.9 (pinned in MANIFEST.md)
Archive SHA-256 ceee8a2351d56a4feda6a3d6d69c943f094f88f30fc136728e7b64ff65518396
Manifest digest fcd4e2bdd843d1bfe695a6d16bb338d7db6e0cc047c23140475ccb72f05ecbbd

Licence

The data is CC-BY-4.0; the bundled loader (tools/temari_contract.py) is MIT. LICENSE.md in the archive states the split. Attribution may be given by link, which is what makes it workable when the tables are embedded in a binary resource.

Self-contained

The archive carries the JSON schema, the manifest (per-file SHA-256 plus an order-independent digest), and an executable contract — a reference loader in the Python standard library only, which also checks the seven traps a consumer falls into.

sha256sum -c temari-dataset-v5.0.0.tar.gz.sha256
tar -xzf temari-dataset-v5.0.0.tar.gz && cd temari-dataset-v5.0.0
python tools/temari_contract.py .      # exits non-zero on failure

Reproducible bytes

The archive is built deterministically (tools/make_dataset_release.sh): sorted entries, mtime pinned to the dataset's own date, fixed ownership, no gzip timestamp. Building twice gives identical bytes — which is what will let a copy deposited on Zenodo be compared with this one rather than merely trusted.

Read before use

F is signed. 358 of the 525 channels contain negative values (minimum −0.3194). Any path treating it as non-negative — clip(0), abs, assumed monotonicity — corrupts it silently, and the corruption survives integration over q. This is why F is not published in the GOSH format.

The momentum convention is q = 4πs [Å⁻¹]. Beyond s_cert the values are exactly-zero padding, not calculated. The E₀ axis differs per channel (459 distinct axes). eps is a bound and must not be interpolated. E₀ interpolation runs in ln(u−1). The README states all of it, and temari_contract.py checks it.

Beyond s ≈ 4 Å⁻¹ there is no external yardstick — the most recent published database in the field stops at q = 50 Å⁻¹ = s 3.98 Å⁻¹ in this convention. The range past that is verified against internal identities and analytic limits, not against anyone else's numbers.