Skip to content

feat: tutorial dataset system with xarray.tutorial-like API#254

Closed
pgierz wants to merge 1 commit intoprep-releasefrom
future/feat/tutorial-system
Closed

feat: tutorial dataset system with xarray.tutorial-like API#254
pgierz wants to merge 1 commit intoprep-releasefrom
future/feat/tutorial-system

Conversation

@pgierz
Copy link
Copy Markdown
Member

@pgierz pgierz commented Mar 27, 2026

Summary

  • Add tutorial loader with entry-point model discovery (pycmor.tutorial.open_dataset())
  • Add stub data generator from YAML manifests
  • Add data fetcher with pooch-based caching
  • Add AWICM-RECOM as built-in tutorial dataset with registry and stub manifest
  • Add tutorial unit tests
  • Add documentation for model fixture development and plugin architecture

Context

Part of the future/workbench disentanglement. Provides an xarray.tutorial-like interface for loading example climate model datasets. Users and tests can import pycmor.tutorial and load registered model data without manual path wrangling.

Test plan

  • CI passes on this branch
  • tests/unit/test_tutorial.py passes
  • Tutorial loader discovers registered datasets
  • Stub data generation from YAML manifests works

🤖 Generated with Claude Code

- Add tutorial loader with entry-point model discovery
- Add stub data generator from YAML manifests
- Add data fetcher with pooch-based caching
- Add AWICM-RECOM as built-in tutorial dataset
- Add tutorial unit tests
- Add documentation for model fixture development
@pgierz
Copy link
Copy Markdown
Member Author

pgierz commented Mar 30, 2026

Merged into #253 -- these two features have circular dependencies (test-infrastructure needs tutorial datasets, tutorial tests need entry-point model discovery) and must ship together.

@pgierz pgierz closed this Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant