Introducing Open Climate Service: open, self-hosted climate and Earth observation data infrastructure

Climate and Earth observation data are increasingly important for health planning, early warning, forecasting, and research. But using these datasets often means working across different providers, formats, APIs, spatial grids, and update cycles.

The Open Climate Service (OCS) is an open-source project that makes this easier. It provides a consistent way to ingest, manage, process, and publish climate, Earth observation, and related datasets for a specific country or region.

In practice: a country team sets up one service that keeps a national rainfall, temperature, or population dataset updated, and serves it to DHIS2 Maps, the DHIS2 Climate app, and CHAP — so each of those applications doesn’t have to build its own integration with every upstream data provider.

An OCS instance can currently:

  • Access datasets such as CHIRPS precipitation, ERA5-Land climate data, and WorldPop population data.
  • Limit ingestion and storage to a configured country or regional extent.
  • Harmonise and store datasets as standards-based GeoZarr (chunked Zarr v3).
  • Publish data through open interfaces including STAC, Zarr over HTTP, and openEO.
  • Run reusable processing workflows, including spatial aggregation to administrative or health-service areas.
  • Automatically keep datasets up to date on a schedule, and trigger workflows when a dataset is updated.
  • Produce DHIS2-ready data value set JSON and CHAP-ready CSV outputs.
  • Support additional national or project-specific datasets, processes, and workflows through plugins.

OCS is designed to complement DHIS2 Maps and the Climate app while remaining independent of DHIS2. It can be deployed locally, in the cloud, or on national infrastructure, so countries and organisations keep control over their data and deployment choices — and can reduce dependence on external hosted Earth observation backends.

The broader goal is a reusable climate-data infrastructure layer that can serve DHIS2 applications, CHAP, GIS tools, analytical notebooks, and other systems.

Who might find it useful?

We would particularly like to hear from:

  • HISP groups and DHIS2 implementers working with climate and health data.
  • Ministries and national teams exploring climate-informed health services.
  • CHAP users and modelling teams.
  • GIS and Earth observation specialists.
  • Developers interested in adding datasets, analytical processes, or reusable workflows.
  • Projects that already have concrete climate-data integration challenges or national data sources.

Project status

OCS is under active development. APIs and data models may still change, and we are currently refining deployment, scheduling, workflow automation, and integration patterns. Community feedback at this stage is especially valuable.

Learn more and try it

We would welcome feedback on

  • Which climate, environmental, population, or forecast datasets are most important in your context?
  • Which DHIS2 or CHAP workflows should we prioritise?
  • Are you already maintaining national or regional datasets that could be exposed through an OCS plugin?
  • Would you be interested in testing an OCS instance or contributing to its development?

Getting involved

Please share your questions, use cases, and ideas in this thread — we would be very interested in learning what would make the Open Climate Service useful in real country implementations. For specific feature requests or technical issues, feel free to follow the usual DHIS2 way-of-work (a Jira ticket or a direct email); for wider discussion, this CoP thread is the best place.

6 Likes

Is it possible to add a login option for the Copernicus CDS directly on data sources that need it (e.g. esacci_landcover_class_yearly)? Users could sign in or paste their CDS token in the app, so implementers who can’t edit the server config could still ingest data. A “connected / not connected” status next to the Ingest button would also help.

1 Like

Hi Krishna,

Thanks for raising this—especially the point about implementers who cannot edit the server configuration. A clear “ready / action required” status beside the Ingest button would make setup and troubleshooting much easier.

One important distinction is that OCS ingests data at the instance level, for its configured geographical extent. Credentials for upstream data providers (such as Copernicus CDS) would therefore be managed at the OCS instance level, rather than separately for each user. Once a dataset has been ingested, OCS can make it available to other users, clients, and workflows without requiring them to authenticate with the upstream provider.

I see two useful improvements here:

  1. Data-source readiness and ingestion status: Show whether credentials are required and configured, whether access to the upstream provider has been validated, and the outcome of the latest ingestion or sync.

  2. Instance-level credential management: Longer term, explore allowing authorized OCS administrators to securely configure or rotate credentials for upstream data providers through the interface, rather than requiring changes to the server configuration. This would depend on appropriate access controls and secure secret storage. Until then, credentials should remain server-managed.

So I agree with the practical need, but would frame this primarily as an instance administration and data-source observability improvement, rather than per-user authentication with individual data providers.

This would preserve OCS’s shared-data model while making it easier to configure, operate, and extend to additional data sources.