Veris
Veris models how sea ice moves, grows and melts without an external ocean model. It uses JAX, a Python library for calculations with arrays (tables of numbers). The model is differentiable: it can calculate how changes in inputs affect its results. Define an experiment (its inputs and settings), prepare its initial values, advance it in timesteps (intervals of simulated time) and save the results. The same workflow covers dynamics (ice motion), thermodynamic growth (growth and melting through heat exchange) and coupled experiments (both together). It runs on computer processors (CPU), graphics processors (GPU) and explicitly configured JAX meshes (groups of devices).
Install the latest release with Python 3.12 or newer:
python -m pip install --upgrade veris
Start with Getting started for installation, a first command-line simulation and reading its output. The stable documentation describes the latest published release. The command line reference explains how to list and copy setups, run them and override their settings.
This coupled example supplies the ocean's shape and size, masks (arrays marking land and ocean) and atmospheric fields (weather values across the grid, the cells dividing the modeled area). These prescribed inputs come from the setup, without an external ocean model:
from veris import Execution, Experiment, Grid, Simulation
experiment = Experiment.builtin(
"island", grid=Grid(6, 8), steps=3,
settings={"dtype": "float32", "nEVPsteps": 2},
execution=Execution(backend="cpu"),
)
with Simulation.initialize(experiment) as simulation:
result = simulation.run()
simulation.snapshot("final.nc", variables=("hIceMean", "Area"))
simulation.save_restart("checkpoint.nc")
Use new output destinations when repeating this example. Its two EVP subcycles (repeated calculations in the elastic-viscous-plastic ice-motion solver) demonstrate the programming interface; they do not show that the solver has converged to a solution.
- Python lifecycle tutorial: successive runs, output saved on a schedule, observations and exact restart.
- Custom ocean and setup blueprint: prescribed geometry, fields and reusable functions that create experiments.
- Pure integration and automatic differentiation: runs over several timesteps, sensitivity to supplied inputs and rules for calculating derivatives.
- Model setups: physical assumptions and serial (single-device), GPU and distributed (multiple-process) examples.
- Python API and package hierarchy: interface rules and each part of the package's responsibilities.
- Development: checks, documentation builds and contribution workflow. DESIGN.md and CHANGELOG.md record the model's design and verified progress.
Metadata
Release files for veris 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| veris-0.2.0.tar.gz | 878.7 kB | Without provenance | Details for veris-0.2.0.tar.gz |
Release files / veris-0.2.0.tar.gz
| Download URL | veris-0.2.0.tar.gz |
|---|---|
| Size | 878.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d5966acd8e7b439977464ee992a28c40d60cc0cd53f3d7017e0bf4152800379e
|
|
BLAKE2b-256 checksum How to use checksums |
e8c4b38855ccde57a855d685abdcf09f5c1d464a47b8d4dece5df5826d0650fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for veris 0.2.0
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.