Skip to content

[upstream candidate] Earthmover ERA5 cutout tier - #2

Open
mark-hammond wants to merge 2 commits into
masterfrom
feat/earthmover-era5
Open

[upstream candidate] Earthmover ERA5 cutout tier#2
mark-hammond wants to merge 2 commits into
masterfrom
feat/earthmover-era5

Conversation

@mark-hammond

Copy link
Copy Markdown

Staging PR on our fork (NOT yet sent to andrewlyden/PyPSA-GB).

Adds an opt-in cutout tier that builds from the public Arraylake ERA5 dataset (earthmover-public/era5) — reads only the GB box, no ~700 MB download, any year 1940-present. Tried before Zenodo; auto-skipped when the optional deps/credentials are absent (base install unchanged). Validated end-to-end via our overlay tool (built a 2020 GB cutout, 807 MB, full atlite variable set); earthmover-public/era5 confirmed same schema/vars/chunking.

Optional deps: arraylake, zarr>=3, icechunk, pcodec, numcodecs + a free Arraylake account.
Follow-up: propose a native atlite.datasets backend (cleaner than the retrieve_data swap).

Promote upstream when ready: retarget base to andrewlyden/PyPSA-GB:master.

New opt-in acquisition tier that builds cutouts directly from the public Arraylake
ERA5 dataset (earthmover-public/era5): reads only the GB box for the requested year,
so there is no per-year download and any year 1940-present is available. Tried before
Zenodo; skipped automatically when the optional deps (arraylake/zarr3/icechunk/pcodec)
or Arraylake credentials are absent, so the base install is unchanged.

scripts/utilities/earthmover_cutout.py swaps atlite's era5 retrieve_data for one that
slices the Earthmover store, reusing atlite's feature maths + cutout schema. Wired into
acquire_cutout/prepare_cutouts; config + docs added.
Load each (month, box) slice in the main thread instead of a lazy single-chunk, so the
full-year tile decompression is released per request rather than coexisting under the
synchronous scheduler. Keeps a cutout build within a few GB.
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