SciRecast
An open-source, agentic ecosystem

Recasting scientific software

LLM agents discover, grow, correct and backstop deterministic rules for software modernization.

LLM agentsDISCOVER · GROW · CORRECT · BACKSTOP discover analyze transform verify record DETERMINISTIC RULES · REUSABLE · NO TOKENS TO RUN
Contents

RecastEngine

The engine is the reusable part of SciRecast. It reads the source, writes the modern version, compiles the untouched original as the reference, and refuses to call the result correct unless a gate says so. It knows nothing about any particular model: domain knowledge attaches through plugins, and the engine passing its tests with every domain package uninstalled is a standing check.

New here?

Getting started takes you from an empty machine to a verified translation of your own module in about twenty minutes.

CESM Case

The first model the engine is used on: the Community Earth System Model. Five products so far, each in its own repository.

  • PyCAM5. CAM5 physics moved into Python routine by routine, each routine selectable at runtime and held bit-for-bit against the native Fortran in production-length runs on Derecho. Routine-by-routine progress: status dashboard.
  • freeCAM. The CAM atmosphere of iCESM1.3.1 under a Python control layer. Python owns the workflow, clock and coupling; the original Fortran stays the numerical source of truth; physical processes can be reordered, enabled or disabled while the model runs.
  • CC-Test. The gate every product passes before a push: correctness against the original model, and cyber checks (secret scan, SBOM and CVE, AI code audit, sanitizer builds).
  • Sec-Track (restricted). The record of vulnerabilities found in CESM along the way, with the patches that close them.
  • clm-ml-jax-reproduction. The multilayer canopy of the Community Land Model (CLM-ml v2, 76 Fortran modules) taken to NumPy and JAX under the engine and a small domain extension, reproducing arXiv:2606.07681 with a different instrument than the authors' own translation.

How to Contribute

What you haveWhere it goes
A translation that is wrong, or a rule that should existRecastEngine issues, with the console output of the run
A bug or an idea in a componentthat component's own repository: PyCAM5, freeCAM, CC-Test
A security vulnerability private GitHub security advisory, never a public issue
Collaboration or licensingYueqi Chen, yueqi.chen@colorado.edu