An open-source, agentic ecosystem for modernizing legacy scientific software.
SciRecast makes the modernization of legacy scientific codes reusable, reproducible, validable, secure, and scalable across scientific domains, programming languages, and computing platforms. LLM agents do the labor-intensive porting work under human oversight; every artifact ships only after passing correctness validation and security review.
This repository is the unified entry point to the SciRecast ecosystem. Each component below lives in its own repository — this page maps the ecosystem architecture to those repositories and tracks their status.
- Domain-Need-First — Modernization goals, success criteria, and priorities are set by the needs and practices of the scientific domains SciRecast serves.
- Agentic-Design-Focused — SciRecast maximizes the utility of LLM agents while remaining inspectable and subject to human oversight.
- Validation & Accountability — Every modernized artifact is backed by reproducible validation evidence and transparent provenance.
- Security & Sustainability — Signed releases, CI/CD-backed regression testing, responsible vulnerability disclosure, and open governance.
SciRecast is organized into three layers. Humans maintain the inner two layers (the agent engine, and the validation & security infrastructure). The agent produces the outermost layer — and only after the artifact passes validation and security checks.
flowchart TB
subgraph Product["🟦 Product Layer — modernized scientific software (Earth Science today)"]
PyCAM5["PyCAM5"]
PyCCPP["PyCCPP"]
JaxCAM6["JaxCAM6"]
end
subgraph Support["🟩 Support Layer — Validation & Security Infrastructure"]
NCTest["CC-Test"]
SecTrack["Sec-Track"]
end
subgraph Core["🟥 Core Layer — RecastEngine: multi-LLM-agent modernization engine"]
RecastEngine["RecastEngine (neuro-symbolic)"]
end
RecastEngine -- "translate · refactor · port to accelerators" --> Product
RecastEngine -- "retrieve for correctness validation" --> NCTest
RecastEngine -- "store security analyses" --> SecTrack
NCTest -- "gate" --> Product
SecTrack -- "gate" --> Product
Contribution model. Unlike traditional open-source ecosystems, human developers do not directly modify the modernized software in the Product Layer. When end users open issues, the agentic engine (RecastEngine) generates, tests, and merges the fixes. Humans instead contribute to the Core Layer (extending RecastEngine with new formal methods and agentic designs) and to the Support Layer (adding benchmark suites, completing validation workflows, and responsibly reporting vulnerabilities).
End-user-facing modernized software. Current focus: Earth Science.
| Product | Repository | Description | Status |
|---|---|---|---|
| PyCAM5 | PyCAM5 |
Python version of the Community Atmosphere Model 5, modularized for flexible reuse. | 675 runtime selectors; PI & MCO 6-month runs bit-for-bit equal to the native Fortran baseline. |
| PyCCPP | PyCCPP |
Python version of the Common Community Physics Package (CCPP), easing integration of physics packages across NOAA, DOE, NASA, and the U.S. Air Force. | Early stage. |
| JaxCAM6 | CESM-jax-kernels |
JAX version of CAM6 with computational kernels accelerated on NVIDIA GPUs (8 physics schemes). | ZM / MG / Kessler / Held-Suarez / TJ2016 validated; CLUBB in progress; Radiation partial. |
Related delivery components (supporting the CAM6 port; not yet a self-contained product):
| Repository | Description |
|---|---|
CESM-numba-kernels |
Numba @njit (CPU) + @cuda.jit (GPU) kernels for CAM6 physics — the second acceleration path. |
CESM-pyphys-bridge |
Fortran ↔ Python runtime bridge: embedded CPython lets Fortran CAM physics call JAX/Numba kernels, selectable by environment variable. |
The trust foundation. Human contributors extend these; the agent consumes them as gates.
| Component | Repository | Description | Status |
|---|---|---|---|
| CC-Test (Correctness and Cyber Test) | CESM-CC-Test |
A CI/CD validation workflow covering both Cyber (security) and Correctness testing of modernized software. Its Cyber half is built today — a reusable local + CI/CD DevSecOps gate (gitleaks secret scan, SBOM+CVE+VEX via syft/grype, Claude AI code audit, ifx+AddressSanitizer); Correctness testing will be added into the same workflow. |
Cyber testing verified on Derecho (NCAR); correctness testing planned. |
| Sec-Track | CESM-Sec-Track |
Repository of N-day and responsibly disclosed 0-day vulnerabilities spanning the software, its supply-chain dependencies, and the runtime environment. Access restricted. | Active. |
RecastEngine is a multi-LLM-agent modernization engine that combines the generative power of LLMs
with the rigor of formal methods (neuro-symbolic). It translates languages, refactors
architectures, ports code to accelerators, retrieves CC-Test for correctness validation, and
stores security analyses to Sec-Track. It is tracked directly in this hub as the
RecastEngine submodule.
| Repository | Role | Description |
|---|---|---|
RecastEngine (submodule → CESM-language-translator) |
Engine | Deterministic Fortran → Python translation pipeline (SymPy-based); ZM + MG2 translations verified bit-exact. |
CESM-Agent-Produced-Scripts |
Tool | Agent-produced scripts supporting the modernization workflow. |
| Domain | Entry point | Description |
|---|---|---|
| Earth Science (CESM/CAM) | CESM-modernization-overview |
Master tracker / dashboard for the CAM physics Fortran-to-Python (JAX/Numba GPU) porting effort — per-scheme progress, validated-run archive, and deployment reference. |
We welcome bug reports, feature ideas, and vulnerability disclosures — see
CONTRIBUTING.md for details. In short:
- Found a bug or a wrong result? Open an issue on the relevant component repository (or on this hub) with a reproducer.
- Security vulnerability? Please do not open a public issue — use a private GitHub security advisory or email Yueqi Chen (responsible disclosure).
- Questions or collaboration? Contact Yueqi Chen (University of Colorado Boulder) — yueqi.chen@colorado.edu.
SciRecast is licensed under the Apache License 2.0 — see LICENSE and
NOTICE. All artifacts are released under the same license with public issue
trackers, with two exceptions:
- Legacy code retained inside modernized software remains under its original open-source
license, as documented in the
NOTICEfile of the respective component repository. - Sec-Track access is restricted to reduce the risk of malicious exploitation.
SciRecast is transitioning from a research prototype to a sustainable ecosystem. Naming in
this hub follows the ecosystem architecture (RecastEngine / CC-Test / Sec-Track / JaxCAM6); the
backing repositories currently retain their CESM-* working names, noted in each table. The
RecastEngine engine is vendored here as a submodule (backed by CESM-language-translator).