Reformat weather datasets into zarr.
Browse the datasets produced by this repo at https://dynamical.org/catalog/.
- See AGENTS.md for an overview of the approach and this repository.
- Develop a new dataset end to end, or dive into just the implementation.
- Add a new variable to an existing dataset.
We use
uvto manage dependencies and python environmentsrufffor linting and formattingtyfor type checkingpytestfor testingprekto automatically lint and format as you git commit
- Install uv
- Run
uv run prek installto setup the git hooks - If you use VSCode, you may want to install the extensions (ruff) it will recommend when you open this folder
uv run main --help- list all datasetsuv run main <DATASET_ID> update-templateuv run main <DATASET_ID> backfill-local <APPEND_DIM_END>
- Add dependency:
uv add <package> [--dev]. Use--devto add a development only dependency. - Lint:
uv run ruff check [--fix] - Type check:
uv run ty check - Format:
uv run ruff format - Tests:
- Run tests in parallel on all available cores:
uv run pytest - Run tests serially:
uv run pytest -n 0
- Run tests in parallel on all available cores:
To reformat a large archive we parallelize work across multiple cloud servers. See docs/cluster_setup.md.