Small, precise fixes for climate data.
Woodpecker checks, previews, and applies known climate-data fixes through a small Python API, CLI, and recipe system. Use it when a dataset needs a documented repair before it enters a larger processing workflow.
flowchart LR
D["Dataset"] --> C["check"]
C --> F["findings"]
F --> R["recipe or fix id"]
R --> P["dry-run preview"]
P --> A["apply"]
conda env create -f environment.yml
conda activate woodpecker
make dev
woodpecker list-recipesRun a discovered recipe:
import woodpecker
recipe = woodpecker.recipe.get("cmip6.core_units")
findings = woodpecker.recipe.check(dataset, recipe)
if findings:
woodpecker.recipe.apply(dataset, recipe, dry_run=True).preview
woodpecker.recipe.apply(dataset, recipe, dry_run=False)From the command line:
woodpecker check ./data --recipe-id cmip6.core_units
woodpecker apply ./data --recipe-id cmip6.core_units --dry-runUse woodpecker.apply(...), woodpecker.recipe.apply(...), and
woodpecker apply ... for applying selected changes.
woodpecker/: core API, CLI, recipes, fixes, stores, and results.plugins/: bundled dataset-family plugins.docs/: MkDocs pages and generated references.tests/: unit and integration tests.scripts/: docs and catalog generators.
make format
make lint
make test
make docsWoodpecker is licensed under the terms in LICENSE.