Skip to content

Host and retrieve land cover data on/from Zenodo#16

Merged
koen-vg merged 2 commits into
Sustainable-Solutions-Lab:mainfrom
koen-vg:feat/zenodo-land-cover-mirror
Jun 30, 2026
Merged

Host and retrieve land cover data on/from Zenodo#16
koen-vg merged 2 commits into
Sustainable-Solutions-Lab:mainfrom
koen-vg:feat/zenodo-land-cover-mirror

Conversation

@koen-vg

@koen-vg koen-vg commented Jun 30, 2026

Copy link
Copy Markdown
Member

This PR moves ESA land cover data to Zenodo; avoids the need for new users to set up their own Copernicus API key.

koen-vg added 2 commits June 30, 2026 15:31
The only CDS/ECMWF dependency was the satellite-land-cover download. The
2016+ C3S land-cover maps (baseline_year 2020) are CC-BY-4.0, so we now
mirror the extracted lccs_class to Zenodo and fetch it with curl, removing
the per-user Copernicus credential from all builds.

- download_land_cover becomes a curl rule pulling the lccs_class file from
  the Zenodo record pinned by data.land_cover.zenodo_record (10.5281/
  zenodo.21085632); extract_land_cover_class and the 2.2GB zip step are gone.
- credentials gate now requires only usda (schema, secrets.py,
  secrets.yaml.example, solve_namespace validation stub, CI stubs).
- add tools/zenodo_publish.py (reusable Zenodo REST publisher) and
  tools/mirror_land_cover.py (CDS download -> extract -> publish, with
  --no-publish review drafts and --publish-record finalize). The former
  download/extract scripts are kept as the library functions these import.
- docs: data_sources.rst (CC-BY-4.0, Zenodo retrieval, redistributing-
  datasets section), introduction.rst, development.rst.
Drop references to the old Copernicus API-key requirement from config and
docstring comments so they describe only the current Zenodo-mirror flow. The
ecmwf-datastores-client is now used solely by tools/mirror_land_cover.py (run
under the dev env), so move it out of the default build dependencies.
@koen-vg koen-vg merged commit cebfb03 into Sustainable-Solutions-Lab:main Jun 30, 2026
4 checks passed
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