Skip to content
Snippets Groups Projects
Commit d81b738b authored by Tor-Einar Skog's avatar Tor-Einar Skog
Browse files

IPMD Docs update

parent 6588aec6
Branches
No related tags found
No related merge requests found
Source diff could not be displayed: it is too large. Options to address this: view the blob.
Source diff could not be displayed: it is too large. Options to address this: view the blob.
ipmd/IPMD_DSS_Metadata_structure.png

194 KiB

ipmd/IPMD_Weather_metadata_request.png

195 KiB

ipmd/IPMD_Weatherdata_request.png

64.3 KiB

...@@ -14,7 +14,7 @@ The DSSs have been made available through the [IPM Decisions platform](https://p ...@@ -14,7 +14,7 @@ The DSSs have been made available through the [IPM Decisions platform](https://p
_Screenshot of the IPM Decisions platform_ _Screenshot of the IPM Decisions platform_
The APIs are designed as web services that are open for use by other clients than the IPM Decisions platform. This means that a DSS provider can use the APIs to discover and make other DSSs available directly from their DSS platform/web page, without having to implement the algorithms for that DSS. In the platform, meta data are available for all DSSs and weather data sources. These meta data are structured in a way that as soon as client code has been implemented for one DSS (from IPM Decisions), only minimal adaptations are needed to add new DSSs (from IPM Decisions). The APIs are designed as web services that are open for use by other clients than the IPM Decisions platform. This means that a DSS provider can use the APIs to discover and make other DSSs available directly from their DSS platform/web page, without having to implement the algorithms for that DSS. In the platform, metadata are available for all DSSs and weather data sources. These metadata are structured in a way that as soon as client code has been implemented for one DSS (from IPM Decisions), only minimal adaptations are needed to add new DSSs (from IPM Decisions).
## Saddle gall midge model from ADAS made available in VIPS ## Saddle gall midge model from ADAS made available in VIPS
...@@ -30,15 +30,17 @@ This file is specific for the Saddle Gall Midge model, but contains a lot of Jav ...@@ -30,15 +30,17 @@ This file is specific for the Saddle Gall Midge model, but contains a lot of Jav
After the browser has rendered the page and the document is ready, this is what happens After the browser has rendered the page and the document is ready, this is what happens
#### 1. Retrieve and display metadata for the Saddle Gall Midge model #### 1. Retrieve and display metadata for the Saddle Gall Midge model
The application sends a request to the IPM Decisions platform for metadata about the model. It pulls the `description` out of the returned data and displays it in a box on the page (see screenshots) The application sends a request to the IPM Decisions DSS API for metadata about the model.
**TODO: Add client-server-diagram** <img src="IPMD_DSS_Metadata_structure.png" alt="Model metadata request diagram"/>
It pulls the `description` out of the returned data and displays it in a box on the page (see screenshot below)
<img src="README_img_02.png" alt="Screenshot of the upper part of the model web page"/> <img src="README_img_02.png" alt="Screenshot of the upper part of the model web page"/>
_Screenshot of the upper part of the model web page_ _Screenshot of the upper part of the model web page_
The metadata also accurately and machine readably describes the input data that it needs, using Json schema. Here's the input data definition for the Saddle Gall Midge model: The metadata also accurately and machine readably describes the input data that it needs, using Json schema. Here's the input data definition for the Saddle Gall Midge model (which is part of the metadata returned from IPM Decisions):
```json ```json
{ {
...@@ -67,35 +69,40 @@ The metadata also accurately and machine readably describes the input data that ...@@ -67,35 +69,40 @@ The metadata also accurately and machine readably describes the input data that
We are using the [JSON Editor JavaScript library](https://github.com/json-editor/json-editor) to automatically render this schema into an HTML Form (see the screenshot above). The JSON Editor also validates the input data and upon submission formats the entered data into Json. We are using the [JSON Editor JavaScript library](https://github.com/json-editor/json-editor) to automatically render this schema into an HTML Form (see the screenshot above). The JSON Editor also validates the input data and upon submission formats the entered data into Json.
#### 2. Retrieve and display metadata for all available weather data sources #### 2. Retrieve and display metadata for all available weatherdata sources
The application sends a request to the IPM Decisions platform for a list of all the available weather data sources. It filters out the ones that require login, as we don't support that, and then the sources are listed in two different lists: One for sources that provide measured/seasonal weather data and one for weather forecast services. Some of the data sources provide data for both past, present and future, and they are listed in both categories. The application sends a request to the IPM Decisions platform for a list of all the available weatherdata sources.
**TODO: Add client-server-diagram** <img src="IPMD_Weather_metadata_request.png" alt="Weatherdatasource metadata request diagram"/>
<img src="README_img_03.png" alt="Weather data sources list"/> It filters out the ones that require login, as we don't support login yet, and then the sources are listed in two different lists: One for sources that provide measured/seasonal weatherdata and one for weather forecast services. Some of the data sources provide data for both past, present and future, and they are listed in both categories.
_Weather data sources list_
When the user selects the historic weather data source, they are requested to either select a weather station or a location - depending on whether the data sources contains a set of weather stations or if it provides data for all lat/lon combinations within a certain area. See examples of both types below <img src="README_img_03.png" alt="Weatherdata sources list"/>
<img src="README_img_04.png" alt="Location based weather data source (Denmark)"/> _Weatherdata sources list_
_Location based weather data source (Denmark)_ When the user selects the historic weatherdata source, they are requested to either select a weather station or a location - depending on whether the data sources contains a set of weather stations or if it provides data for all lat/lon combinations within a certain area. See examples of both types below
<img src="README_img_05.png" alt="Station based weather data source (Norway)"/> <img src="README_img_04.png" alt="Location based weatherdata source (Denmark)"/>
_Station based weather data source (Norway)_ _Location based weatherdata source (Denmark)_
<img src="README_img_05.png" alt="Station based weatherdata source (Norway)"/>
_Station based weatherdata source (Norway)_
#### 3. Collate input data #### 3. Collate input data
##### 3.1. Weather data ##### 3.1. Weatherdata
When the user clicks the `Run` button, the application first sends requests for weather data to the historic and forecast weather data services. The retrieved data are then merged into one data set. When the user clicks the `Run` button, the application first sends requests for weatherdata to the historic and forecast weatherdata services. The retrieved data are then merged into one data set.
<img src="IPMD_Weatherdata_request.png" alt="Weatherdatasource metadata request diagram"/>
##### 3.2 Model form data ##### 3.2 Model form data
The application uses the JSON Editor to convert the values of the form (assuming that the form data has been found to be valid) into Json. The application uses the JSON Editor to convert the values of the form (assuming that the form data has been found to be valid) into Json.
#### 4. Request running of the model from ADAS #### 4. Request running of the model from ADAS
When the input data has been collated, it is sent as part of a request to the ADAS DSS web service. When the input data has been collated, it is sent as part of a request to the ADAS DSS web service.
**TODO: Add client-server-diagram**
#### 5. Retrieve and display results #### 5. Retrieve and display results
If the input data are correct and the model runs, the web service returns result data in the IPM Decisions standard format, see an example below (contains only two days of results for clarity) If the input data are correct and the model runs, the web service returns result data in the IPM Decisions standard format, see an example below (contains only two days of results for clarity)
...@@ -146,10 +153,9 @@ If the input data are correct and the model runs, the web service returns result ...@@ -146,10 +153,9 @@ If the input data are correct and the model runs, the web service returns result
} }
``` ```
These results are then rendered into a chart (see example below), only using the metadata provided. The weather data passed on to the ADAS web service are displayed in a table at the bottom of the page (see example below). These results are then rendered into a chart (see example below), only using the metadata provided. The weatherdata passed on to the ADAS web service are displayed in a table at the bottom of the page (see example below).
<img src="README_img_06.png" alt="DSS results and weather data displayed after the model has been run"/> <img src="README_img_06.png" alt="DSS results and weatherdata displayed after the model has been run"/>
_DSS results and weather data displayed after the model has been run_ _DSS results and weathedata displayed after the model has been run_
**TODO: Add client-server-diagram**
\ No newline at end of file
ipmd/ipmd_logo.png

95.7 KiB

/* /*
* Copyright (c) 2013-2023 NIBIO. * Copyright (c) 2024 NIBIO.
* *
* This file is part of VIPSWeb * This file is part of VIPSWeb
* (see https://gitlab.nibio.no/VIPS/VIPSWeb). * (see https://gitlab.nibio.no/VIPS/VIPSWeb).
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
{% comment %} {% comment %}
# #
# Copyright (c) 2023 NIBIO <http://www.nibio.no/>. # Copyright (c) 2024 NIBIO <http://www.nibio.no/>.
# #
# This file is part of VIPSWeb. # This file is part of VIPSWeb.
# VIPSWeb is free software: you can redistribute it and/or modify # VIPSWeb is free software: you can redistribute it and/or modify
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment