Contract
- Input: physics result, data, and code.
- Output: Zenodo DOI + GitHub release + checklist.
- Side effects: none.
- Dependencies: none.
- Stop condition: DOI assigned; tag created; checklist complete.
- Risk: low.
- Boundary: archives and links; does not execute long computations.
Physics Reproducibility and Archival
Make a physics result reproducible and archive it with a DOI — data, code, and environment — for compliance with journals and funders.
When to use
- A paper is being submitted to a journal that requires data availability.
- A funder (DOE, NSF, ERC) requires open data / code.
- A reviewer or collaborator needs to reproduce a result.
Process
1. Inventory the artifacts
List:
- Raw data — unprocessed files from the experiment / simulation.
- Processed data — calibrated and cleaned.
- Analysis code — scripts that produce figures and tables.
- Simulation code — input parameters, source, build instructions.
- Environment — library versions, OS, compilers.
- Figures and tables — with captions that cite the source data.
Completion criterion: inventory saved as REPRODUCIBILITY.md.
2. Prepare for archival
- Data: clean, documented schema; remove PII; check file formats (open preferred: CSV, HDF5, FITS; avoid proprietary).
- Code: add README,
setup.py / pyproject.toml, test that it runs.
- Documentation: usage instructions, expected output, hardware requirements.
- Licence: MIT, Apache 2.0, or CC0 for data; GPL for code (choose before upload).
Completion criterion: inventory items prepared; licence chosen.
3. Containerise
- Docker:
Dockerfile with base image, tool versions, code, data.
- Apptainer:
.def file for HPC clusters.
- Include: exact tool versions (not
latest); build instructions; run command.
Completion criterion: container builds; produces expected output on a fresh host.
4. Archive on Zenodo
Create a Zenodo deposit:
- Title: descriptive and unique (not just "Data for paper").
- Authors: all contributors, with ORCIDs.
- Keywords: physics terms (e.g. "quantum optics", "cosmology", "plasma physics").
- Licence: stated.
- Related identifiers: link to the paper (arXiv DOI or journal DOI).
- Upload: data + code + container (or link to Docker Hub / GHCR).
Completion criterion: Zenodo record created; DOI assigned.
5. GitHub release
- Tag the repository with the paper version (e.g.
v1.0).
- Write a release note: what changed, what is archived.
- Link to the Zenodo DOI in the release.
Completion criterion: GitHub release created; DOI linked.
6. Checklist and compliance
- Journal requirements — which journals require data / code? (Nature, Science, APS, IOP all have policies).
- Funder requirements — NSF, DOE, ERC open-data mandates.
- FAIR compliance — check Findable, Accessible, Interoperable, Reusable.
- Supplemental material — prepare for journal submission (separate from archival).
Completion criterion: checklist saved; compliance status per requirement.
Notes
- Pair with
physics-simulation-setup for simulation containerization.
- Pair with
physics-experimental-notebook for experimental data archival.
- Pair with
physics-writing-revtex for journal submission.
1---2name: physics-reproducibility-archive3description: Make physics research reproducible and archive it — Zenodo DOI, GitHub + container (Docker/Apptainer), data preservation, code review, and open-science compliance for journals and funders.4---56## Contract78- **Input:** physics result, data, and code.9- **Output:** Zenodo DOI + GitHub release + checklist.10- **Side effects:** none.11- **Dependencies:** none.12- **Stop condition:** DOI assigned; tag created; checklist complete.13- **Risk:** low.14- **Boundary:** archives and links; does not execute long computations.1516# Physics Reproducibility and Archival1718Make a **physics result** reproducible and archive it with a DOI — data, code, and environment — for compliance with journals and funders.1920## When to use2122- A paper is being submitted to a journal that requires data availability.23- A funder (DOE, NSF, ERC) requires open data / code.24- A reviewer or collaborator needs to reproduce a result.2526## Process2728### 1. Inventory the artifacts2930List:3132- **Raw data** — unprocessed files from the experiment / simulation.33- **Processed data** — calibrated and cleaned.34- **Analysis code** — scripts that produce figures and tables.35- **Simulation code** — input parameters, source, build instructions.36- **Environment** — library versions, OS, compilers.37- **Figures and tables** — with captions that cite the source data.3839**Completion criterion:** inventory saved as `REPRODUCIBILITY.md`.4041### 2. Prepare for archival4243- **Data:** clean, documented schema; remove PII; check file formats (open preferred: CSV, HDF5, FITS; avoid proprietary).44- **Code:** add README, `setup.py` / `pyproject.toml`, test that it runs.45- **Documentation:** usage instructions, expected output, hardware requirements.46- **Licence:** MIT, Apache 2.0, or CC0 for data; GPL for code (choose before upload).4748**Completion criterion:** inventory items prepared; licence chosen.4950### 3. Containerise5152- **Docker:** `Dockerfile` with base image, tool versions, code, data.53- **Apptainer:** `.def` file for HPC clusters.54- Include: exact tool versions (not `latest`); build instructions; run command.5556**Completion criterion:** container builds; produces expected output on a fresh host.5758### 4. Archive on Zenodo5960Create a Zenodo deposit:6162- **Title:** descriptive and unique (not just "Data for paper").63- **Authors:** all contributors, with ORCIDs.64- **Keywords:** physics terms (e.g. "quantum optics", "cosmology", "plasma physics").65- **Licence:** stated.66- **Related identifiers:** link to the paper (arXiv DOI or journal DOI).67- **Upload:** data + code + container (or link to Docker Hub / GHCR).6869**Completion criterion:** Zenodo record created; DOI assigned.7071### 5. GitHub release7273- Tag the repository with the paper version (e.g. `v1.0`).74- Write a release note: what changed, what is archived.75- Link to the Zenodo DOI in the release.7677**Completion criterion:** GitHub release created; DOI linked.7879### 6. Checklist and compliance8081- **Journal requirements** — which journals require data / code? (Nature, Science, APS, IOP all have policies).82- **Funder requirements** — NSF, DOE, ERC open-data mandates.83- **FAIR compliance** — check Findable, Accessible, Interoperable, Reusable.84- **Supplemental material** — prepare for journal submission (separate from archival).8586**Completion criterion:** checklist saved; compliance status per requirement.8788## Notes8990- Pair with `physics-simulation-setup` for simulation containerization.91- Pair with `physics-experimental-notebook` for experimental data archival.92- Pair with `physics-writing-revtex` for journal submission.