diff --git a/spatial/static/spatial/js/slidingMap.js b/spatial/static/spatial/js/gridmap.js
similarity index 89%
rename from spatial/static/spatial/js/slidingMap.js
rename to spatial/static/spatial/js/gridmap.js
index 58186d06ab3becf8edea8d05d1400231b14d1042..0ea74e5e41f052d95b8071526c164969a3615713 100644
--- a/spatial/static/spatial/js/slidingMap.js
+++ b/spatial/static/spatial/js/gridmap.js
@@ -7,7 +7,7 @@ proj4.defs(
 let layers = [];
 
 let mapserverURL="https://testvips.nibio.no/cgi-bin/";
-let modelId = "SEPTREFHUM";
+let modelId = undefined;
 let today = "2023-04-10";
 let todayLayerIndex = undefined;
 let timestamps = undefined;
@@ -52,8 +52,8 @@ function getCurrentVisibleOLLayer()
 }
 
 
-async function initSlidingMap(lonLat, zoomLevel, mapAttribution) {
-
+async function initGridMap(inputModelId, lonLat, zoomLevel, mapAttribution) {
+    modelId = inputModelId;
     var backgroundLayer = new ol.layer.Tile({
 		source: new ol.source.OSM({
 			attributions: [
@@ -67,7 +67,18 @@ async function initSlidingMap(lonLat, zoomLevel, mapAttribution) {
     // Get layers from WMS service
     let parser = new ol.format.WMSCapabilities();
     let response = await fetch(mapserverURL + modelId + "?service=WMS&version=1.3.0&request=GetCapabilities");
-    let capabilities = parser.read(await response.text());
+    console.info(response.status); // Response is 200 even if a model doesn't exist on the mapserver
+    let txt = await response.text();
+    /*
+<HTML>
+<HEAD><TITLE>MapServer Message</TITLE></HEAD>
+<!-- MapServer version 7.6.4 OUTPUT=PNG OUTPUT=JPEG OUTPUT=KML SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=CAIRO SUPPORTS=SVG_SYMBOLS SUPPORTS=RSVG SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS SUPPORTS=POINT_Z_M SUPPORTS=PBF INPUT=JPEG INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE -->
+<BODY BGCOLOR="#FFFFFF">
+msLoadMap(): Unable to access file. (/disks/data01/mapserver/wms/SEPTREFFUM/SEPTREFFUM.map) <=== Security issue on the mapserver!!!
+</BODY></HTML>
+    */
+    console.info(txt);
+    let capabilities = parser.read(txt);
     let WMSLayers = capabilities.Capability.Layer.Layer;
     document.getElementById("modelTitle").innerHTML = capabilities.Service.Title;
     document.getElementById("modelAbstract").innerHTML = capabilities.Service.Abstract.replaceAll("\n\n","XXX");
diff --git a/spatial/templates/spatial/slidingMap.html b/spatial/templates/spatial/gridmap.html
similarity index 92%
rename from spatial/templates/spatial/slidingMap.html
rename to spatial/templates/spatial/gridmap.html
index 6e0d4ebd0396c7a7d192cbe9f8b7a664456821d0..b6c0d022606722171a4e887c9d9d3c3d70936b2b 100644
--- a/spatial/templates/spatial/slidingMap.html
+++ b/spatial/templates/spatial/gridmap.html
@@ -12,13 +12,13 @@
 <script type="text/javascript" src="{% static "js/3rdparty/moment.min.js" %}"></script>
 <script type="text/javascript" src="{% static "js/util.js" %}"></script>
 <script type="text/javascript" src="{% url "views.settings_js" %}"></script>
-<script type="text/javascript" src="{% static "spatial/js/slidingMap.js" %}"></script>
+<script type="text/javascript" src="{% static "spatial/js/gridmap.js" %}"></script>
 <script type="text/javascript">
 	$(document).ready(function() {
 		var longitude = {{settings.MAP_CENTER_LONGITUDE|unlocalize}};
 		var latitude = {{settings.MAP_CENTER_LATITUDE|unlocalize}};
 		var zoomLevel = {{settings.MAP_ZOOMLEVEL}};
-		initSlidingMap([longitude,latitude],zoomLevel,"{{settings.MAP_ATTRIBUTION|safe}}");
+		initGridMap("{{model_id}}",[longitude,latitude],zoomLevel,"{{settings.MAP_ATTRIBUTION|safe}}");
 	});
 </script>
 {% endblock %}
diff --git a/spatial/templates/spatial/index.html b/spatial/templates/spatial/index.html
index a13259eba27e916c21558b4179bbe0ae3c216efd..0919a042eae2cd80474e29aeffef2b95da4a7a2b 100644
--- a/spatial/templates/spatial/index.html
+++ b/spatial/templates/spatial/index.html
@@ -21,75 +21,21 @@
  
 {% endcomment %}
 {% load i18n l10n static forecast_extras template_helper %}
-{% block title%}{% trans "Welcome" %}{%endblock%}
-{% block customCSS %}
-<link rel="stylesheet" href="{% static "css/3rdparty/ol.css" %}" type="text/css">
-{% endblock %}
-{% block customJS %}
-<script type="text/javascript" src="{% url "javascript-catalog" %}"></script>
-<script type="text/javascript" src="{% static "js/3rdparty/ol.js" %}"></script>
-<script type="text/javascript" src="{% static "js/3rdparty/proj4.js" %}"></script>
-<script type="text/javascript" src="{% static "js/3rdparty/moment.min.js" %}"></script>
-<script type="text/javascript" src="{% static "js/util.js" %}"></script>
-<script type="text/javascript" src="{% url "views.settings_js" %}"></script>
-<script type="text/javascript" src="{% static "spatial/js/spatialMap.js" %}"></script>
-<script type="text/javascript">
-	$(document).ready(function() {
-		var longitude = {{settings.MAP_CENTER_LONGITUDE|unlocalize}};
-		var latitude = {{settings.MAP_CENTER_LATITUDE|unlocalize}};
-		var zoomLevel = {{settings.MAP_ZOOMLEVEL}};
-		initSpatialMap([longitude,latitude],zoomLevel,"{{settings.MAP_ATTRIBUTION|safe}}",'mapToday');
-		initSpatialMap([longitude,latitude],zoomLevel,"{{settings.MAP_ATTRIBUTION|safe}}",'mapTomorrow');
-	});
-</script>
-{% endblock %}
+{% block title%}{% trans "VIPS Spatial" %}{%endblock%}
 {% block content %}
-		<!-- Start map container -->
-		<div class="col-md-12" id="mapContainer">
-			<div class="row">
-				<div class="col-md-12">
-					<a href="https://www.vips-landbruk.no" class="btn btn-default" role="button">&lt;--- Tilbake til VIPS-offisiell</a>
-					<h1>Svermetidspunkt for gulrotflue - BETAversjon</h1>
-					<p>
-						Kartet viser beregnet <a href="https://www.vips-landbruk.no/forecasts/models/PSILARTEMP/" target="new">svermetidspunkt 
-						for gulrotflue 1. generasjon</a>. Varslene beregnes i rutenett a 1x1km basert på temperaturdata fra 
-						<a href="https://senorge.no/" target="new">SeNorge</a> 
-						og <a href="https://thredds.met.no/thredds/catalog/metpplatest/catalog.html" target="new">temperaturprognoser 
-						fra Meteorologisk institutt</a>. Det vises et kart for dagens dato og et for morgendagen. Varslene oppdateres 
-						en gang per døgn. Modellen for svermetidspunkt for gulrotflue beregnes også 
-						med data fra værstasjoner, hvor mer detaljerte beregninger kan hentes opp 
-						via visningen i kartet på VIPS-forsida.
-					</p>
-					<p>
-						Denne kartvisningen av grid-baserte varsler er resultat fra prosjektet "Grid-baserte varsler i VIPS",
-						finansiert av Landbruksdirektoratet gjennom Handlingsplan for bærekraftig bruk av plantevernmidler i 
-						2023. Videreutvikling av produktet vil skje høst/vinter 2023.  
-					</p>
-					<h2>Kartforklaring</h2>
-					<ul>
-						<li>Grønt - sverming har ikke begynt</li>
-						<li>Gult - svermingen er i startfasen, vær obs på at det kan komme innflyvere i åkeren.</li>
-						<li>Rødt - Svermingen er på sitt mest aktive.</li>
-						<li>Grå - sverming av 1. generasjon er over og varslingen er avsluttet </li>
-					</ul>
-					<a href="https://www.vips-landbruk.no" class="btn btn-default" role="button">&lt;--- Tilbake til VIPS-offisiell</a>
-				</div>
-			</div>
-			<div class="row" id="mapAndForecastRow" style="padding-bottom: 20px;">
-				<div class="col-md-6" id="mapToday" class="map" style="height: {{settings.MAP_HEIGHT}}px;">I dag</div>
-				<div class="col-md-6" id="mapTomorrow" class="map" style="height: {{settings.MAP_HEIGHT}}px;">I morgen</div>
-			</div><!-- End row  -->
-			
-			<div id="mapTodayInfo" class="featureInfo"></div>
-			<div id="mapTomorrowInfo" class="featureInfo"></div>
-			<div class="row">
-				<div class="col-md-12">
-					<h2>TESTING: Gjennomsiktighet av lag</h2>
-					<p>Vi prøver nå ut to ulike gjennomsiktigheter av varslingslaget, for å finne optimal kombinasjon av 
-						synlighet av varsel og mulighet for å finne ut hvor man er på kartet. Morgendagens varsel er mer 
-						gjennomsiktig enn dagens. Gi gjerne tilbakemelding om hvilken av disse to alternativene du foretrekker</p>
-				</div>
-			</div>
-		</div>
-
-{% endblock %}
\ No newline at end of file
+<h1>{% trans "VIPS Spatial" %}</h1>
+<p>VIPS spatial resources are listed below</p>
+<h2>VIPS grid map</h2>
+<p>
+    View results from VIPS models run on gridded weather data.
+    <ul>
+    {% for model in available_grid_models %}
+        <li><a href="gridmap/{{model.model_id}}">{{ model.model_name }}</a></li>
+    {% endfor %}
+    </ul>
+</p>
+<h2>Other resources</h2>
+<ul>
+    <li><a href="test/PSILARTEMP">Carrot rust fly map [TEST]</a></li>
+</ul>
+{% endblock %}
diff --git a/spatial/templates/spatial/psilartemp.html b/spatial/templates/spatial/psilartemp.html
new file mode 100644
index 0000000000000000000000000000000000000000..a13259eba27e916c21558b4179bbe0ae3c216efd
--- /dev/null
+++ b/spatial/templates/spatial/psilartemp.html
@@ -0,0 +1,95 @@
+{% extends "base.html" %}
+{% comment %}
+/*
+ * Copyright (c)2018 NIBIO <http://www.nibio.no/>. 
+ * 
+ * This file is part of VIPSWeb.
+ * VIPSWeb is free software: you can redistribute it and/or modify
+ * it under the terms of the NIBIO Open Source License as published by 
+ * NIBIO, either version 1 of the License, or (at your option) any
+ * later version.
+ * 
+ * VIPSWeb is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * NIBIO Open Source License for more details.
+ * 
+ * You should have received a copy of the NIBIO Open Source License
+ * along with VIPSWeb.  If not, see <http://www.nibio.no/licenses/>.
+ * 
+ */
+ 
+{% endcomment %}
+{% load i18n l10n static forecast_extras template_helper %}
+{% block title%}{% trans "Welcome" %}{%endblock%}
+{% block customCSS %}
+<link rel="stylesheet" href="{% static "css/3rdparty/ol.css" %}" type="text/css">
+{% endblock %}
+{% block customJS %}
+<script type="text/javascript" src="{% url "javascript-catalog" %}"></script>
+<script type="text/javascript" src="{% static "js/3rdparty/ol.js" %}"></script>
+<script type="text/javascript" src="{% static "js/3rdparty/proj4.js" %}"></script>
+<script type="text/javascript" src="{% static "js/3rdparty/moment.min.js" %}"></script>
+<script type="text/javascript" src="{% static "js/util.js" %}"></script>
+<script type="text/javascript" src="{% url "views.settings_js" %}"></script>
+<script type="text/javascript" src="{% static "spatial/js/spatialMap.js" %}"></script>
+<script type="text/javascript">
+	$(document).ready(function() {
+		var longitude = {{settings.MAP_CENTER_LONGITUDE|unlocalize}};
+		var latitude = {{settings.MAP_CENTER_LATITUDE|unlocalize}};
+		var zoomLevel = {{settings.MAP_ZOOMLEVEL}};
+		initSpatialMap([longitude,latitude],zoomLevel,"{{settings.MAP_ATTRIBUTION|safe}}",'mapToday');
+		initSpatialMap([longitude,latitude],zoomLevel,"{{settings.MAP_ATTRIBUTION|safe}}",'mapTomorrow');
+	});
+</script>
+{% endblock %}
+{% block content %}
+		<!-- Start map container -->
+		<div class="col-md-12" id="mapContainer">
+			<div class="row">
+				<div class="col-md-12">
+					<a href="https://www.vips-landbruk.no" class="btn btn-default" role="button">&lt;--- Tilbake til VIPS-offisiell</a>
+					<h1>Svermetidspunkt for gulrotflue - BETAversjon</h1>
+					<p>
+						Kartet viser beregnet <a href="https://www.vips-landbruk.no/forecasts/models/PSILARTEMP/" target="new">svermetidspunkt 
+						for gulrotflue 1. generasjon</a>. Varslene beregnes i rutenett a 1x1km basert på temperaturdata fra 
+						<a href="https://senorge.no/" target="new">SeNorge</a> 
+						og <a href="https://thredds.met.no/thredds/catalog/metpplatest/catalog.html" target="new">temperaturprognoser 
+						fra Meteorologisk institutt</a>. Det vises et kart for dagens dato og et for morgendagen. Varslene oppdateres 
+						en gang per døgn. Modellen for svermetidspunkt for gulrotflue beregnes også 
+						med data fra værstasjoner, hvor mer detaljerte beregninger kan hentes opp 
+						via visningen i kartet på VIPS-forsida.
+					</p>
+					<p>
+						Denne kartvisningen av grid-baserte varsler er resultat fra prosjektet "Grid-baserte varsler i VIPS",
+						finansiert av Landbruksdirektoratet gjennom Handlingsplan for bærekraftig bruk av plantevernmidler i 
+						2023. Videreutvikling av produktet vil skje høst/vinter 2023.  
+					</p>
+					<h2>Kartforklaring</h2>
+					<ul>
+						<li>Grønt - sverming har ikke begynt</li>
+						<li>Gult - svermingen er i startfasen, vær obs på at det kan komme innflyvere i åkeren.</li>
+						<li>Rødt - Svermingen er på sitt mest aktive.</li>
+						<li>Grå - sverming av 1. generasjon er over og varslingen er avsluttet </li>
+					</ul>
+					<a href="https://www.vips-landbruk.no" class="btn btn-default" role="button">&lt;--- Tilbake til VIPS-offisiell</a>
+				</div>
+			</div>
+			<div class="row" id="mapAndForecastRow" style="padding-bottom: 20px;">
+				<div class="col-md-6" id="mapToday" class="map" style="height: {{settings.MAP_HEIGHT}}px;">I dag</div>
+				<div class="col-md-6" id="mapTomorrow" class="map" style="height: {{settings.MAP_HEIGHT}}px;">I morgen</div>
+			</div><!-- End row  -->
+			
+			<div id="mapTodayInfo" class="featureInfo"></div>
+			<div id="mapTomorrowInfo" class="featureInfo"></div>
+			<div class="row">
+				<div class="col-md-12">
+					<h2>TESTING: Gjennomsiktighet av lag</h2>
+					<p>Vi prøver nå ut to ulike gjennomsiktigheter av varslingslaget, for å finne optimal kombinasjon av 
+						synlighet av varsel og mulighet for å finne ut hvor man er på kartet. Morgendagens varsel er mer 
+						gjennomsiktig enn dagens. Gi gjerne tilbakemelding om hvilken av disse to alternativene du foretrekker</p>
+				</div>
+			</div>
+		</div>
+
+{% endblock %}
\ No newline at end of file
diff --git a/spatial/urls.py b/spatial/urls.py
index 8b214f93c0ae9b7d5053efbfe9e28e44cb7bf9af..15f7a9bc68b4b11bffe9d1d2e34a41126f87f60c 100644
--- a/spatial/urls.py
+++ b/spatial/urls.py
@@ -6,5 +6,6 @@ app_name='spatial'
 
 urlpatterns = [
     re_path(r'^$', views.index, name='index'),
-    re_path(r'slidingmap/', views.slidingmap, name='slidingmap'),
+    re_path(r'test/PSILARTEMP$', views.psilartemp, name='psilartemp'),
+    re_path(r'gridmap/(?P<model_id>\w+)/$', views.gridmap, name='gridmap'),
 ]
diff --git a/spatial/views.py b/spatial/views.py
index d5fac614043714ea0a8a490c71e56350eb2a40a1..5bfd2d33abc77a708d1cf8e87f239961721940ea 100644
--- a/spatial/views.py
+++ b/spatial/views.py
@@ -1,10 +1,20 @@
 from django.shortcuts import render
+from django.http import Http404
+from django.conf import settings
 
 
 def index(request):
-    context = {}
+    context = {"available_grid_models": settings.AVAILABLE_GRID_MODELS}
     return render(request, 'spatial/index.html', context)
 
-def slidingmap(request):
+def psilartemp(request):
     context = {}
-    return render(request, 'spatial/slidingMap.html', context)
+    return render(request, 'spatial/psilartemp.html', context)
+
+def gridmap(request, model_id):
+    for model in settings.AVAILABLE_GRID_MODELS:
+        if model_id == model["model_id"]:
+            context = {"model_id": model_id}
+            return render(request, 'spatial/gridmap.html', context)
+    return index(request)
+