This project is based on the Open Climate Service and is intended solely as an example of how Open Climate Service can be adapted for a national context (here, Norwegian climate data). It is not a production service, but a demonstration of adaptation and integration principles.
This repository provides tools and scripts for downloading, processing, and serving Norwegian climate data, including daily temperature and precipitation from the SeNorge dataset.
-
Clone the repository:
git clone https://github.com/MasterMaps/norway-climate-service.git cd norway-climate-service -
Install dependencies: It is recommended to use uv for dependency management.
uv sync
This will create a
.venvand install all dependencies as specified inpyproject.tomlanduv.lock. If you usemake install, it will also runuv syncfor you.
You can run this instance following the official Open Climate Service pattern:
-
Install dependencies:
make install
-
Start the API/service:
make run
This will start the API (by default at http://localhost:8000). Visit /extent to confirm the API is running and returning your configured bounding box. The OpenAPI/Swagger UI is typically available at /docs.
Once the service is running, you can ingest data by making a POST request to the ingestion endpoint (e.g., /ingestions).
Example using curl:
curl -X POST http://localhost:8000/ingestions \
-H "Content-Type: application/json" \
-d '{
"dataset": "senorge_temperature_daily",
"source": "data/downloads/senorge_temperature_daily_1990-01.nc"
}'