diff --git a/ipmd/README.md b/ipmd/README.md index 6ece4b5c07a8b29d374ea151d0c25498ab798e8f..b3507f39cea468296f6ae26381e30b732f2308e5 100644 --- a/ipmd/README.md +++ b/ipmd/README.md @@ -68,6 +68,88 @@ 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. #### 2. Retrieve and display metadata for all available weather data sources -The application +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. + +**TODO: Add client-server-diagram** + +<img src="README_img_03.png" alt="Weather data sources list"/> + +_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_04.png" alt="Location based weather data source (Denmark)"/> + +_Location based weather data source (Denmark)_ + +<img src="README_img_05.png" alt="Station based weather data source (Norway)"/> + +_Station based weather data source (Norway)_ + +#### 3. Collate input data + +##### 3.1. Weather data +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. + +##### 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. + +#### 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. + +#### 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) + +```json +{ + "timeStart": "2024-02-27T23:00:00+00:00", + "timeEnd": "2024-02-29T12:00:00+00:00", + "interval": 86400, + "resultParameters": [ + "Cumulative_DayDegrees", + "StartOfEmergenceThreshold", + "FirstThreshold", + "SecondThreshold", + "ThirdThreshold" + ], + "locationResult": [ + { + "longitude": 10.75427, + "latitude": 59.39805, + "altitude": 35, + "data": [ + [ + 3.4077916666666668, + 500, + 750.47, + 1023.93, + 1500 + ], + [ + 7.378176282051282, + 500, + 750.47, + 1023.93, + 1500 + ] + ], + "warningStatus": [ + 2, + 2 + ], + "width": 5, + "length": 2 + } + ], + "message": "Start of cumulative emergence hasn't been reached.", + "messageType": 0 +} +``` + +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). + +<img src="README_img_06.png" alt="DSS results and weather data displayed after the model has been run"/> + +_DSS results and weather data displayed after the model has been run_ **TODO: Add client-server-diagram** \ No newline at end of file diff --git a/ipmd/README_img_03.png b/ipmd/README_img_03.png new file mode 100644 index 0000000000000000000000000000000000000000..6abfb0951ab715790244a27ebf8aac2e11a7f3bd Binary files /dev/null and b/ipmd/README_img_03.png differ diff --git a/ipmd/README_img_04.png b/ipmd/README_img_04.png new file mode 100644 index 0000000000000000000000000000000000000000..4f307843fe28bd1f08e85429014f9e348444bf26 Binary files /dev/null and b/ipmd/README_img_04.png differ diff --git a/ipmd/README_img_05.png b/ipmd/README_img_05.png new file mode 100644 index 0000000000000000000000000000000000000000..bd46a6776882923d8937b691bb37e1e524ca32e9 Binary files /dev/null and b/ipmd/README_img_05.png differ diff --git a/ipmd/README_img_06.png b/ipmd/README_img_06.png new file mode 100644 index 0000000000000000000000000000000000000000..da1228fbed2ee140ff0b077595d8bf657b14fe1e Binary files /dev/null and b/ipmd/README_img_06.png differ