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.4 is the current release. VerCOR 0.3 applications should follow the Migration guide.

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.4"

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.4 is the current release. Upgrade an older installation for the published stable API:

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

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)))

Setup gallery

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:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vercor-0.4.4.tar.gz (161.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vercor-0.4.4-py3-none-any.whl (231.4 kB view details)

Uploaded Python 3

File details

Details for the file vercor-0.4.4.tar.gz.

File metadata

  • Download URL: vercor-0.4.4.tar.gz
  • Upload date:
  • Size: 161.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for vercor-0.4.4.tar.gz
Algorithm Hash digest
SHA256 d51d71703924f4a1413b5dca310a830e776df063432c03dc8d7ad21dbdab1467
MD5 2b7e46c3ee77a200b5d7b9e973009dab
BLAKE2b-256 7ac0d70848b2277f24e8a76f4c8ed5a20782d108d8e657229e408af12f045ea1

See more details on using hashes here.

File details

Details for the file vercor-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: vercor-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 231.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for vercor-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0d37fc724d0dcbaa1656eaf35bdaa23b5903799e0a80e7a39ab22804e97e45f2
MD5 0c35106d964b3e08e2ecb5e1461cbcf8
BLAKE2b-256 d496574dff6546ee276437d5ee34eca369a1d70441ec2589bdb92e83005f57e1

See more details on using hashes here.

Release history Release notifications | RSS feed

0.4.6

2 files

0.4.5

2 files

This release

0.4.4 This release

2 files

0.4.3

2 files

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