Dinosaur: Differentiable Dynamics for Global Atmospheric Modeling 🦖
Authors: Jamie A. Smith, Dmitrii Kochkov, Peter Norgaard, Janni Yuval, Stephan Hoyer
Dinosaur is an old-fashioned (some might say prehistoric) dynamical core for global atmospheric modeling, re-written in JAX to meet the needs of modern AI weather/climate models:
- Dynamics: Dinosaur uses spectral methods to solve the shallow water equations and the primitive equations (moist and dry) on sigma coordinates.
- Auto-diff: Dinosaur supports both forward- and backward-mode automatic differentiation in JAX. This enables "online training" of hybrid AI/physics models.
- Acceleration: Dinosaur is designed to run efficiently on modern accelerator hardware (GPU/TPU), including parallelization across multiple devices.
For more details, see our paper Neural General Circulation Models for Weather and Climate.
Usage instructions
Dinosaur is an experimental research project that we are still working on documenting.
We currently have three notebooks illustrating how to use Dinosaur:
Each also has a semi-Lagrangian variant demonstrating semi-Lagrangian advection at 6-12x longer time steps:
We recommend running them using Google Colab with a GPU runtime.
You can also install Dinosaur locally: pip install dinosaur
See also
If you like Dinosaur, you might also like SpeedyWeather.jl, which solves similar equations in Julia.
Contributing
See CONTRIBUTING.md for details. We are open to user
contributions, but please reach out (either on GitHub or by email) to coordinate
before starting significant work.
License
Apache 2.0; see LICENSE for details.
Metadata
Release files for dinosaur 1.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dinosaur-1.5.1.tar.gz | 236.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dinosaur-1.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 510.8 kB
Release files / dinosaur-1.5.1.tar.gz
| Download URL | dinosaur-1.5.1.tar.gz |
|---|---|
| Size | 236.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
12e5fd468b796301776e357350024e1568694e7011ecd77913a59121bc5cc882
|
|
BLAKE2b-256 checksum How to use checksums |
551519795e11beff2c2ea0ce1c66bf16f07392cde84ff7f7a532a1db45cbc53e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / dinosaur-1.5.1-py3-none-any.whl
| Download URL | dinosaur-1.5.1-py3-none-any.whl |
|---|---|
| Size | 274.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c4de9737fb277c9284702a74e80fdac63299a45fec96641b430222c2fa1f413
|
|
BLAKE2b-256 checksum How to use checksums |
3151ec0727c9da0260138ceba9861b626e1665fc74529ef6b9e676a5f7878415
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|