Skip to main content

VerCOR

Documentation status Test status

Versatile Earth system COupleR (VerCOR) connects atmosphere, ocean, sea-ice, land, and forcing-data components on a shared clock. It helps Earth-system researchers compose models, exchange fields between grids, and collect diagnostics and output.

VerCOR is built on JAX. Output-free JAX workflows remain differentiable end to end, supporting sensitivity analysis, automatic differentiation, and gradient-based experiments.

Stable release: Version 0.4.6 is the current release. Use the current researcher and developer guides.

Key capabilities

  • Combine JAX-native and host-side models in one coupled simulation.
  • Exchange scalar and vector fields between rectilinear grids.
  • Use bilinear or conservative regridding.
  • Run Gregorian, no-leap, or 360-day calendars.
  • Use bundled slab atmosphere, ocean, land, and sea-ice components.
  • Connect optional JCM, Veros, and CAMulator models.
  • Supply static or time-dependent forcing data.
  • Preserve immutable state across JAX transformations.
  • Enable period averages, final fields, and snapshots when requested.

Requirements and installation

VerCOR supports Python 3.12 and 3.13 and requires a JAX installation supported by your platform.

Install the core package:

python -m pip install "vercor==0.4.6"

Install an optional extra before using a bundled JCM or Veros setup:

python -m pip install "vercor[jcm]"
python -m pip install "vercor[veros]"

CAMulator additionally requires NCAR's MILES-CREDIT. A compatible CREDIT release has not yet been confirmed or pinned.

Version 0.4.6 is the current release. Upgrade an older installation for the published stable API:

python -m pip install --upgrade "vercor==0.4.6"

Quick start

This dependency-light example runs a slab ocean for two one-hour steps:

from datetime import datetime

import jax.numpy as jnp

from vercor import Clock, Coupler, RectilinearGrid
from vercor.setups import make_slab_ocean


grid = RectilinearGrid.uniform(
    "quickstart",
    nlon=2,
    nlat=2,
    longitude=(0.0, 360.0),
    latitude=(-90.0, 90.0),
)
clock = Clock(datetime(2000, 1, 1), dt_seconds=3600.0, steps=2)
ocean = make_slab_ocean(grid)
coupler = Coupler(clock, components=(ocean,), run_order=(ocean.name,))

final_state = coupler.run()
sea_surface_temperature = final_state.component(ocean.name).field(
    "sea_surface_temperature"
)

assert sea_surface_temperature.shape == grid.shape
assert bool(jnp.all(jnp.isfinite(sea_surface_temperature)))

VerCOR packages runnable setup scripts with its distribution. List the available templates, copy one into a user-editable directory, then run that local copy:

vercor show-setups
vercor copy-setup run_jcm_with_veros \
  --to ~/vercor-setups/run_jcm_with_veros
vercor run \
  --loglevel info \
  --float-type float64 \
  ~/vercor-setups/run_jcm_with_veros/run_jcm_with_veros.py

vercor --version reports the installed distribution version. VERCOR_SETUP_DIR may add external templates as an os.pathsep-separated list of direct directories. Every template name must be unique across the packaged gallery and those directories; duplicates are errors. copy-setup --to creates missing parent directories or reuses an existing directory, but never overwrites an existing setup file.

An external template must define exactly run_setup(*, loglevel, float_type). vercor run passes lowercase-only loglevel choices (trace, debug, info, warning, or error) and float_type choices (float64 or float32); their defaults are info and float64. The function returns None for success or an integer process status.

Documentation

Read the canonical documentation at https://vercor.readthedocs.io/:

Repository resources:

Metadata

Release files for vercor 0.4.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vercor 0.4.6
File Size Uploaded Provenance Actions
vercor-0.4.6.tar.gz 168.3 kB Without provenance Details for vercor-0.4.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for vercor 0.4.6
File Interpreter ABI Platform Actions
vercor-0.4.6-py3-none-any.whl Python 3 none any Details for vercor-0.4.6-py3-none-any.whl

Total release size: 408.3 kB

Release files / vercor-0.4.6.tar.gz

Download URL vercor-0.4.6.tar.gz
Size 168.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9f97a4e6f47a28cc9d4aeeaee99d3efabf5f62898561b7fab81286a399403bea
BLAKE2b-256 checksum
How to use checksums
9133fe26085d227dea18f1812e204a53ff50c42c69b27e89bc477fc090320ce0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / vercor-0.4.6-py3-none-any.whl

Download URL vercor-0.4.6-py3-none-any.whl
Size 240.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
860fe6454db9c1c7461f53892f83f4bee7fee3bd8009dae6be9eb390516a579c
BLAKE2b-256 checksum
How to use checksums
24a8fa92816f4f39e497c35ac1467693d180ef780280b8f4c0a559a4c4c0db2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Security for vercor 0.4.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page