From 0bfc002d1895ebdd5119d710aecea34d13227684 Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@nibio.no>
Date: Thu, 4 Apr 2024 10:13:30 +0200
Subject: [PATCH] Add risk maps

---
 README.md          |   5 ++
 install_vipsweb.sh |   2 +
 local_settings.py  | 125 ++++++++++++++++++++++++++++-----------------
 3 files changed, 84 insertions(+), 48 deletions(-)

diff --git a/README.md b/README.md
index 1a5e20b..5776ca0 100644
--- a/README.md
+++ b/README.md
@@ -6,6 +6,11 @@ Subsystems included:
 * VIPSLogic with database
 * VIPSCore with a selection of VIPS Models
 
+**External services dependencies**: The container expects these "static" risk map WMSs to be available
+* Carrot rust fly risk map: https://gridweb.vips.nibio.no/cgi-bin/PSILARTEMP_DEMO?service=WMS&version=1.3.0&request=GetCapabilities&language=nb
+* Naerstad's potato late blight model risk map: https://gridweb.vips.nibio.no/cgi-bin/NAERSTADMO_DEMO?service=WMS&version=1.3.0&request=GetCapabilities&language=nb
+
+
 # Configuring
 ## DemoVIPS date
 The date is set when running the container (see below).
diff --git a/install_vipsweb.sh b/install_vipsweb.sh
index d4db0ec..2576524 100644
--- a/install_vipsweb.sh
+++ b/install_vipsweb.sh
@@ -10,6 +10,8 @@ cp ~/local_settings.py VIPSWeb/
 
 cp ~/default.sqlite3 VIPSWeb/
 pip install -r requirements.txt
+python manage.py compilemessages
 mkdir static
 python manage.py collectstatic --no-input
 
+
diff --git a/local_settings.py b/local_settings.py
index a93d45e..14ac7d6 100644
--- a/local_settings.py
+++ b/local_settings.py
@@ -137,6 +137,14 @@ SITE_OWNER_NAME = {
                    }
 SITE_OWNER_URL = "https://www.nibio.no/"
 
+# Risk maps settings
+WMS_SERVER_URL = "https://gridweb.vips.nibio.no/cgi-bin/"
+AVAILABLE_GRID_MODELS = [
+      {"model_id":"PSILARTEMP", "model_name": {"nb":"Gulrotflue svermetidspunktmodell", "en":"Carrot rust fly (Psila rosae) temperature model"}, "url": "%sPSILARTEMP_DEMO" % WMS_SERVER_URL},
+      {"model_id":"NAERSTADMO", "model_name": {"nb":"Nærstads modell", "en":"Nærstad's potato late blight model"}, "url": "%sNAERSTADMO_DEMO" % WMS_SERVER_URL}
+      ]
+
+
 # OpenLayers Map initial configuration
 # Longitude and latitude in WGS84 format
 # See http://en.wikipedia.org/wiki/World_Geodetic_System#A_new_World_Geodetic_System:_WGS_84
@@ -167,61 +175,82 @@ CROP_GROUPS=[
 
 MAIN_MENU=[
     {"url":"/forecasts", "label": "Forecasts"},
+    {
+        "label": _("Risk maps"),
+        "child_items": [
+            {
+                "url": "/spatial",
+                "label": _("About risk maps"),
+            },
+            {
+                "url": "/spatial/gridmap/NAERSTADMO/",
+                "label": _("Naerstad Late Blight Model"),
+            },
+            {
+                "url": "/spatial/gridmap/PSILARTEMP/",
+                "label": _("Carrot rust fly temperature model"),
+            }
+        ],
+    },
     {"url":"/observations","label":"Observations"},
     {"url":"/messages", "label": "Messages"}
 ]
 
 # 12 % Number of columns must be 0 (12 needs to be divisible by number of columns)
 FRONTPAGE_MENU=[
-   {
-        "label": _("Cereals and oilseeds"),
-        "items":[
-                    {"url":"http://vipsugras.ipmwise.com/", "label": "Ugras i korn"},
-                    {"url":"http://gamlevips.nibio.no/warning/wa261s.jsp?modellId=4&lovligVarselId=127", "label": u"Bladflekksjukdommer i v&aring;rhvete"},
-                    {"url":"http://gamlevips.nibio.no/warning/wa261s.jsp?modellId=4&lovligVarselId=126", "label": u"Bladflekksjukdommer i h&oslash;sthvete"},
-                    {"url":"/blotch/septoriahumidity","label":"<span class='inverseSign'>TEST</span> Fuktmodell bladflekksjukdommer i hvete</span>"},
-                    {"url":"/blotch/barleynetblotch/", "label": "Byggbrunflekk"},
-                    {"url":"/messages/176/","label":"<span class='inverseSign'>TEST</span> Ny byggbrunflekkmodell: FinBladflekk"},
-		    {"url":"/fusarium/","label": "Blomstringsmodell i havre"},
-          {"url":"http://gamlevips.nibio.no/warning/wa240s.jsp", "label": u"Storknolla r&aring;tesopp"},
-		    {"url":"/information/12/#rapsglansbille","label":"Skadedyr i korn og oljevekster"},
-        ]
-    },
-    {
-        "label": _("Potato and vegetables"),
-        "items":[
-                    {"url":"https://web05.agro.au.dk/PotatoLateBlightToolbox/Show/SurveyByCountry.aspx?Country=NO", "label": u"EuroBlight: Tidlige funn av t&oslash;rr&aring;te"},
-		    {"url":"/information/12/#potetsikade","label":"Potetsikade"},
-        ]
-    },
-    {
-        "label": _("Fruits and berries"),
-        "items":[
-            {"url":"/information/12/#RimproEpleskurv", "label": "RIMPro (epleskurv, eplevikler)"},
-			{"url":"/cydiapomonella", "label": "Eplevikler"},
-		       {"url":"/applefruitmoth/", "label": u"Rogneb&aelig;rm&oslash;ll"},
-             {"url":"http://das.smartcampo.com", "label": u"Strawberry Advisory System (gr&aring;skimmel)"},
-        ]
-    },
     {
-        "label": _("Other models and services"),
-        "items":[
-			{"url": "/mobil", "label": "VIPS Mobil"},
-		       {"url":"https://lmtweb02.nibio.no/vatning/index.php?valgt_stasjon=5&type=360", "label":"Vanning"},
-             {"url":"https://lmt.nibio.no/irrigation/", "label":"Beregning av vanningsbalanse"},
-		       {"url":"https://lmt.nibio.no/information/6/", "label":"Varmesum og nedb&oslash;rsmengde"},
-		       {"url":"https://lmt.nibio.no/agrometbase/ncalc","label":"Kalkulator for opptak og utvasking av nitrogen"},
-             {"url":"https://lmt.nibio.no/husdyrn/","label":"Nitrogenkalkulator for husdyrgj&oslash;dsel"},
-                       {"url":"/roughage/nutrition/", "label": u"Grovf&ocirc;rmodellen"},
-                       {"url":"/information/30/", "label": u"Spr&oslash;yteteknikk"},
-			{"url":"https://www.nibio.no/tema/plantehelse/integrert-plantevern", "label":"Informasjon om integrert plantevern"},
-		       {"url":"https://lmt.nibio.no/", "label":"LandbruksMeteorologisk Tjeneste (LMT)"},
-                       {"url":"https://www.plantevernguiden.no/", "label": u"Plantevernguiden"},
-                       {"url":"https://leksikon.nibio.no/", "label": u"Plantevernleksikonet"},
-                       {"url":"https://www.nibio.no/tjenester/synops-web-norge", "label": u"SYNOPS WEB Norge"}
-        ]
-    }
-]
+         "label": _("Cereals and oilseeds"),
+         "items":[
+                     {"url":"http://vipsugras.ipmwise.com/", "label": "VIPS Ugras"},
+                     {"url":"/forecasts/models/LEAFBLOTCH/","label":"Bladflekker i v&aring;rhvete - risikomodell"},
+                     {"url":"/blotch/septoriahumidity","label":"Bladflekker i korn - fuktmodell"},
+                     {"url":"/blotch/barleynetblotch/", "label": "Byggbrunflekk - Elens modell"},
+                     {"url":"/forecasts/models/FINNCEREAL/","label":"Byggbrunflekk - FinBladflekkmodellen"},
+                     {"url":"/fusarium/","label": "Blomstringsmodell i havre"},
+                     {"url":"/information/12/#rapsglansbille","label":"Skadedyr i korn og oljevekster"},
+                     {"url":"/information/33/","label":"DON (mykotoksin) i havre - risiko"},
+                     {"url":"https://www.vips-landbruk.no/messages/244/", "label": u"<span class='inverseSign'>UTG&Aring;TT</span> <em>Bladflekksjukdommer i v&aring;rhvete</em>"},
+                     {"url":"https://www.vips-landbruk.no/messages/244/", "label": u"<span class='inverseSign'>UTG&Aring;TT</span> <em>Bladflekksjukdommer i h&oslash;sthvete</em>"},
+                     {"url":"https://www.vips-landbruk.no/messages/244/", "label": u"<span class='inverseSign'>UTG&Aring;TT</span> <em>Storknolla r&aring;tesopp</em>"},
+         ]
+     },
+     {
+         "label": _("Potato and vegetables"),
+         "items":[
+                     {"url":"https://agro.au.dk/forskning/internationale-platforme/euroblight/late-blight-survey-mapper", "label": u"EuroBlight: Tidlige funn av t&oslash;rr&aring;te"},
+                     {"url":"/observations/?from=2023-01-01&to=2023-12-31&pestId=14&cropId=5&cropCategoryId=2&includeNegative=true", "label":u"Tidlige t&oslash;rr&aring;tefunn i Norge"},
+             {"url":"/information/12/#potetsikade","label":"Potetsikade"},
+         ]
+     },
+     {
+         "label": _("Fruits and berries"),
+         "items":[
+             {"url":"/information/12/#RimproEpleskurv", "label": "RIMPro (epleskurv, eplevikler)"},
+             {"url":"/cydiapomonella", "label": "Eplevikler"},
+                {"url":"/applefruitmoth/", "label": u"Rogneb&aelig;rm&oslash;ll"},
+              {"url":"http://das.smartcampo.com", "label": u"Strawberry Advisory System (gr&aring;skimmel)"},
+         ]
+     },
+     {
+         "label": _("Other models and services"),
+         "items":[
+                {"url":"https://lmtweb02.nibio.no/vatning/index.php?valgt_stasjon=5&type=360", "label":"Vanning"},
+              {"url":"https://lmt.nibio.no/irrigation/", "label":"Beregning av vanningsbalanse"},
+                {"url":"https://lmt.nibio.no/information/6/", "label":"Varmesum og nedb&oslash;rsmengde"},
+                {"url":"https://lmt.nibio.no/agrometbase/ncalc","label":"Kalkulator for opptak og utvasking av nitrogen"},
+              {"url":"https://lmt.nibio.no/husdyrn/","label":"Nitrogenkalkulator for husdyrgj&oslash;dsel"},
+                        {"url":"/roughage/nutrition/", "label": u"Grovf&ocirc;rmodellen"},
+                        {"url":"/information/30/", "label": u"Spr&oslash;yteteknikk"},
+             {"url":"https://www.nibio.no/tema/plantehelse/integrert-plantevern", "label":"Informasjon om integrert plantevern"},
+                {"url":"https://lmt.nibio.no/", "label":"LandbruksMeteorologisk Tjeneste (LMT)"},
+                        {"url":"https://www.plantevernguiden.no/", "label": u"Plantevernguiden"},
+                        {"url":"https://leksikon.nibio.no/", "label": u"Plantevernleksikonet"},
+                        {"url":"https://www.nibio.no/tjenester/synops-web-norge", "label": u"SYNOPS WEB Norge"},
+                        {"url":"/mobil", "label": u"VIPS Mobil"}
+         ]
+     }
+ ]
+
 
 # Text and formatting (HTML) for the footer to be
 # shown on all web pages. Language code must be specified
-- 
GitLab