From b520b03effb2d5c11d8caa304a949c504dab6031 Mon Sep 17 00:00:00 2001
From: lewa <lene.wasskog@nibio.no>
Date: Thu, 8 Feb 2024 16:05:47 +0100
Subject: [PATCH] feat: Add Open-Meteo datasource

---
 weather_datasources.yaml | 111 +++++++++++++++++++++++++++------------
 1 file changed, 78 insertions(+), 33 deletions(-)

diff --git a/weather_datasources.yaml b/weather_datasources.yaml
index 4cd2014..4389ea9 100644
--- a/weather_datasources.yaml
+++ b/weather_datasources.yaml
@@ -2,13 +2,13 @@
 # (c) 2021 Tor-Einar Skog <tor-einar.skog@nibio.no>
 ---
 datasources:
-  - 
+  -
     id: no.met.locationforecast
     name: "Met Norway Locationforecast"
     description: "9-day forecasts for the entire planet. 2.5 km resolution in the Nordic-Baltic region, 9km elsewhere"
     public_URL: "https://api.met.no/weatherapi/locationforecast/1.9/documentation"
     priority: 0 # From 0 (lowest) - 10 (highest) When more than one datasource relevant, use this value for prioritization
-    organization: 
+    organization:
       name: The Norwegian Meteorological Institute
       country: Norway
       address: Postboks 43 Blindern
@@ -27,7 +27,7 @@ datasources:
       intervals: # Array of accepted interval requests
         - 3600
     access_type: location
-    spatial: 
+    spatial:
       # Using country codes to get GeoJSON. Saves a lot of duplication.
       # ISO-3166-1 Three-letter country codes https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes
       # e.g.
@@ -35,20 +35,20 @@ datasources:
       # - SWE
       countries: null
       # "Sphere" simply means the whole globe (NOT part of GEOJson spec!)
-      geoJSON: |- 
+      geoJSON: |-
         {"type": "Sphere"}
     parameters:
       common:
-       - 1001 # Instantaneous temperature at 2m (Celcius)
-       - 3001 # Instantaneous RH at 2m (%)
-       - 2001 # Precipitation (mm)
-       - 4002 # Instantaneous wind speed at 2m
+        - 1001 # Instantaneous temperature at 2m (Celcius)
+        - 3001 # Instantaneous RH at 2m (%)
+        - 2001 # Precipitation (mm)
+        - 4002 # Instantaneous wind speed at 2m
   -
     id: no.nibio.mockweatherdatasource
     name: "Mock Weather Data Source"
     description: "Placeholder datasource providing same data for all locations and periods"
     public_URL: https://test.madiphs.org/mwds/
-    organization: 
+    organization:
       name: NIBIO
       country: Norway
       address: Høgskoleveien 7
@@ -70,26 +70,26 @@ datasources:
     access_type: location
     spatial:
       countries: null
-      geoJSON: |- 
+      geoJSON: |-
         {"type": "Sphere"}
     parameters:
       common:
-       - 1002 # Average temperature at 2m (Celcius)
-       - 1003 # Minimum temperature at 2m (Celcius)
-       - 1004 # Maximum temperature at 2m (Celcius)
-       - 1112 # Soil temp 10cm
-       - 2001 # Precipitation (mm)
-       - 3002 # Average RH at 2m (%)
-       - 3101 # Leaf wetness
-       - 4002 # Instantaneous wind speed at 2m
-       - 4003 # Mean wind speed at 2m
-       - 5001 # Global radiation (w/sqm)
+        - 1002 # Average temperature at 2m (Celcius)
+        - 1003 # Minimum temperature at 2m (Celcius)
+        - 1004 # Maximum temperature at 2m (Celcius)
+        - 1112 # Soil temp 10cm
+        - 2001 # Precipitation (mm)
+        - 3002 # Average RH at 2m (%)
+        - 3101 # Leaf wetness
+        - 4002 # Instantaneous wind speed at 2m
+        - 4003 # Mean wind speed at 2m
+        - 5001 # Global radiation (w/sqm)
   -
     id: org.tahmo
     name: "Tahmo weather stations"
     description: "Tahmo weather stations network"
     public_URL: https://tahmo.org/
-    organization: 
+    organization:
       name: Tahmo
       country: Kenya
       address: P.O. Box 25969-00100
@@ -109,19 +109,64 @@ datasources:
         - 3600
     access_type: stations
     spatial:
-      countries: 
+      countries:
         - MWI
-      geoJSON: |- 
+      geoJSON: |-
         {"type": "FeatureCollection", "features": [{"type": "Feature", "id": "TA00321", "geometry": {"type": "Point", "coordinates": ["35.21617", "-15.903429"]}, "properties": {"name": "MUST", "id": "TA00321"}}, {"type": "Feature", "id": "TA00322", "geometry": {"type": "Point", "coordinates": ["34.85131", "-15.447727"]}, "properties": {"name": "Lisungwi EPA", "id": "TA00322"}}, {"type": "Feature", "id": "TA00323", "geometry": {"type": "Point", "coordinates": ["34.87006", "-15.670962"]}, "properties": {"name": "Kunthembwe EPA", "id": "TA00323"}}, {"type": "Feature", "id": "TA00324", "geometry": {"type": "Point", "coordinates": ["35.28069", "-15.758669"]}, "properties": {"name": "Mombezi Agriculture", "id": "TA00324"}}, {"type": "Feature", "id": "TA00325", "geometry": {"type": "Point", "coordinates": ["34.97091", "-15.488575"]}, "properties": {"name": "Namikasi", "id": "TA00325"}}, {"type": "Feature", "id": "TA00327", "geometry": {"type": "Point", "coordinates": ["35.1033", "-16.583949"]}, "properties": {"name": "Bagnula", "id": "TA00327"}}, {"type": "Feature", "id": "TA00329", "geometry": {"type": "Point", "coordinates": ["35.35609", "-15.916054"]}, "properties": {"name": "Thuchila Agriculture", "id": "TA00329"}}, {"type": "Feature", "id": "TA00330", "geometry": {"type": "Point", "coordinates": ["35.24139", "-15.75662"]}, "properties": {"name": "Thumbwe Agriculture", "id": "TA00330"}}, {"type": "Feature", "id": "TA00331", "geometry": {"type": "Point", "coordinates": ["35.043804", "-15.763918"]}, "properties": {"name": "Ndirande Secondary School", "id": "TA00331"}}, {"type": "Feature", "id": "TA00332", "geometry": {"type": "Point", "coordinates": ["35.320676", "-15.689893"]}, "properties": {"name": "Milepa Agriculture", "id": "TA00332"}}, {"type": "Feature", "id": "TA00351", "geometry": {"type": "Point", "coordinates": ["34.9765", "-14.71191"]}, "properties": {"name": "Chilip\u00e5 Agriculture", "id": "TA00351"}}, {"type": "Feature", "id": "TA00353", "geometry": {"type": "Point", "coordinates": ["34.115317", "-14.166357"]}, "properties": {"name": "Linthipe Agriculture", "id": "TA00353"}}, {"type": "Feature", "id": "TA00361", "geometry": {"type": "Point", "coordinates": ["33.579343", "-10.948273"]}, "properties": {"name": "Mwazisi", "id": "TA00361"}}, {"type": "Feature", "id": "TA00362", "geometry": {"type": "Point", "coordinates": ["33.996286", "-12.244702"]}, "properties": {"name": "Dwambazi Agriculture", "id": "TA00362"}}, {"type": "Feature", "id": "TA00363", "geometry": {"type": "Point", "coordinates": ["33.773147", "-9.593626"]}, "properties": {"name": "Songwe Water Board", "id": "TA00363"}}, {"type": "Feature", "id": "TA00367", "geometry": {"type": "Point", "coordinates": ["33.604265", "-11.286344"]}, "properties": {"name": "Mpherembe Agriculture", "id": "TA00367"}}, {"type": "Feature", "id": "TA00368", "geometry": {"type": "Point", "coordinates": ["34.046081", "-11.425561"]}, "properties": {"name": "Lunyangwa Research Station", "id": "TA00368"}}, {"type": "Feature", "id": "TA00369", "geometry": {"type": "Point", "coordinates": ["33.4266215", "-11.4542682"]}, "properties": {"name": "Euthini Agriculture", "id": "TA00369"}}, {"type": "Feature", "id": "TA00375", "geometry": {"type": "Point", "coordinates": ["33.685373", "-13.032491"]}, "properties": {"name": "Kamuzu Academy", "id": "TA00375"}}, {"type": "Feature", "id": "TA00376", "geometry": {"type": "Point", "coordinates": ["33.598781", "-12.33256"]}, "properties": {"name": "Champhira Agriculture", "id": "TA00376"}}, {"type": "Feature", "id": "TA00390", "geometry": {"type": "Point", "coordinates": ["34.585986", "-13.673076"]}, "properties": {"name": "Lifuwu Research", "id": "TA00390"}}, {"type": "Feature", "id": "TA00601", "geometry": {"type": "Point", "coordinates": ["33.907593", "-14.080148"]}, "properties": {"name": "Nathenje", "id": "TA00601"}}, {"type": "Feature", "id": "TA00602", "geometry": {"type": "Point", "coordinates": ["34.614791", "-14.594091"]}, "properties": {"name": "Kandeu", "id": "TA00602"}}, {"type": "Feature", "id": "TA00636", "geometry": {"type": "Point", "coordinates": ["32.883259", "-13.799338"]}, "properties": {"name": "Mchinji EPA", "id": "TA00636"}}, {"type": "Feature", "id": "TA00637", "geometry": {"type": "Point", "coordinates": ["33.591361", "-14.206029"]}, "properties": {"name": "Katete Forest", "id": "TA00637"}}, {"type": "Feature", "id": "TA00638", "geometry": {"type": "Point", "coordinates": ["33.509056", "-13.170715"]}, "properties": {"name": "Lisasadzi", "id": "TA00638"}}, {"type": "Feature", "id": "TA00639", "geometry": {"type": "Point", "coordinates": ["34.492238", "-13.98426896"]}, "properties": {"name": "Chipoka Seconday School", "id": "TA00639"}}, {"type": "Feature", "id": "TA00640", "geometry": {"type": "Point", "coordinates": ["35.353814", "-14.045407"]}, "properties": {"name": "Ngapani", "id": "TA00640"}}, {"type": "Feature", "id": "TA00641", "geometry": {"type": "Point", "coordinates": ["33.388663", "-14.021556"]}, "properties": {"name": "Chileka", "id": "TA00641"}}, {"type": "Feature", "id": "TA00642", "geometry": {"type": "Point", "coordinates": ["34.886808", "-15.215661"]}, "properties": {"name": "Phalula", "id": "TA00642"}}]}
     parameters:
       common:
-       - 1002 # Average temperature at 2m (Celcius)
-       - 1112 # Soil temp 10cm
-       - 2001 # Precipitation (mm)
-       - 3002 # Average RH at 2m (%)
-       - 4001 # Wind direction at 2m (degrees 0-360)
-       - 4002 # Instantaneous wind speed at 2m
-       - 4003 # Mean wind speed at 2m
-       - 5001 # Global radiation (w/sqm)
-       
-    
+        - 1002 # Average temperature at 2m (Celcius)
+        - 1112 # Soil temp 10cm
+        - 2001 # Precipitation (mm)
+        - 3002 # Average RH at 2m (%)
+        - 4001 # Wind direction at 2m (degrees 0-360)
+        - 4002 # Instantaneous wind speed at 2m
+        - 4003 # Mean wind speed at 2m
+        - 5001 # Global radiation (w/sqm)
+  -
+    id: com.open-meteo
+    name: Open-Meteo
+    description: Seasonal weather data and forecasts for the entire world
+    public_URL: https://open-meteo.com/
+    priority: 1 # From 0 (lowest) - 10 (highest) When more than one datasource relevant, use this value for prioritization
+    organization:
+      name: Open-Meteo
+      country: Germany
+      address: Unknown
+      postal_code: "Unknown"
+      city: Unknown
+      email: info@open-meteo.com
+      url: https://open-meteo.com/
+    endpoint: "{WEATHER_API_URL}/rest/weatheradapter/openmeteo/"
+    authentication_type: NONE
+    needs_data_control: false
+    temporal:
+      historic:
+        start: "2020-01-01" # Start == null => No measured/historic/observational data
+        end: null #null => Recent data available (continuously updated) UNLESS OF COURSE start == null
+      forecast: 8 # 0 = no forecast. All other positive integers indicate the number of days ahead
+      intervals: # Array of accepted interval requests
+        - 3600
+        - 86400
+    access_type: location
+    spatial:
+      # Using country codes to get GeoJSON. Saves a lot of duplication.
+      # ISO-3166-1 Three-letter country codes https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes
+      # e.g.
+      # - DNK
+      # - SWE
+      countries: null
+      # "Sphere" simply means the whole globe (NOT part of GEOJson spec!)
+      geoJSON: |-
+        {"type": "Sphere"}
+    parameters:
+      common:
+        - 1001
+        - 1003
+        - 1004
+        - 1901
+        - 2001
+        - 3001
+        - 4012
+        - 5001
+
-- 
GitLab