From 0f5508ea30911f7df9802682c85fd040e274e8c8 Mon Sep 17 00:00:00 2001 From: JohannaLems <72263499+JohannaLems@users.noreply.github.com> Date: Wed, 16 Aug 2023 10:31:37 +0200 Subject: [PATCH 01/13] made new file for tutorial 6 --- source/e_2d_results_analysis_tutorial.rst | 20 ++++++++++++++++++++ source/e_tutorials.rst | 3 ++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 source/e_2d_results_analysis_tutorial.rst diff --git a/source/e_2d_results_analysis_tutorial.rst b/source/e_2d_results_analysis_tutorial.rst new file mode 100644 index 00000000..a56ee1f4 --- /dev/null +++ b/source/e_2d_results_analysis_tutorial.rst @@ -0,0 +1,20 @@ +.. Dit is een comment + +.. _dit_is_een_header_link: + +Tutorial 6: title +================= + +Dit is een subtitel +-------------------- + + +Preparation +----------- +Before you get started: + +* Make sure you have a 3Di account. Please contact the :ref:`servicedesk` if you need help with this. +* Install the 3Di Modeller Interface, see :ref:`3di_instruments_and_downloads`. +* Download the dataset for this tutorial `here `_. + +.. check zipje!! (nieuw zipje kan reinout of wolf online zetten voor je) \ No newline at end of file diff --git a/source/e_tutorials.rst b/source/e_tutorials.rst index 0408c499..361be10f 100644 --- a/source/e_tutorials.rst +++ b/source/e_tutorials.rst @@ -14,4 +14,5 @@ If you are looking for instructions on more advanced topics, please check out th e_2d_tutorial e_2d_slope_tutorial e_2d_flood_tutorial - e_2d_flood_adaptation_tutorial.rst + e_2d_flood_adaptation_tutorial + e_2d_results_analysis_tutorial From 4f8c19db1c6c9b522ae6c81044c6a497d68cc7d8 Mon Sep 17 00:00:00 2001 From: JohannaLems <72263499+JohannaLems@users.noreply.github.com> Date: Mon, 21 Aug 2023 12:42:49 +0200 Subject: [PATCH 02/13] Update e_2d_results_analysis_tutorial.rst inleiding --- source/e_2d_results_analysis_tutorial.rst | 156 +++++++++++++++++++++- 1 file changed, 151 insertions(+), 5 deletions(-) diff --git a/source/e_2d_results_analysis_tutorial.rst b/source/e_2d_results_analysis_tutorial.rst index a56ee1f4..8eb6570e 100644 --- a/source/e_2d_results_analysis_tutorial.rst +++ b/source/e_2d_results_analysis_tutorial.rst @@ -2,19 +2,165 @@ .. _dit_is_een_header_link: -Tutorial 6: title -================= -Dit is een subtitel +Tutorial 6: Analysing 1D and 2D simulation results +============================================== + +Introduction +------------- +In this tutorial, you are going to examine the results of simulation depicting the flow of rainfall into both a river and a sewer system. The schematization is pre build. The simulation results will be analysed using the :ref:`3Di Results Analysis plugin <_analysing_results>` in the :ref:`3Di Modeller Interface `. At the end of this tutorial, you have acquired the expertise to analyze the movement of water within your model. + +Our area of interest is Langaa,a small railway town located in central Denmark. Langaa is situaed between raised agricultural lands to the western side and the Gudena River to the eastern side of the town. The urban area has a seperated sewer system. The wastewater sewer inclines towards a pumping station, and the rainwater sewer has two outlets close to the Gudena River. While this tutorial represents a real-world area, it is important to note that some processes have been simplified for the purpose of this tutorial. + + +Learning objectives -------------------- +You will learn the following in this tutorial: +AANPASSEN + +* Adding 1D channels to a model. +* Adding boundary conditions to a 1D channel. +* Adding a linear obstacle to a model. +* Creating a potential breach event. +* Simulating the model with an active breach event. Preparation ------------ +------------ Before you get started: * Make sure you have a 3Di account. Please contact the :ref:`servicedesk` if you need help with this. * Install the 3Di Modeller Interface, see :ref:`3di_instruments_and_downloads`. -* Download the dataset for this tutorial `here `_. +* Download the dataset for this tutorial `here `_. AANPASSEN + +.. TODO: zip updaten via Wolf + +Unzip the dataset for this tutorial and save the contents in your download folder. The dataset that you downloaded for this tutorial contains a 3Di schematisation (.sqlite extension) including a digital elevation model raster (DEM) for the place Langaa. The DEM is located in the folder named "rasters". + + +Creating a new schematisation +------------------------------ +The first step is to create a new :ref:`schematisation`: + +#) Open the 3Di Modeller Interface. + +#) Click the 3Di Models and Simulations icon (|modelsSimulations|). You should now see the 3Di Models and Simulations panel. If this is the first time you use the 3Di Models and Simulation panel, you will need to go through :ref:`some steps to set it up`. + +#) In the *Schematisation* section of the 3Di Models and Simulations panel, click the *New* button (|newschematisation|). The *New schematisation* wizard is shown. + +#) Fill in a schematisation name, such as 'Tutorial analysing simulation results Langaa '. Select the organisation you want to be the owner of the new schematisation (most users have rights for only one organisation). Tags are optional, you can leave this field empty for now. Since you will use a pre build schematisation, select the *Choose file* option. Select the schematisation *Demo model Langaa.sqlite* extension) from your dowload folder. + +#) Click *Create schematisation*. A popup message will tell you that the schematisation was created successfully. Copy the path that is shown in the popup message and paste it somewhere (e.g. in an empty text file). + + +Uploading the schematisation +---------------------------- +We will now upload the schematisation as a first :ref:`revision` and process it into a :ref:`threedimodel`. All these steps are covered by the upload wizard. + +#) Click the upload button (|upload|) in the 3Di Models and Simulations panel. + +#) In the dialog box that has appeared, click *New upload* and click *Next*. + +#) Click *Check schematisation*. This will check your schematisations for any errors that would make it impossible to generate a valid 3Di model and simulation template. It should not produce any errors, warnings or info level messages. Click *Next*. + +#) Fill in a commit message. As this is the first revision of this schematisation, you can give provide a short description of what you upload. For example: "Langaa schematisions without changes". + +#) Click *Start upload*. Check whether the upload is successful and the schematisation is successfully processed into a 3Di model. + + +Viewing the schematisation +-------------------------- +We will load the schematisation in the 3Di Modeller Interface to view (and eventually modify) its contents. The schematisation can be loaded by following these steps: + +#) In the 3Di Schematisation Editor toolbar, click the *Load from Spatialite* button (|load_from_spatialite|). Paste the previously copied path to the spatialite and click *Open*. + + If you have not copied the path to the spatialite, click the (blue, underlined) name of your schematisation at the top of the 3Di Models & Simulations panel. Windows Explorer will open; browse to *work in progress/schematisation* and copy the path from the Windows Explorer address bar. + +#) Add a background map from OpenStreetMap by clicking *Web* in the Main Menu > *Quick Map Services* > *OSM* > *OSM Standard*. + +#) In the Layers panel, reorder the layers such that the OpenStreetMap layer is below the 3Di schematisation. + +You should now see the DEM around the city of Langaa. + + +Running a simulation +---------------------- + +You will now start a simulation with the 3Di model you have created in the 3Di Modeller Interface: + +#) In the 3Di Models and Simulations panel, click *Simulate* (|simulate|) > *New simulation*. + +#) Select your model and simulation template and click *Next*. A dialog box opens with several options for your simulation. + +#) Check the box *Include precipitation* (keep *Include initial conditions* and *Include boundary conditions* checked). Click *Next*. + +#) Give your simulation a name. Click *Next*. + +#) Set the duration of your simulation to 4 hours. Click *Next*. + +#) Accept the Boundary conditions as they are by clicking *Next*. + +#) Accept the Initial conditions as they are by clicking *Next*. + +#) Fill in the following parameters for Precipitation and then click *Next*. + + * Type of precipitation: choose *Design* + * Start after: 1 hrs + * Design number: 10 + +#) Accept the simulation settings as they are by clicking *Next*. + +#) Check the summary of your simulation and click *Add to queue*. + +Your simulation will start as soon as a calculation node is available for your organisation. Note: the number of available calculation nodes depends on your 3Di subscription. + +In the 3Di Models and Simulations panel, click *Simulate*. An overview is given of all running simulations for your organisation(s). Here you can follow the progress of your simulation. + +It is also possible to simulate your model with 3Di Live. This is explained previous tutorials. + + +Downloading the simulation results +---------------------- + +In the 3Di Models and Simulations panel, click *Simulate*. An overview is given of all running simulations for your organisation(s). Here you can follow the progress of your simulation. + + +Opening the simulation results +---------------------- + + +---------------------- +---------------------- +---------------------- +---------------------- +---------------------- + + + +.. |load_from_spatialite| image:: /image/pictogram_load_from_spatialite.png + :scale: 80% + +.. |toggle_editing| image:: /image/pictogram_toggle_editing.png + :scale: 80% + +.. |add_line| image:: /image/pictogram_addline.png + :scale: 80% + +.. |add_point| image:: /image/pictogram_addpoint.png + :scale: 80% + +.. |upload| image:: /image/pictogram_upload_schematisation.png + :scale: 80% + +.. |modelsSimulations| image:: /image/pictogram_modelsandsimulations.png + :scale: 90% + +.. |save_to_spatialite| image:: /image/pictogram_save_to_spatialite.png + :scale: 80% + +.. |newschematisation| image:: /image/pictogram_newschematisation.png + :scale: 80% +.. |Simulate| image:: /image/pictogram_simulate.png + :scale: 80% .. check zipje!! (nieuw zipje kan reinout of wolf online zetten voor je) \ No newline at end of file From a99ae65f87a8272b01c3014e553948721c47ca67 Mon Sep 17 00:00:00 2001 From: JohannaLems <72263499+JohannaLems@users.noreply.github.com> Date: Fri, 25 Aug 2023 09:11:06 +0200 Subject: [PATCH 03/13] Update e_2d_results_analysis_tutorial.rst push 20230825 --- source/e_2d_results_analysis_tutorial.rst | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/source/e_2d_results_analysis_tutorial.rst b/source/e_2d_results_analysis_tutorial.rst index 8eb6570e..58972e52 100644 --- a/source/e_2d_results_analysis_tutorial.rst +++ b/source/e_2d_results_analysis_tutorial.rst @@ -19,11 +19,7 @@ You will learn the following in this tutorial: AANPASSEN -* Adding 1D channels to a model. -* Adding boundary conditions to a 1D channel. -* Adding a linear obstacle to a model. -* Creating a potential breach event. -* Simulating the model with an active breach event. +* Opening your 3Di simulation results Preparation ------------ @@ -76,7 +72,9 @@ We will load the schematisation in the 3Di Modeller Interface to view (and event If you have not copied the path to the spatialite, click the (blue, underlined) name of your schematisation at the top of the 3Di Models & Simulations panel. Windows Explorer will open; browse to *work in progress/schematisation* and copy the path from the Windows Explorer address bar. -#) Add a background map from OpenStreetMap by clicking *Web* in the Main Menu > *Quick Map Services* > *OSM* > *OSM Standard*. +#) Add a background map from OpenStreetMap by clicking *Web* in the Main Menu > *Quick Map Services* > *OSM* > *OSM Standard*. + +.. waarom niet de DEM op de achtergrond? #) In the Layers panel, reorder the layers such that the OpenStreetMap layer is below the 3Di schematisation. @@ -124,7 +122,6 @@ Downloading the simulation results In the 3Di Models and Simulations panel, click *Simulate*. An overview is given of all running simulations for your organisation(s). Here you can follow the progress of your simulation. - Opening the simulation results ---------------------- From c9faa6b16cc3c4ea428cae01c2d303060ff9178a Mon Sep 17 00:00:00 2001 From: Bas van Haaren Date: Fri, 6 Oct 2023 12:36:13 +0200 Subject: [PATCH 04/13] Update e_2d_results_analysis_tutorial.rst --- source/e_2d_results_analysis_tutorial.rst | 127 ++++++++++++++++++++-- 1 file changed, 118 insertions(+), 9 deletions(-) diff --git a/source/e_2d_results_analysis_tutorial.rst b/source/e_2d_results_analysis_tutorial.rst index 58972e52..ded9bf31 100644 --- a/source/e_2d_results_analysis_tutorial.rst +++ b/source/e_2d_results_analysis_tutorial.rst @@ -8,18 +8,29 @@ Tutorial 6: Analysing 1D and 2D simulation results Introduction ------------- -In this tutorial, you are going to examine the results of simulation depicting the flow of rainfall into both a river and a sewer system. The schematization is pre build. The simulation results will be analysed using the :ref:`3Di Results Analysis plugin <_analysing_results>` in the :ref:`3Di Modeller Interface `. At the end of this tutorial, you have acquired the expertise to analyze the movement of water within your model. +In this tutorial, we are going to examine the results of a simulation. The schematization is pre build. The simulation results will be analysed using the :ref:`3Di Results Analysis plugin <_analysing_results>` in the :ref:`3Di Modeller Interface `. At the end of this tutorial, you have acquired some hands on expertise for analysing the movement of water within a 3Di model. -Our area of interest is Langaa,a small railway town located in central Denmark. Langaa is situaed between raised agricultural lands to the western side and the Gudena River to the eastern side of the town. The urban area has a seperated sewer system. The wastewater sewer inclines towards a pumping station, and the rainwater sewer has two outlets close to the Gudena River. While this tutorial represents a real-world area, it is important to note that some processes have been simplified for the purpose of this tutorial. +Our area of interest is Langaa, a small railway town located in central Denmark. Langaa is situated between raised agricultural lands to the western side and the Gudena River to the eastern side of the town. The urban area has a seperated sewer system. The wastewater sewer inclines towards a pumping station, and the rainwater sewer has two outlets close to the Gudena River. While this tutorial represents a real-world area, it is important to note that some processes have been simplified for the purpose of this tutorial. + +Case study +------------- + +Several houses located next to the Vaethvey road are vulnerable to flooding. Recently, the inhabitants living in 21, 23, 25, 27 en 29 have reported heavy inundation after a 40mm rainfall event. Vaethvey road 21-29 is our study area. Now the municipality wants to reproduce this inundation with a hydrodynamic model, to gain insight in the flood properties such as floodextent, floodvolume, and floodduration. The municipality als wants to know where the floodwater originates from. All this isight should help to come up with potential measurements. Learning objectives -------------------- You will learn the following in this tutorial: -AANPASSEN +Downloading your simulation results +Checking the flow summary +Composing the maximum waterdepth raster +Analysing the flow pattern +Finding the maximum inundation depth +Plotting waterlevels +Watershed delineation for a flooded area +Calculation the flood volume -* Opening your 3Di simulation results Preparation ------------ @@ -84,7 +95,7 @@ You should now see the DEM around the city of Langaa. Running a simulation ---------------------- -You will now start a simulation with the 3Di model you have created in the 3Di Modeller Interface: +We will now start a simulation with the 3Di model you have created in the 3Di Modeller Interface: #) In the 3Di Models and Simulations panel, click *Simulate* (|simulate|) > *New simulation*. @@ -92,7 +103,7 @@ You will now start a simulation with the 3Di model you have created in the 3Di M #) Check the box *Include precipitation* (keep *Include initial conditions* and *Include boundary conditions* checked). Click *Next*. -#) Give your simulation a name. Click *Next*. +#) Give your simulation the name e.g. *Demo Langa 40mm constant rainfall in 1 hour*. Click *Next*. #) Set the duration of your simulation to 4 hours. Click *Next*. @@ -102,9 +113,10 @@ You will now start a simulation with the 3Di model you have created in the 3Di M #) Fill in the following parameters for Precipitation and then click *Next*. - * Type of precipitation: choose *Design* + * Type of precipitation: choose *Constant* * Start after: 1 hrs - * Design number: 10 + * Stops after: 2 hrs + * Intensity: 40 mm/h #) Accept the simulation settings as they are by clicking *Next*. @@ -120,18 +132,115 @@ It is also possible to simulate your model with 3Di Live. This is explained prev Downloading the simulation results ---------------------- -In the 3Di Models and Simulations panel, click *Simulate*. An overview is given of all running simulations for your organisation(s). Here you can follow the progress of your simulation. +We will now download the results of your simulation to your working directory which is a local folder: + +#) In the 3Di Models and Simulations panel, click *Results* (|simulate|). + +#) Select your simulation and click *Download*. A download progress bar now appears. This progress bar colors green when the downloading of your simulation results is finished. + +#) You can now find your simulation results in your working directory. The working directory is a local folder which you have defined during your Modeller Interface installation, e.g. C:\3Di_schematisations. Your can find or change this folder by clicking *Plugins* in the Main Menu > *3Di Models and Simulations* > *Settings* and then click on the *Browse* button. + Opening the simulation results ---------------------- +Now we are going to load your simulation results into the Modeller Interface using the 3Di Results Analysis plugin +#) In the 3Di Results Analysis toolbar, click *3Di Results Manager*. Now the 3Di Results Manager panel opens. + +#) In the 3Di Results Manager panel, click on the *Add 3Di grids or results* button. + +#) Select your simulation and click *Load simulation results*, or dubble click on the name of your simulation. + +Now your simulations results are loaded in the Modeller Interface and shown in your *Layers panel*. + + +Checking the flow summary ---------------------- + +Martine? + + +Composing the maximum waterdepth raster ---------------------- + +In this step, we are going build a raster showing the maximum 2D waterdepth for each gridcel. + +#) Open the *Processing Toolbox* by clicking *Processing* in the Main Menu > *Toolbox*. The Processing Toolbox panel now opens. + +#) In the Processing Toolbox panel, click on *3Di* > *Post-process results* > then dubble click on *Maximum water depth/ level raster*. + +Now a new panel opens where we can define the settings for the maximum waterdepth raster that we are going to creat. + +#) Select your gridadmin.h5 file by clicking on de browse button browse to your working directory folder (e.g. C:\3Di_schematisations) > Demo model Langaa > revision 1 > results > Demo Langa 40mm constant rainfall in 1 hour > gridadmin.h5. + +#) Select your simulation results by clicking on de browse button, then browse to your working directory folder > Demo model Langaa > revision 1 > results > Demo Langa 40mm constant rainfall in 1 hour > results_3di.nc. + +#) Select the DEM (Digital Elevatil Model) by clicking on de browse button under DEM. Then browse to your working directory folder > Demo model Langaa > work in progress > schematisation > rasters > Elevation_model_Langaa.tif. + +#) Set the Interpolation mode to *Interpolated water depth*. + +#) Set the destination file path for water depth/level raster by clicking the browse button. Browse to your working directory C:\3Di_schematisations) > Demo model Langaa > revision 1 > results and write the File name max_waterdepth_interpolated.tif. + +#) Click on the *run* button. + +When finished, the raster will automaticaly appear in the layers panel. Now we are going to add a basis styling to this raster: + +#) Dubble click on raster name in the layer panel to open the Layer Properties window. + +#) In the layer properties window, click on the left on the Symbology tab. + +#) Set Render type to Singleband pseudocolor. + +#) Set color ramp to Blues. + +#) Fill in 0.05 as Min value and 0.5 as Max value, the unit is meters. + +#) Click *OK*. + + +Analysing the flow pattern +---------------------- +Martine? + + +Finding the maximum inundation depth +---------------------- + +We are going to use the Value Tool to view the inundation depth in our study area using your maximum waterdepth raster. + +#) First we have to make sure the maximum waterdepth raster is visible. In the Layers panel, check the layer max_waterdepth_interpolated. + +#) In the Attributes Toolbar, click on the Value Tool plugin. Now the Value Tool panels opens. + +#) Now zoom in to our study area and hoover with your mouse over the inundation. In the Value Tool panel you can read the raster values i.e. the maximum water depth. Find that the inundation is op to 75 cm. + + +Plotting waterlevels ---------------------- + +#) In the 3Di Result Analysis Toolbar, click on the Time series plotter icon. Now the Value Tool panels opens. Now the 3Di Time series plotter panel opens. + +#) In the 3Di Time series plotter panel, click on *Pick nodes/cells*. + +#) Click on a 2D surface water node in the study area on a inundated location. Now a graph appears for the selected 2D node. + +#) Select Waterlevel in the upperleft drop down menu of the 3Di Time series plotter panel. + + +Watershed delineation for a flooded area ---------------------- + +Martine? + + +Calculation the flood volume ---------------------- +Martine? + + + .. |load_from_spatialite| image:: /image/pictogram_load_from_spatialite.png From 28cbc0696eaf277f4440113da084be344321a615 Mon Sep 17 00:00:00 2001 From: Bas van Haaren Date: Wed, 11 Oct 2023 10:44:38 +0200 Subject: [PATCH 05/13] Update e_2d_results_analysis_tutorial.rst Checking the flow summary --- source/e_2d_results_analysis_tutorial.rst | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/e_2d_results_analysis_tutorial.rst b/source/e_2d_results_analysis_tutorial.rst index ded9bf31..5a5d816a 100644 --- a/source/e_2d_results_analysis_tutorial.rst +++ b/source/e_2d_results_analysis_tutorial.rst @@ -158,7 +158,14 @@ Now your simulations results are loaded in the Modeller Interface and shown in y Checking the flow summary ---------------------- -Martine? +In order to gain more insight in the model simulation, you can check out the flow summary. Go to the results-folder and open the document ‘flow_summary.log’. + +a) Check the volume of rainfall in the log-document and translate the number back to a rainfall-intensity. Does this match the rainfall that we put on the model before the start of the model? (Hint: use the DEM-raster elevation to calculate the area. If you right-click on the ‘Digital elevation model’-layer, you can choose properties. Under the ‘information’ tab, you can find the width and height of the layer in pixels. Furthermore, under ‘pixel size’ you can find the size of the pixels in meters. If you combine this information, you can calculate the area of the elevation layer.) + +b) Check out the description of the volume balance in the document and complete the figure below with the different components and the corresponding numbers. Check the water balance yourself; do the numbers add up? The filled-in water balance can be found at the end of this tutorial. + +c) What is the default time step of the simulation? And the minimum time step? See that this time steps are not the same, and the minimum time step in this simulation is lower than the default time step. The model needs to calculate with a smaller time step, because otherwise the simulation becomes unstable. + Composing the maximum waterdepth raster From 7a8e7480707a469edb1589cb58a1dd969deafe21 Mon Sep 17 00:00:00 2001 From: leendertvanwolfswinkel Date: Mon, 16 Oct 2023 09:09:54 +0200 Subject: [PATCH 06/13] Update e_2d_results_analysis_tutorial.rst --- source/e_2d_results_analysis_tutorial.rst | 26 +++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/source/e_2d_results_analysis_tutorial.rst b/source/e_2d_results_analysis_tutorial.rst index 5a5d816a..6cf1dae0 100644 --- a/source/e_2d_results_analysis_tutorial.rst +++ b/source/e_2d_results_analysis_tutorial.rst @@ -8,7 +8,7 @@ Tutorial 6: Analysing 1D and 2D simulation results Introduction ------------- -In this tutorial, we are going to examine the results of a simulation. The schematization is pre build. The simulation results will be analysed using the :ref:`3Di Results Analysis plugin <_analysing_results>` in the :ref:`3Di Modeller Interface `. At the end of this tutorial, you have acquired some hands on expertise for analysing the movement of water within a 3Di model. +In this tutorial, we are going to examine the results of a simulation. The schematisation is pre build. The simulation results will be analysed using the :ref:`3Di Results Analysis plugin <_analysing_results>` in the :ref:`3Di Modeller Interface `. At the end of this tutorial, you have acquired some hands-on expertise for analysing the movement of water within a 3Di model. Our area of interest is Langaa, a small railway town located in central Denmark. Langaa is situated between raised agricultural lands to the western side and the Gudena River to the eastern side of the town. The urban area has a seperated sewer system. The wastewater sewer inclines towards a pumping station, and the rainwater sewer has two outlets close to the Gudena River. While this tutorial represents a real-world area, it is important to note that some processes have been simplified for the purpose of this tutorial. @@ -22,14 +22,14 @@ Learning objectives -------------------- You will learn the following in this tutorial: -Downloading your simulation results -Checking the flow summary -Composing the maximum waterdepth raster -Analysing the flow pattern -Finding the maximum inundation depth -Plotting waterlevels -Watershed delineation for a flooded area -Calculation the flood volume +- Downloading your simulation results +- Checking the flow summary +- Composing the maximum waterdepth raster +- Analysing the flow pattern +- Finding the maximum inundation depth +- Plotting water levels +- Watershed delineation for a flooded area +- Calculation the flood volume Preparation @@ -103,7 +103,7 @@ We will now start a simulation with the 3Di model you have created in the 3Di Mo #) Check the box *Include precipitation* (keep *Include initial conditions* and *Include boundary conditions* checked). Click *Next*. -#) Give your simulation the name e.g. *Demo Langa 40mm constant rainfall in 1 hour*. Click *Next*. +#) Give your simulation the name e.g. *Demo Langaa 40mm constant rainfall in 1 hour (your name)*. Click *Next*. #) Set the duration of your simulation to 4 hours. Click *Next*. @@ -156,9 +156,9 @@ Now your simulations results are loaded in the Modeller Interface and shown in y Checking the flow summary ----------------------- +------------------------- -In order to gain more insight in the model simulation, you can check out the flow summary. Go to the results-folder and open the document ‘flow_summary.log’. +In order to gain more insight in the model simulation, you can check out the flow summary. Go to the results folder and open the document ‘flow_summary.log’. a) Check the volume of rainfall in the log-document and translate the number back to a rainfall-intensity. Does this match the rainfall that we put on the model before the start of the model? (Hint: use the DEM-raster elevation to calculate the area. If you right-click on the ‘Digital elevation model’-layer, you can choose properties. Under the ‘information’ tab, you can find the width and height of the layer in pixels. Furthermore, under ‘pixel size’ you can find the size of the pixels in meters. If you combine this information, you can calculate the area of the elevation layer.) @@ -169,7 +169,7 @@ c) What is the default time step of the simulation? And the minimum time step? S Composing the maximum waterdepth raster ----------------------- +--------------------------------------- In this step, we are going build a raster showing the maximum 2D waterdepth for each gridcel. From 35bde88ed120210e1ca1268d81bf392cb803da17 Mon Sep 17 00:00:00 2001 From: Bas van Haaren Date: Thu, 2 Nov 2023 11:56:39 +0100 Subject: [PATCH 07/13] Update e_2d_results_analysis_tutorial.rst aanvullingen Martine --- source/e_2d_results_analysis_tutorial.rst | 65 +++++++++++++++++++---- 1 file changed, 56 insertions(+), 9 deletions(-) diff --git a/source/e_2d_results_analysis_tutorial.rst b/source/e_2d_results_analysis_tutorial.rst index 5a5d816a..5c07db3c 100644 --- a/source/e_2d_results_analysis_tutorial.rst +++ b/source/e_2d_results_analysis_tutorial.rst @@ -1,5 +1,4 @@ .. Dit is een comment - .. _dit_is_een_header_link: @@ -15,7 +14,7 @@ Our area of interest is Langaa, a small railway town located in central Denmark. Case study ------------- -Several houses located next to the Vaethvey road are vulnerable to flooding. Recently, the inhabitants living in 21, 23, 25, 27 en 29 have reported heavy inundation after a 40mm rainfall event. Vaethvey road 21-29 is our study area. Now the municipality wants to reproduce this inundation with a hydrodynamic model, to gain insight in the flood properties such as floodextent, floodvolume, and floodduration. The municipality als wants to know where the floodwater originates from. All this isight should help to come up with potential measurements. +Several houses located next to the Vaethvey road are vulnerable to flooding. Recently, the inhabitants living in 21, 23, 25, 27 en 29 have reported heavy inundation after a 40mm rainfall event. Vaethvey road 21-29 is our study area. Now the municipality wants to reproduce this inundation with a hydrodynamic model, to gain insight in the flood properties such as floodextent, floodvolume, and floodduration. The municipality als wants to know where the floodwater originates from. All this isight will help to come up with potential measurements. Learning objectives @@ -158,13 +157,13 @@ Now your simulations results are loaded in the Modeller Interface and shown in y Checking the flow summary ---------------------- -In order to gain more insight in the model simulation, you can check out the flow summary. Go to the results-folder and open the document ‘flow_summary.log’. +In order to gain more insight in the model simulation, you can check out the flow summary. Go to the results-folder and open the document *flow_summary.log*. -a) Check the volume of rainfall in the log-document and translate the number back to a rainfall-intensity. Does this match the rainfall that we put on the model before the start of the model? (Hint: use the DEM-raster elevation to calculate the area. If you right-click on the ‘Digital elevation model’-layer, you can choose properties. Under the ‘information’ tab, you can find the width and height of the layer in pixels. Furthermore, under ‘pixel size’ you can find the size of the pixels in meters. If you combine this information, you can calculate the area of the elevation layer.) +#) Check the volume of rainfall in the log-document and translate the number back to a rainfall-intensity. Does this match the rainfall that we put on the model before the start of the model? (Hint: use the DEM-raster elevation to calculate the area. If you right-click on the *Digital elevation model*-layer, you can choose properties. Under the *information* tab, you can find the width and height of the layer in pixels. Furthermore, under *pixel size* you can find the size of the pixels in meters. If you combine this information, you can calculate the area of the elevation layer.) -b) Check out the description of the volume balance in the document and complete the figure below with the different components and the corresponding numbers. Check the water balance yourself; do the numbers add up? The filled-in water balance can be found at the end of this tutorial. +#) Check out the description of the volume balance in the document and complete the figure below with the different components and the corresponding numbers. Check the water balance yourself; do the numbers add up? The filled-in water balance can be found at the end of this tutorial. -c) What is the default time step of the simulation? And the minimum time step? See that this time steps are not the same, and the minimum time step in this simulation is lower than the default time step. The model needs to calculate with a smaller time step, because otherwise the simulation becomes unstable. +#) What is the default time step of the simulation? And the minimum time step? See that this time steps are not the same, and the minimum time step in this simulation is lower than the default time step. The model needs to calculate with a smaller time step, because otherwise the simulation becomes unstable. @@ -208,7 +207,21 @@ When finished, the raster will automaticaly appear in the layers panel. Now we a Analysing the flow pattern ---------------------- -Martine? +Follow these steps to create a flow pattern from the simulation results: + +#) First, load the results from the simulation. Open the 3Di result Manager by clicking on the button indicated in the figure below. + +#) Click on the button with the green *plus*-sign. A pop-up screen will appear where you can select the results that you want to add. Then click on *Load simulation result*. The results will now be added to your screen. +#) Now open the *3Di result aggregation*, by clicking on the button indicated in the figure below. A pop-up screen will appear in your screen. + +#) In the *input* tab, the result is already automatically selected. If you have added multiple simulation results to your screen, you can click on the arrow and select the simulation result for which you want to create a flow pattern. + +#) Under *preset*, you can select different aggregation results. For now, select *Flow pattern*. If you are interested, you can play around with the different other options later. If you have set the preset tot *Flow pattern*, press *OK*. The flow pattern will now be derived and visualized in your screen. + +#) You can zoom in on the flow pattern to discern the individual arrows. As you can see, the direction of the arrow indicates the direction of the flow. Furthermore, the color of the arrow is an indicator for discharge (in m3/s) . + +#) Zoom out again to see the general flow pattern in the model area. Note that the main flow paths are not only located in the river. Look at the elevation map and the flow pattern; note that the water flows from the higher areas towards the lower areas and a large part eventually ends up in the river. The main flow paths towards the river are indicated with orange arrows in the figure below. + Finding the maximum inundation depth @@ -238,15 +251,49 @@ Plotting waterlevels Watershed delineation for a flooded area ---------------------- -Martine? +From the maximum water depth raster that you created previously in this tutorial, you can see that some parts of the area are flooded. To better understand why an area gets flooded and to design appropriate measures to decrease flood risks in the future, it is often necessary to know where the water in the flooded area comes from. You can use the Watershed Tool to answer this question. The Watershed Tool allows you to determine the upstream and downstream catchment at any point or area. Follow the steps below to use the watershed tool: + +Load the maximum water depth raster + +#) Before you start with the watershed tool, first load the maximum water depth raster that you created previously in this tutorial. You can do this by dragging the raster in the QGIS-project. Alternatively, you can also choose Layer -> Add layer -> Add Raster Layer. Select the maximum water depth raster and choose *Add*. + +#) You can change the style of the raster by right-clicking on the layer and choosing Properties*. Go to *Symbology* and set the render type to *Singleband pseudocolor*. Under *Color ramp* you can choose for the Blues ramp. Choose *Apply* and *Ok*. + +Using the Watershed tool + +3. From the maximum water depth raster, you can see that part of the town is flooded in this scenario (see the area indicated with the red circle in the figure above). + +4. Now, open the watershed tool by clicking on the symbol indicated in the figure below. + +5. In the Watershed tool, first define the Input. Select the correct results under *3Di results*. + +6. Under *Settings*, you can adjust the period for which you want to carry out the watershed analysis by adjusting the start and end time. Furthermore, you can adjust the threshold. If there is a net flow from the upstream element to the target node(s) above the defined threshold, the upstream element is included in the catchment. For now, you do not need to change the settings. + +7. The next step is to define the target nodes. Choose *Click on canvas* and select the node indicated in the figure below. + +8. The tool automatically calculates the upstream catchment area for the node that you selected. The result of the analysis is depicted in the figure below. By choosing *Clear results*, the catchment will disappear and you can choose another point to derive the upstream catchment for. + +9. By choosing *Downstream* instead of *Upstream* you can derive the downstream catchment of any node (or collection of nodes) that you choose. Feel free to try around and derive the upstream and downstream areas for different nodes or areas in the model area. Calculation the flood volume ---------------------- -Martine? +In the previous part of this tutorial, you have seen how you can use the watershed-tool in 3di to analyze both the upstream and downstream catchment of water in a flooded area. In addition, it is often useful to know what the volume of water in a flooded area is. In this part of the tutorial, you are going to use the water balance-tool to determine the flood volume for an area in your model. + +#) Make sure to have the model and the results opened in the 3Di modeler interface (see previous part of this tutorial for instructions on how to do this). In the model, you can see that a grid refinement was implemented in an area of the town that gets flooded; see the area indicated in the Figure below. You are going to determine the flood volume in this area. + +#) Open the water balance-tool by clicking on the icon indicated in the figure below. + +#) Choose *Select polygon* and click on the grid refinement area. Choose *grid refinement area (study_area)* in the popup menu. + +#) The tool will now automatically calculate and visualize the water balance for this area. Check that it matches the figure below. +#) In the water balance, you can choose to show both discharges and volumes. The tool is automatically set to discharge; change to volume by using the dropdown menu and choose the *m3 cumulative* option. + +#) In the graph, the cumulative volumes of water for different components in the model are displayed. At the right side you can activate and deactivate different options, to visualize different flow components. Hover over the different components to see which ones are indicated in the graph. +#) The main component that is of interest in this question is *2D flow*. Notice that the graph displays both a positive and negative cumulative 2D Flow. This is caused by the fact that the 2D flow is both entering (positive) and leaving (negative) the grid refinement area. The net 2D flow is represented by the dotted red line, representing the *volume change 2D*. By using you mouse to zoom in on the y-axis, you can check the net 2D volume change at the end of the simulation. Check that this is about 3224 m3. From e8c24b475ba09401d8da1a8e0c12482fde9b81e7 Mon Sep 17 00:00:00 2001 From: Bas van Haaren Date: Fri, 3 Nov 2023 07:29:58 +0100 Subject: [PATCH 08/13] Volledige tutorial --- source/e_2d_results_analysis_tutorial.rst | 101 ++++++++++--------- source/image/langaa_waterbalans_antwoord.png | Bin 0 -> 36515 bytes source/image/langaa_waterbalans_leeg.png | Bin 0 -> 13900 bytes 3 files changed, 51 insertions(+), 50 deletions(-) create mode 100644 source/image/langaa_waterbalans_antwoord.png create mode 100644 source/image/langaa_waterbalans_leeg.png diff --git a/source/e_2d_results_analysis_tutorial.rst b/source/e_2d_results_analysis_tutorial.rst index 5c07db3c..532653a4 100644 --- a/source/e_2d_results_analysis_tutorial.rst +++ b/source/e_2d_results_analysis_tutorial.rst @@ -1,7 +1,3 @@ -.. Dit is een comment -.. _dit_is_een_header_link: - - Tutorial 6: Analysing 1D and 2D simulation results ============================================== @@ -13,7 +9,6 @@ Our area of interest is Langaa, a small railway town located in central Denmark. Case study ------------- - Several houses located next to the Vaethvey road are vulnerable to flooding. Recently, the inhabitants living in 21, 23, 25, 27 en 29 have reported heavy inundation after a 40mm rainfall event. Vaethvey road 21-29 is our study area. Now the municipality wants to reproduce this inundation with a hydrodynamic model, to gain insight in the flood properties such as floodextent, floodvolume, and floodduration. The municipality als wants to know where the floodwater originates from. All this isight will help to come up with potential measurements. @@ -84,8 +79,6 @@ We will load the schematisation in the 3Di Modeller Interface to view (and event #) Add a background map from OpenStreetMap by clicking *Web* in the Main Menu > *Quick Map Services* > *OSM* > *OSM Standard*. -.. waarom niet de DEM op de achtergrond? - #) In the Layers panel, reorder the layers such that the OpenStreetMap layer is below the 3Di schematisation. You should now see the DEM around the city of Langaa. @@ -102,7 +95,7 @@ We will now start a simulation with the 3Di model you have created in the 3Di Mo #) Check the box *Include precipitation* (keep *Include initial conditions* and *Include boundary conditions* checked). Click *Next*. -#) Give your simulation the name e.g. *Demo Langa 40mm constant rainfall in 1 hour*. Click *Next*. +#) Give your simulation the name e.g. *Demo Langaa 40mm constant rainfall in 1 hour*. Click *Next*. #) Set the duration of your simulation to 4 hours. Click *Next*. @@ -143,9 +136,9 @@ We will now download the results of your simulation to your working directory wh Opening the simulation results ---------------------- -Now we are going to load your simulation results into the Modeller Interface using the 3Di Results Analysis plugin +Now we are going to load your simulation results into the Modeller Interface using the 3Di Results Analysis plugin: -#) In the 3Di Results Analysis toolbar, click *3Di Results Manager*. Now the 3Di Results Manager panel opens. +#) In the 3Di Results Analysis toolbar, click *3Di Results Manager*. The 3Di Results Manager panel now opens. #) In the 3Di Results Manager panel, click on the *Add 3Di grids or results* button. @@ -157,14 +150,27 @@ Now your simulations results are loaded in the Modeller Interface and shown in y Checking the flow summary ---------------------- -In order to gain more insight in the model simulation, you can check out the flow summary. Go to the results-folder and open the document *flow_summary.log*. +In order to gain more insight in the simulation, we check out the flow summary. + +#) Go to the results-folder of your schematisation in the working directory. Open the document *flow_summary.log*. + +First, you are going to check if the total rainfall volume in the *flow_summary.log* matches the rainfall event (40mm in one hour). + +#) Knowing the rainfaill intensity (40mm), we still need the area for calculating the rainfall volume. Right-click on the *Digital elevation model*-layer and choose *properties*. Under the *information* tab, you can find the width and height of the layer in pixels. Furthermore, under *pixel size* you can find the size of the pixels in meters. Combine this information to calculate the area of the DEM and the total rainfall volume. + +Secondly, you are going to volume balance the better understand de functioning of the model. + +#) Draw your own water balance, indicating the inflow, volume change, and outflow. Alternatively you can use the empty balancy below: -#) Check the volume of rainfall in the log-document and translate the number back to a rainfall-intensity. Does this match the rainfall that we put on the model before the start of the model? (Hint: use the DEM-raster elevation to calculate the area. If you right-click on the *Digital elevation model*-layer, you can choose properties. Under the *information* tab, you can find the width and height of the layer in pixels. Furthermore, under *pixel size* you can find the size of the pixels in meters. If you combine this information, you can calculate the area of the elevation layer.) +|langaa_waterbalans_leeg| -#) Check out the description of the volume balance in the document and complete the figure below with the different components and the corresponding numbers. Check the water balance yourself; do the numbers add up? The filled-in water balance can be found at the end of this tutorial. +#) Now fill in the waterbalance with the numbers you find in the *flow_summary.log*. Check the water balance yourself; do the numbers add up? -#) What is the default time step of the simulation? And the minimum time step? See that this time steps are not the same, and the minimum time step in this simulation is lower than the default time step. The model needs to calculate with a smaller time step, because otherwise the simulation becomes unstable. +The filled-in water balance can be found below: +|langaa_waterbalans_antwoord| + +.. TO Do: Martine om .ppt bestand vragen van de afbeeldingen om m3 netjes te schrijven en af te ronden om minder decimalen Composing the maximum waterdepth raster @@ -207,21 +213,22 @@ When finished, the raster will automaticaly appear in the layers panel. Now we a Analysing the flow pattern ---------------------- -Follow these steps to create a flow pattern from the simulation results: -#) First, load the results from the simulation. Open the 3Di result Manager by clicking on the button indicated in the figure below. - -#) Click on the button with the green *plus*-sign. A pop-up screen will appear where you can select the results that you want to add. Then click on *Load simulation result*. The results will now be added to your screen. -#) Now open the *3Di result aggregation*, by clicking on the button indicated in the figure below. A pop-up screen will appear in your screen. +Now we are going to take a first look on the movement of water on surface by visualising the flow pattern: + +#) First, we are going the load the results from your simulation. Open the 3Di result Manager by clicking on the *3Di results manager* icon (PLAATJE). -#) In the *input* tab, the result is already automatically selected. If you have added multiple simulation results to your screen, you can click on the arrow and select the simulation result for which you want to create a flow pattern. +#) Click on *ADD 3Di Grid or Results* (PLAATJE green *plus*-sign). A pop-up screen appears where you can select the simulation results. Then click on *Load simulation result*. The results will now be added to your screen. -#) Under *preset*, you can select different aggregation results. For now, select *Flow pattern*. If you are interested, you can play around with the different other options later. If you have set the preset tot *Flow pattern*, press *OK*. The flow pattern will now be derived and visualized in your screen. +#) Now click on *3Di result aggregation* (PLAATJE) in the 3Di Results Analysis toolbar. A pop-up screen will appear. + +#) In the *input* tab, the result is selected automatically. -#) You can zoom in on the flow pattern to discern the individual arrows. As you can see, the direction of the arrow indicates the direction of the flow. Furthermore, the color of the arrow is an indicator for discharge (in m3/s) . +#) Under *preset*, you can select different aggregation results. For now, select *Flow pattern*. If you are interested, you can play around with the different other options later. Press *OK*. The flow pattern will now be derived and visualized in your screen. -#) Zoom out again to see the general flow pattern in the model area. Note that the main flow paths are not only located in the river. Look at the elevation map and the flow pattern; note that the water flows from the higher areas towards the lower areas and a large part eventually ends up in the river. The main flow paths towards the river are indicated with orange arrows in the figure below. +#) You can zoom in on the flow pattern to discern the individual arrows. As you can see, the direction of the arrow indicates the direction of the flow. Furthermore, the color of the arrow is an indicator for the relative discharge. +#) Zoom out again to see the general flow pattern in the model area. Look at the elevation map and the flow pattern; note that the water flows from the higher areas towards the lower areas and a large part eventually ends up in the river. Finding the maximum inundation depth @@ -229,11 +236,11 @@ Finding the maximum inundation depth We are going to use the Value Tool to view the inundation depth in our study area using your maximum waterdepth raster. -#) First we have to make sure the maximum waterdepth raster is visible. In the Layers panel, check the layer max_waterdepth_interpolated. +#) First we have to make sure the maximum waterdepth raster is visible. In the Layers panel, check the layer *max_waterdepth_interpolated*. -#) In the Attributes Toolbar, click on the Value Tool plugin. Now the Value Tool panels opens. +#) In the Attributes Toolbar, click on the Value Tool plugin (PLAATJE ICOON). Now the Value Tool panels opens. -#) Now zoom in to our study area and hoover with your mouse over the inundation. In the Value Tool panel you can read the raster values i.e. the maximum water depth. Find that the inundation is op to 75 cm. +#) Now zoom in to our study area and hoover with your mouse over the inundation. In the Value Tool panel you can read the raster values i.e. the maximum water depth. Find that the inundation is up to 75 cm. Plotting waterlevels @@ -251,51 +258,45 @@ Plotting waterlevels Watershed delineation for a flooded area ---------------------- -From the maximum water depth raster that you created previously in this tutorial, you can see that some parts of the area are flooded. To better understand why an area gets flooded and to design appropriate measures to decrease flood risks in the future, it is often necessary to know where the water in the flooded area comes from. You can use the Watershed Tool to answer this question. The Watershed Tool allows you to determine the upstream and downstream catchment at any point or area. Follow the steps below to use the watershed tool: - -Load the maximum water depth raster +To better understand why an area gets flooded and to design appropriate measures to decrease flood risks in the future; we want to know where the water in the flooded area comes from. We will now use the Watershed Tool to answer this question. The Watershed Tool allows you to determine the upstream and downstream catchment at any point or area. Follow the steps below to use the watershed tool: -#) Before you start with the watershed tool, first load the maximum water depth raster that you created previously in this tutorial. You can do this by dragging the raster in the QGIS-project. Alternatively, you can also choose Layer -> Add layer -> Add Raster Layer. Select the maximum water depth raster and choose *Add*. +#) First we have to make sure the maximum waterdepth raster is still visible. In the Layers panel, check the layer *max_waterdepth_interpolated*. -#) You can change the style of the raster by right-clicking on the layer and choosing Properties*. Go to *Symbology* and set the render type to *Singleband pseudocolor*. Under *Color ramp* you can choose for the Blues ramp. Choose *Apply* and *Ok*. - -Using the Watershed tool - -3. From the maximum water depth raster, you can see that part of the town is flooded in this scenario (see the area indicated with the red circle in the figure above). - -4. Now, open the watershed tool by clicking on the symbol indicated in the figure below. +#) Now, open the Watershed tool (PLAATJE) in the 3Di Results Analysis toolbar. -5. In the Watershed tool, first define the Input. Select the correct results under *3Di results*. +#) In the Watershed tool, first define the Input. Select yout results under *3Di results*. -6. Under *Settings*, you can adjust the period for which you want to carry out the watershed analysis by adjusting the start and end time. Furthermore, you can adjust the threshold. If there is a net flow from the upstream element to the target node(s) above the defined threshold, the upstream element is included in the catchment. For now, you do not need to change the settings. +#) Under *Settings*, you can adjust the period for which you want to carry out the watershed analysis by adjusting the start and end time. Furthermore, you can adjust the threshold. If there is a net flow from the upstream element to the target node(s) above the defined threshold, the upstream element is included in the catchment. For now, you do not need to change the settings. -7. The next step is to define the target nodes. Choose *Click on canvas* and select the node indicated in the figure below. +#) The next step is to define the target nodes. Click on *Click on canvas* and select the nodes in our study area (Vaethvey road 21-29). -8. The tool automatically calculates the upstream catchment area for the node that you selected. The result of the analysis is depicted in the figure below. By choosing *Clear results*, the catchment will disappear and you can choose another point to derive the upstream catchment for. +The tool automatically calculates the upstream catchment area for the nodes that you selected. The result of the analysis is depicted in the figure below. By choosing *Clear results*, the catchment will disappear and you can choose different nodes to derive the upstream catchment for. -9. By choosing *Downstream* instead of *Upstream* you can derive the downstream catchment of any node (or collection of nodes) that you choose. Feel free to try around and derive the upstream and downstream areas for different nodes or areas in the model area. +#) Now click *Downstream* instead of *Upstream* to derive the downstream catchment of your selected nodes. The result gives us a indication on how the flood volume is drained during and after the event. Calculation the flood volume ---------------------- -In the previous part of this tutorial, you have seen how you can use the watershed-tool in 3di to analyze both the upstream and downstream catchment of water in a flooded area. In addition, it is often useful to know what the volume of water in a flooded area is. In this part of the tutorial, you are going to use the water balance-tool to determine the flood volume for an area in your model. +Lastly, we are going to use the water balance-tool to determine the flood volume for in our study area. -#) Make sure to have the model and the results opened in the 3Di modeler interface (see previous part of this tutorial for instructions on how to do this). In the model, you can see that a grid refinement was implemented in an area of the town that gets flooded; see the area indicated in the Figure below. You are going to determine the flood volume in this area. +In the schematization, you can see that a grid refinement was implemented in the area of the town that gets flooded: our study area (Vaethvey road 21-29). -#) Open the water balance-tool by clicking on the icon indicated in the figure below. +#) Click on Water balance tool (PLAATJE) in the 3Di Results Analysis toolbar. -#) Choose *Select polygon* and click on the grid refinement area. Choose *grid refinement area (study_area)* in the popup menu. - -#) The tool will now automatically calculate and visualize the water balance for this area. Check that it matches the figure below. +#) Choose *Select polygon* and click on the grid refinement area. Choose *grid refinement area (study_area)* in the popup menu. The tool will now automatically calculate and visualize the water balance for this area. -#) In the water balance, you can choose to show both discharges and volumes. The tool is automatically set to discharge; change to volume by using the dropdown menu and choose the *m3 cumulative* option. +#) In the water balance, you can choose to show both discharges and volumes. The tool is automatically set to discharge. Now change to volume by using the dropdown menu and choose the *m3 cumulative* option. #) In the graph, the cumulative volumes of water for different components in the model are displayed. At the right side you can activate and deactivate different options, to visualize different flow components. Hover over the different components to see which ones are indicated in the graph. -#) The main component that is of interest in this question is *2D flow*. Notice that the graph displays both a positive and negative cumulative 2D Flow. This is caused by the fact that the 2D flow is both entering (positive) and leaving (negative) the grid refinement area. The net 2D flow is represented by the dotted red line, representing the *volume change 2D*. By using you mouse to zoom in on the y-axis, you can check the net 2D volume change at the end of the simulation. Check that this is about 3224 m3. +#) The main component that is of interest in this question is *2D flow*. Notice that the graph displays both a positive and negative cumulative 2D Flow. This is caused by the fact that the 2D flow is both entering (positive) and leaving (negative) the study area. The net 2D flow is represented by the dotted red line, representing the *volume change 2D*. Use your mouse to zoom in on the y-axis, you can check the net 2D volume change at the end of the simulation. Check that the floow volume is about 3200 m3. +.. |langaa_waterbalans_leeg| image:: /langaa_waterbalans_leeg.png + :scale: 100% +.. |langaa_waterbalans_antwoord| image:: /image/langaa_waterbalans_antwoord.png + :scale: 100% .. |load_from_spatialite| image:: /image/pictogram_load_from_spatialite.png :scale: 80% diff --git a/source/image/langaa_waterbalans_antwoord.png b/source/image/langaa_waterbalans_antwoord.png new file mode 100644 index 0000000000000000000000000000000000000000..0820d5861812039d076c4a82fcc0a7d7fcc717b5 GIT binary patch literal 36515 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 literal 0 HcmV?d00001 diff --git a/source/image/langaa_waterbalans_leeg.png b/source/image/langaa_waterbalans_leeg.png new file mode 100644 index 0000000000000000000000000000000000000000..5bdd5fed64f56e6799f7c89d251fd9baf96ef41d GIT binary patch literal 13900 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 EKVEZZ-T(jq literal 0 HcmV?d00001 From 28444fcd4003066b21e9479322ff04da343b481d Mon Sep 17 00:00:00 2001 From: leendertvanwolfswinkel Date: Thu, 11 Jan 2024 08:49:25 +0100 Subject: [PATCH 09/13] build issues --- STYLE_GUIDE.md | 1 + ...al.rst => e_results_analysis_tutorial.rst} | 72 +++++++++++-------- source/e_tutorials.rst | 2 +- 3 files changed, 46 insertions(+), 29 deletions(-) rename source/{e_2d_results_analysis_tutorial.rst => e_results_analysis_tutorial.rst} (94%) diff --git a/STYLE_GUIDE.md b/STYLE_GUIDE.md index 0ab53303..acab3f96 100644 --- a/STYLE_GUIDE.md +++ b/STYLE_GUIDE.md @@ -23,3 +23,4 @@ Common spelling mistakes: - Wrong: ground water. Right: groundwater. - Wrong: timeseries. Right: time series. - Wrong: time serie. Right: time series (also if it is a single time series!!). +- Wrong: waterlevel. Right: water level diff --git a/source/e_2d_results_analysis_tutorial.rst b/source/e_results_analysis_tutorial.rst similarity index 94% rename from source/e_2d_results_analysis_tutorial.rst rename to source/e_results_analysis_tutorial.rst index 532653a4..c39ade40 100644 --- a/source/e_2d_results_analysis_tutorial.rst +++ b/source/e_results_analysis_tutorial.rst @@ -1,33 +1,44 @@ Tutorial 6: Analysing 1D and 2D simulation results -============================================== +================================================== Introduction -------------- -In this tutorial, we are going to examine the results of a simulation. The schematization is pre build. The simulation results will be analysed using the :ref:`3Di Results Analysis plugin <_analysing_results>` in the :ref:`3Di Modeller Interface `. At the end of this tutorial, you have acquired some hands on expertise for analysing the movement of water within a 3Di model. +------------ + +In this tutorial, we are going to examine the results of a simulation. The schematization is pre build. The simulation results will be analysed using the :ref:`3Di Results Analysis plugin` in the :ref:`3Di Modeller Interface`. At the end of this tutorial, you have acquired some hands on expertise for analysing the movement of water within a 3Di model. Our area of interest is Langaa, a small railway town located in central Denmark. Langaa is situated between raised agricultural lands to the western side and the Gudena River to the eastern side of the town. The urban area has a seperated sewer system. The wastewater sewer inclines towards a pumping station, and the rainwater sewer has two outlets close to the Gudena River. While this tutorial represents a real-world area, it is important to note that some processes have been simplified for the purpose of this tutorial. Case study -------------- +---------- + Several houses located next to the Vaethvey road are vulnerable to flooding. Recently, the inhabitants living in 21, 23, 25, 27 en 29 have reported heavy inundation after a 40mm rainfall event. Vaethvey road 21-29 is our study area. Now the municipality wants to reproduce this inundation with a hydrodynamic model, to gain insight in the flood properties such as floodextent, floodvolume, and floodduration. The municipality als wants to know where the floodwater originates from. All this isight will help to come up with potential measurements. Learning objectives --------------------- +------------------- + You will learn the following in this tutorial: -Downloading your simulation results -Checking the flow summary -Composing the maximum waterdepth raster -Analysing the flow pattern -Finding the maximum inundation depth -Plotting waterlevels -Watershed delineation for a flooded area -Calculation the flood volume +- Downloading your simulation results + +- Checking the flow summary + +- Composing the maximum waterdepth raster + +- Analysing the flow pattern + +- Finding the maximum inundation depth + +- Plotting water levels + +- Watershed delineation for a flooded area + +- Calculation the flood volume Preparation ------------- +----------- + Before you get started: * Make sure you have a 3Di account. Please contact the :ref:`servicedesk` if you need help with this. @@ -40,7 +51,8 @@ Unzip the dataset for this tutorial and save the contents in your download folde Creating a new schematisation ------------------------------- +----------------------------- + The first step is to create a new :ref:`schematisation`: #) Open the 3Di Modeller Interface. @@ -56,6 +68,7 @@ The first step is to create a new :ref:`schematisation`: Uploading the schematisation ---------------------------- + We will now upload the schematisation as a first :ref:`revision` and process it into a :ref:`threedimodel`. All these steps are covered by the upload wizard. #) Click the upload button (|upload|) in the 3Di Models and Simulations panel. @@ -71,6 +84,7 @@ We will now upload the schematisation as a first :ref:`revision` and process it Viewing the schematisation -------------------------- + We will load the schematisation in the 3Di Modeller Interface to view (and eventually modify) its contents. The schematisation can be loaded by following these steps: #) In the 3Di Schematisation Editor toolbar, click the *Load from Spatialite* button (|load_from_spatialite|). Paste the previously copied path to the spatialite and click *Open*. @@ -122,7 +136,7 @@ It is also possible to simulate your model with 3Di Live. This is explained prev Downloading the simulation results ----------------------- +---------------------------------- We will now download the results of your simulation to your working directory which is a local folder: @@ -134,7 +148,7 @@ We will now download the results of your simulation to your working directory wh Opening the simulation results ----------------------- +------------------------------ Now we are going to load your simulation results into the Modeller Interface using the 3Di Results Analysis plugin: @@ -148,7 +162,7 @@ Now your simulations results are loaded in the Modeller Interface and shown in y Checking the flow summary ----------------------- +------------------------- In order to gain more insight in the simulation, we check out the flow summary. @@ -174,7 +188,7 @@ The filled-in water balance can be found below: Composing the maximum waterdepth raster ----------------------- +--------------------------------------- In this step, we are going build a raster showing the maximum 2D waterdepth for each gridcel. @@ -212,7 +226,7 @@ When finished, the raster will automaticaly appear in the layers panel. Now we a Analysing the flow pattern ----------------------- +-------------------------- Now we are going to take a first look on the movement of water on surface by visualising the flow pattern: @@ -232,7 +246,7 @@ Now we are going to take a first look on the movement of water on surface by vis Finding the maximum inundation depth ----------------------- +------------------------------------ We are going to use the Value Tool to view the inundation depth in our study area using your maximum waterdepth raster. @@ -243,8 +257,8 @@ We are going to use the Value Tool to view the inundation depth in our study are #) Now zoom in to our study area and hoover with your mouse over the inundation. In the Value Tool panel you can read the raster values i.e. the maximum water depth. Find that the inundation is up to 75 cm. -Plotting waterlevels ----------------------- +Plotting water levels +--------------------- #) In the 3Di Result Analysis Toolbar, click on the Time series plotter icon. Now the Value Tool panels opens. Now the 3Di Time series plotter panel opens. @@ -256,7 +270,7 @@ Plotting waterlevels Watershed delineation for a flooded area ----------------------- +---------------------------------------- To better understand why an area gets flooded and to design appropriate measures to decrease flood risks in the future; we want to know where the water in the flooded area comes from. We will now use the Watershed Tool to answer this question. The Watershed Tool allows you to determine the upstream and downstream catchment at any point or area. Follow the steps below to use the watershed tool: @@ -275,8 +289,8 @@ The tool automatically calculates the upstream catchment area for the nodes that #) Now click *Downstream* instead of *Upstream* to derive the downstream catchment of your selected nodes. The result gives us a indication on how the flood volume is drained during and after the event. -Calculation the flood volume ----------------------- +Calculating the flood volume +---------------------------- Lastly, we are going to use the water balance-tool to determine the flood volume for in our study area. @@ -292,7 +306,7 @@ In the schematization, you can see that a grid refinement was implemented in the #) The main component that is of interest in this question is *2D flow*. Notice that the graph displays both a positive and negative cumulative 2D Flow. This is caused by the fact that the 2D flow is both entering (positive) and leaving (negative) the study area. The net 2D flow is represented by the dotted red line, representing the *volume change 2D*. Use your mouse to zoom in on the y-axis, you can check the net 2D volume change at the end of the simulation. Check that the floow volume is about 3200 m3. -.. |langaa_waterbalans_leeg| image:: /langaa_waterbalans_leeg.png +.. |langaa_waterbalans_leeg| image:: /image/langaa_waterbalans_leeg.png :scale: 100% .. |langaa_waterbalans_antwoord| image:: /image/langaa_waterbalans_antwoord.png @@ -324,4 +338,6 @@ In the schematization, you can see that a grid refinement was implemented in the .. |Simulate| image:: /image/pictogram_simulate.png :scale: 80% -.. check zipje!! (nieuw zipje kan reinout of wolf online zetten voor je) \ No newline at end of file + +.. check zipje!! (nieuw zipje kan reinout of wolf online zetten voor je) + diff --git a/source/e_tutorials.rst b/source/e_tutorials.rst index 361be10f..135d7e29 100644 --- a/source/e_tutorials.rst +++ b/source/e_tutorials.rst @@ -15,4 +15,4 @@ If you are looking for instructions on more advanced topics, please check out th e_2d_slope_tutorial e_2d_flood_tutorial e_2d_flood_adaptation_tutorial - e_2d_results_analysis_tutorial + e_results_analysis_tutorial From fd507fca331dbe86819b9e8f34bea329ca691dec Mon Sep 17 00:00:00 2001 From: leendertvanwolfswinkel Date: Mon, 15 Jan 2024 22:47:41 +0100 Subject: [PATCH 10/13] Eindredactie (WIP) --- source/e_results_analysis_tutorial.rst | 84 +++++++++++++++----------- source/h_logging.rst | 3 + source/i_overview_user_interface.rst | 17 +++--- 3 files changed, 60 insertions(+), 44 deletions(-) diff --git a/source/e_results_analysis_tutorial.rst b/source/e_results_analysis_tutorial.rst index c39ade40..fac83dee 100644 --- a/source/e_results_analysis_tutorial.rst +++ b/source/e_results_analysis_tutorial.rst @@ -4,14 +4,14 @@ Tutorial 6: Analysing 1D and 2D simulation results Introduction ------------ -In this tutorial, we are going to examine the results of a simulation. The schematization is pre build. The simulation results will be analysed using the :ref:`3Di Results Analysis plugin` in the :ref:`3Di Modeller Interface`. At the end of this tutorial, you have acquired some hands on expertise for analysing the movement of water within a 3Di model. +In this tutorial, we explore how you can analyse simulation results using the :ref:`3Di Modeller Interface`. -Our area of interest is Langaa, a small railway town located in central Denmark. Langaa is situated between raised agricultural lands to the western side and the Gudena River to the eastern side of the town. The urban area has a seperated sewer system. The wastewater sewer inclines towards a pumping station, and the rainwater sewer has two outlets close to the Gudena River. While this tutorial represents a real-world area, it is important to note that some processes have been simplified for the purpose of this tutorial. +Our area of interest is Langå, a small railway town located in central Denmark. Langå is situated between raised agricultural lands to the west and the Gudena River to the east of the town. The urban area has a seperated sewer system. The wastewater sewer inclines towards a pumping station, and the stormwater sewer has two outlets close to the Gudena River. While this tutorial represents a real-world area, it is important to note that some processes have been simplified for the purpose of this tutorial and that the situations described in are hypothetical. Case study ---------- -Several houses located next to the Vaethvey road are vulnerable to flooding. Recently, the inhabitants living in 21, 23, 25, 27 en 29 have reported heavy inundation after a 40mm rainfall event. Vaethvey road 21-29 is our study area. Now the municipality wants to reproduce this inundation with a hydrodynamic model, to gain insight in the flood properties such as floodextent, floodvolume, and floodduration. The municipality als wants to know where the floodwater originates from. All this isight will help to come up with potential measurements. +Several houses located next to the Vaethvey road are vulnerable to flooding. Recently, the inhabitants living in 21, 23, 25, 27 en 29 have reported heavy inundation after a 40 mm rainfall event. Vaethvey road 21-29 is our study area. Now the municipality wants to reproduce this inundation with a hydrodynamic model, to gain insight in the flood properties such as flood extent, flood volume, and flood duration. The municipality also wants to know where the flood water originates from. All this insight will help the municipal government to come up with potential measurements. Learning objectives @@ -19,11 +19,11 @@ Learning objectives You will learn the following in this tutorial: -- Downloading your simulation results +- Downloading simulation results - Checking the flow summary -- Composing the maximum waterdepth raster +- Generaring a maximum inundation depth raster - Analysing the flow pattern @@ -47,7 +47,7 @@ Before you get started: .. TODO: zip updaten via Wolf -Unzip the dataset for this tutorial and save the contents in your download folder. The dataset that you downloaded for this tutorial contains a 3Di schematisation (.sqlite extension) including a digital elevation model raster (DEM) for the place Langaa. The DEM is located in the folder named "rasters". +Unzip the dataset for this tutorial and save the contents in your download folder. The dataset that you downloaded for this tutorial contains a 3Di schematisation (.sqlite extension) including a digital elevation model raster (DEM) for the place Langå. The DEM is located in the folder named "rasters". Creating a new schematisation @@ -61,7 +61,7 @@ The first step is to create a new :ref:`schematisation`: #) In the *Schematisation* section of the 3Di Models and Simulations panel, click the *New* button (|newschematisation|). The *New schematisation* wizard is shown. -#) Fill in a schematisation name, such as 'Tutorial analysing simulation results Langaa '. Select the organisation you want to be the owner of the new schematisation (most users have rights for only one organisation). Tags are optional, you can leave this field empty for now. Since you will use a pre build schematisation, select the *Choose file* option. Select the schematisation *Demo model Langaa.sqlite* extension) from your dowload folder. +#) Fill in a schematisation name, such as 'Tutorial analysing simulation results Langaa '. Select the organisation you want to be the owner of the new schematisation (most users have rights for only one organisation). Tags are optional, you can leave this field empty for now. Since you will use a pre-built schematisation, select the *Choose file* option. Select the schematisation file *Demo model Langaa.sqlite* from your Downloads folder. #) Click *Create schematisation*. A popup message will tell you that the schematisation was created successfully. Copy the path that is shown in the popup message and paste it somewhere (e.g. in an empty text file). @@ -77,7 +77,7 @@ We will now upload the schematisation as a first :ref:`revision` and process it #) Click *Check schematisation*. This will check your schematisations for any errors that would make it impossible to generate a valid 3Di model and simulation template. It should not produce any errors, warnings or info level messages. Click *Next*. -#) Fill in a commit message. As this is the first revision of this schematisation, you can give provide a short description of what you upload. For example: "Langaa schematisions without changes". +#) Fill in a commit message. This is a short description of the changes you have made relative to the previous revision. As this is the first revision of this schematisation, you can provide a short description of what you upload. For example: "Langå schematision without changes". #) Click *Start upload*. Check whether the upload is successful and the schematisation is successfully processed into a 3Di model. @@ -85,7 +85,7 @@ We will now upload the schematisation as a first :ref:`revision` and process it Viewing the schematisation -------------------------- -We will load the schematisation in the 3Di Modeller Interface to view (and eventually modify) its contents. The schematisation can be loaded by following these steps: +We will load the schematisation in the 3Di Modeller Interface to view it. Later in this tutorial we will also make some modifications. The schematisation can be loaded by following these steps: #) In the 3Di Schematisation Editor toolbar, click the *Load from Spatialite* button (|load_from_spatialite|). Paste the previously copied path to the spatialite and click *Open*. @@ -95,11 +95,11 @@ We will load the schematisation in the 3Di Modeller Interface to view (and event #) In the Layers panel, reorder the layers such that the OpenStreetMap layer is below the 3Di schematisation. -You should now see the DEM around the city of Langaa. +You should now see the DEM around Langå. -Running a simulation ----------------------- +Running a simulation +-------------------- We will now start a simulation with the 3Di model you have created in the 3Di Modeller Interface: @@ -107,9 +107,9 @@ We will now start a simulation with the 3Di model you have created in the 3Di Mo #) Select your model and simulation template and click *Next*. A dialog box opens with several options for your simulation. -#) Check the box *Include precipitation* (keep *Include initial conditions* and *Include boundary conditions* checked). Click *Next*. +#) Check the box *Include precipitation*. Keep *Include initial conditions* and *Include boundary conditions* checked. Click *Next*. -#) Give your simulation the name e.g. *Demo Langaa 40mm constant rainfall in 1 hour*. Click *Next*. +#) Give your simulation a name, e.g. *Demo Langaa 40mm constant rainfall in 1 hour*. Click *Next*. #) Set the duration of your simulation to 4 hours. Click *Next*. @@ -132,7 +132,7 @@ Your simulation will start as soon as a calculation node is available for your o In the 3Di Models and Simulations panel, click *Simulate*. An overview is given of all running simulations for your organisation(s). Here you can follow the progress of your simulation. -It is also possible to simulate your model with 3Di Live. This is explained previous tutorials. +You may also :ref:`follow the simulation in 3Di Live`. Downloading the simulation results @@ -140,59 +140,68 @@ Downloading the simulation results We will now download the results of your simulation to your working directory which is a local folder: -#) In the 3Di Models and Simulations panel, click *Results* (|simulate|). +#) In the 3Di Models and Simulations panel, click *Results* |simulate|. #) Select your simulation and click *Download*. A download progress bar now appears. This progress bar colors green when the downloading of your simulation results is finished. -#) You can now find your simulation results in your working directory. The working directory is a local folder which you have defined during your Modeller Interface installation, e.g. C:\3Di_schematisations. Your can find or change this folder by clicking *Plugins* in the Main Menu > *3Di Models and Simulations* > *Settings* and then click on the *Browse* button. +.. note: + The simulation results are saved in your 3Di working directory. To open this folder, click on the name of the schematisation in the 3Di Models & Simulations panel. Opening the simulation results ------------------------------ -Now we are going to load your simulation results into the Modeller Interface using the 3Di Results Analysis plugin: +Our next step is to load the simulation results in the 3Di Modeller Interface. -#) In the 3Di Results Analysis toolbar, click *3Di Results Manager*. The 3Di Results Manager panel now opens. +#) In the :ref:`results_analysis_toolbar`, click the *3Di Results Manager* button |results_manager|. The 3Di Results Manager panel now opens. -#) In the 3Di Results Manager panel, click on the *Add 3Di grids or results* button. +#) In the 3Di Results Manager panel, click on the |add_results| *Add 3Di grids or results* button. -#) Select your simulation and click *Load simulation results*, or dubble click on the name of your simulation. +#) Select your simulation and click *Load simulation results*, or double click the name of your simulation. -Now your simulations results are loaded in the Modeller Interface and shown in your *Layers panel*. +Now your simulations results are loaded in the 3Di Modeller Interface and shown in the *Layers panel*. Checking the flow summary ------------------------- -In order to gain more insight in the simulation, we check out the flow summary. +As a first step of gaining insight in the simulation, we will check out the :ref:`flow_summary`. -#) Go to the results-folder of your schematisation in the working directory. Open the document *flow_summary.log*. +#) In the 3Di Models & Simulations panel, click on the name of the schematisation to open the folder where the simulation results are downloaded to. -First, you are going to check if the total rainfall volume in the *flow_summary.log* matches the rainfall event (40mm in one hour). +#) Open the document *flow_summary.json*. -#) Knowing the rainfaill intensity (40mm), we still need the area for calculating the rainfall volume. Right-click on the *Digital elevation model*-layer and choose *properties*. Under the *information* tab, you can find the width and height of the layer in pixels. Furthermore, under *pixel size* you can find the size of the pixels in meters. Combine this information to calculate the area of the DEM and the total rainfall volume. +First, we will check if the total rainfall volume in the *flow_summary.log* matches the rainfall event (40mm in one hour). To be able to calculate this, we need to know the surface area of the model. + +#) In the 3Di Modeller Interface, in the Layers panel, right-click on the layer *Digital elevation model* > *Properties*. + +#) Under the *Information* tab, in the *Information from provider* section, you can find the width and height (in pixels), and pixel size (in meters). Combine this information to calculate the area of the DEM and the total rainfall volume. Does it correspond with the total rain on 2D reported in the Flow summary? + +.. note: + The 3Di Model in this example is atypical in that it is perfectly rectangular. All pixels in the DEM have a value. Most 3Di Models have a boundary that follows hydrogical watershed boundaries. DEM pixels outside of these boundaries are "no data" pixels. In such a case, the method used here for calculating the surface area of the model does not work. Instead, use the QGIS Processing Algorithm "Zonal statics", with an input polygon that covers the entire model domain, and choose "Count" as one of the statistics to calculate. Secondly, you are going to volume balance the better understand de functioning of the model. -#) Draw your own water balance, indicating the inflow, volume change, and outflow. Alternatively you can use the empty balancy below: +#) Draw your own water balance, indicating the inflow, volume change, and outflow. Alternatively, you can use the empty balance below: |langaa_waterbalans_leeg| -#) Now fill in the waterbalance with the numbers you find in the *flow_summary.log*. Check the water balance yourself; do the numbers add up? +#) Now fill in the water balance with the numbers you find in the flow summary. Check the water balance yourself; do the numbers add up? Does the difference correspond with the volume error reported in the flow summary? The filled-in water balance can be found below: |langaa_waterbalans_antwoord| -.. TO Do: Martine om .ppt bestand vragen van de afbeeldingen om m3 netjes te schrijven en af te ronden om minder decimalen +.. todo: + Martine om .ppt bestand vragen van de afbeeldingen om m3 netjes te schrijven en af te ronden op minder decimalen -Composing the maximum waterdepth raster ---------------------------------------- +Generating the maximum water depth raster +----------------------------------------- -In this step, we are going build a raster showing the maximum 2D waterdepth for each gridcel. +In this step, we are going generate a maximum inundation depth map. -#) Open the *Processing Toolbox* by clicking *Processing* in the Main Menu > *Toolbox*. The Processing Toolbox panel now opens. +#) Open the *Processing Toolbox* by clicking *Processing* in the Main Menu > *Toolbox*. The Processing Toolbox panel now opens. #) In the Processing Toolbox panel, click on *3Di* > *Post-process results* > then dubble click on *Maximum water depth/ level raster*. @@ -324,6 +333,9 @@ In the schematization, you can see that a grid refinement was implemented in the .. |add_point| image:: /image/pictogram_addpoint.png :scale: 80% +.. |add_results| image:: /image/pictogram_add_results.png + :scale: 80% + .. |upload| image:: /image/pictogram_upload_schematisation.png :scale: 80% @@ -336,8 +348,12 @@ In the schematization, you can see that a grid refinement was implemented in the .. |newschematisation| image:: /image/pictogram_newschematisation.png :scale: 80% -.. |Simulate| image:: /image/pictogram_simulate.png +.. |simulate| image:: /image/pictogram_simulate.png + :scale: 80% + +.. |results_manager| image:: /image/i_3di_results_analysis_toolbar_results_manager.png :scale: 80% + .. check zipje!! (nieuw zipje kan reinout of wolf online zetten voor je) diff --git a/source/h_logging.rst b/source/h_logging.rst index 2b0ba882..b3ae153b 100644 --- a/source/h_logging.rst +++ b/source/h_logging.rst @@ -3,6 +3,9 @@ Log files ========= + +.. _flow_summary: + Flow summary ------------ diff --git a/source/i_overview_user_interface.rst b/source/i_overview_user_interface.rst index 956af67d..43d45ca3 100644 --- a/source/i_overview_user_interface.rst +++ b/source/i_overview_user_interface.rst @@ -76,7 +76,7 @@ Activate the 3Di Models and Simulation panel by clicking the pictogram (|modelsS Access the 3Di Models and Simulation settings dialog by clicking *Main menu* > *Plugins* > *3Di Models and Simulations* > *Settings*. .. figure:: image/i_overview_models_sim_setting.png - :alt: Overview interface Models and Simulation Settings + :alt: Overview of the 3Di Models and Simulation Settings dialog * **Base API URL:** The Base API URL is in most cases https://api.3di.live. * **Uploads processing timeout:** If uploading data for a simulation (such as initial water levels or laterals time series) takes longer than the value specified here (in seconds), 3Di Models & Simulations will stop trying to initialize the simulation. Default value is 900 s. @@ -89,16 +89,13 @@ Access the 3Di Models and Simulation settings dialog by clicking *Main menu* > * 3Di Results Analysis toolbar ---------------------------- -.. todo:: - - describe the 3Di Results Analysis toolbar, include this thing about log file somewhere in that description: - .. _logfile: - Log file - -------- - - Clicking the (|loggingtoolbar|) saves the logging of your results analysis to your computer. By clicking the underlined path to the text file in the pop-up windows you can open the log file. This can provide helpful information about what went wrong in case of an error. + +.. figure:: image/i_3di_results_analysis_toolbar.png + :alt: 3Di Results Analysis toolbar - Also, it can be send as an attachment to our :ref:`servicedesk` at servicedesk@nelen-schuurmans.nl in case of errors. +The 3Di Results Analysis toolbar gives you access to all the :ref:`toctree_analysing_results`. + +Clicking the (|loggingtoolbar|) saves the technical logging of the 3Di Results Analysis plugin to a file. This can be helpful for the our :ref:`servicedesk` when you run into any technical issues with the 3Di Results Analysis plugin. .. _temporal_controller: From 2484d3d7ee983da5d53e28a7c56668aaa85f7476 Mon Sep 17 00:00:00 2001 From: leendertvanwolfswinkel Date: Tue, 30 Jan 2024 13:46:30 +0100 Subject: [PATCH 11/13] Further editing --- README.rst | 5 + source/e_results_analysis_tutorial.rst | 140 ++++--- source/i_results_aggregation.rst | 2 +- source/image/langaa_waterbalans_antwoord.png | Bin 36515 -> 33144 bytes source/image/langaa_waterbalans_leeg.png | Bin 13900 -> 12491 bytes source/image/new_geopackage.svg | 1 + source/image/value_tool.svg | 414 +++++++++++++++++++ 7 files changed, 512 insertions(+), 50 deletions(-) create mode 100644 source/image/new_geopackage.svg create mode 100644 source/image/value_tool.svg diff --git a/README.rst b/README.rst index 057aafa5..6019c0f2 100644 --- a/README.rst +++ b/README.rst @@ -61,6 +61,11 @@ When the citation has been added to the .bib file, cite it in the text like this For further details, see :cite:p:`Volp2013` +QGIS icons +---------- + +Instead of screenshotting the icons from QGIS, you can find the originals here: https://github.com/qgis/QGIS/tree/master/images/themes/default + Some sphinx/restructuredtext notes ---------------------------------- diff --git a/source/e_results_analysis_tutorial.rst b/source/e_results_analysis_tutorial.rst index fac83dee..0068b76d 100644 --- a/source/e_results_analysis_tutorial.rst +++ b/source/e_results_analysis_tutorial.rst @@ -33,7 +33,7 @@ You will learn the following in this tutorial: - Watershed delineation for a flooded area -- Calculation the flood volume +- Calculating the flood volume Preparation @@ -192,128 +192,153 @@ The filled-in water balance can be found below: |langaa_waterbalans_antwoord| -.. todo: - Martine om .ppt bestand vragen van de afbeeldingen om m3 netjes te schrijven en af te ronden op minder decimalen - Generating the maximum water depth raster ----------------------------------------- In this step, we are going generate a maximum inundation depth map. -#) Open the *Processing Toolbox* by clicking *Processing* in the Main Menu > *Toolbox*. The Processing Toolbox panel now opens. +#) Open the *Processing Toolbox* (*Main Menu* > *Processing* > *Toolbox*). -#) In the Processing Toolbox panel, click on *3Di* > *Post-process results* > then dubble click on *Maximum water depth/ level raster*. +#) In the Processing Toolbox panel, click on *3Di* > *Post-process results* > then double click *Maximum water depth / level raster*. -Now a new panel opens where we can define the settings for the maximum waterdepth raster that we are going to creat. +Now a new panel opens where we can define the settings for the maximum water depth raster that we are going to create. -#) Select your gridadmin.h5 file by clicking on de browse button browse to your working directory folder (e.g. C:\3Di_schematisations) > Demo model Langaa > revision 1 > results > Demo Langa 40mm constant rainfall in 1 hour > gridadmin.h5. +#) Select your gridadmin.h5 file by clicking on the browse button and browse to your working directory folder (e.g. C:\3Di_schematisations) > Demo model Langaa > revision 1 > results > Demo Langa 40mm constant rainfall in 1 hour > gridadmin.h5. -#) Select your simulation results by clicking on de browse button, then browse to your working directory folder > Demo model Langaa > revision 1 > results > Demo Langa 40mm constant rainfall in 1 hour > results_3di.nc. +#) Select your simulation results file (results_3di.nc). This file is located in the same directory as the gridadmin.h5 file. -#) Select the DEM (Digital Elevatil Model) by clicking on de browse button under DEM. Then browse to your working directory folder > Demo model Langaa > work in progress > schematisation > rasters > Elevation_model_Langaa.tif. +#) Select the DEM (Digital Elevation Model) by clicking on the browse button under DEM. Browse to your working directory > Demo model Langaa > work in progress > schematisation > rasters > Elevation_model_Langaa.tif. #) Set the Interpolation mode to *Interpolated water depth*. -#) Set the destination file path for water depth/level raster by clicking the browse button. Browse to your working directory C:\3Di_schematisations) > Demo model Langaa > revision 1 > results and write the File name max_waterdepth_interpolated.tif. +#) Set the destination file path for water depth/level raster by clicking the browse button. Browse to your working directory > Demo model Langaa > revision 1 > results. + +#) Write the file name max_water_depth_interpolated.tif. + +#) Click *Run*. + +When finished, the raster will automaticaly appear in the *Layers* panel. Now we are going to add a basic styling to this raster. -#) Click on the *run* button. +#) In the *Layers* panel, double click the layer max_water_depth_interpolated. The Layer Properties window opens. -When finished, the raster will automaticaly appear in the layers panel. Now we are going to add a basis styling to this raster: +#) In the layer properties window, the *Symbology* tab (at the left side). -#) Dubble click on raster name in the layer panel to open the Layer Properties window. +#) Set *Render type* to *Singleband pseudocolor*. -#) In the layer properties window, click on the left on the Symbology tab. +#) Set *Color ramp*/ to Blues. -#) Set Render type to Singleband pseudocolor. +#) Fill in 0.0 as Min value and 0.5 as Max value. These are units in meters. -#) Set color ramp to Blues. +We will now make all water depths between 0 and 1 cm transparent. -#) Fill in 0.05 as Min value and 0.5 as Max value, the unit is meters. +#) In the *Transparency* tab, under *Custom transparency options*, click the + button. + +#) For *From*, fill in 0; for *To*, fill in 0.01. #) Click *OK*. +Finding the maximum inundation depth +------------------------------------ + +We are going to use the Value Tool to view the inundation depth in our study area using the maximum water depth raster. + +#) First, make sure the maximum water depth raster is visible. In the Layers panel, check the layer *max_water_depth_interpolated*. + +#) In the Attributes Toolbar, click on the |value_tool| Value Tool button. Now the Value Tool panels opens. + +#) Now zoom in to our study area; with your mouse, hoover over the inundated area. In the Value Tool panel, you can read the raster values, i.e. the maximum inundation depth. Find that the inundation is up to 75 cm. + + + Analysing the flow pattern -------------------------- -Now we are going to take a first look on the movement of water on surface by visualising the flow pattern: +Now we are going to take a first look into how the water flows through the modelled area, by visualising the flow pattern. -#) First, we are going the load the results from your simulation. Open the 3Di result Manager by clicking on the *3Di results manager* icon (PLAATJE). - -#) Click on *ADD 3Di Grid or Results* (PLAATJE green *plus*-sign). A pop-up screen appears where you can select the simulation results. Then click on *Load simulation result*. The results will now be added to your screen. +First, we are going the load the results from your simulation. -#) Now click on *3Di result aggregation* (PLAATJE) in the 3Di Results Analysis toolbar. A pop-up screen will appear. +#) Click the |results_manager| *3Di Results Manager* icon. -#) In the *input* tab, the result is selected automatically. +#) Click |add_results| *Add 3Di Grid or Results*. -#) Under *preset*, you can select different aggregation results. For now, select *Flow pattern*. If you are interested, you can play around with the different other options later. Press *OK*. The flow pattern will now be derived and visualized in your screen. +#) A pop-up screen appears where you can select the simulation results. Double-click your downloaded results. -#) You can zoom in on the flow pattern to discern the individual arrows. As you can see, the direction of the arrow indicates the direction of the flow. Furthermore, the color of the arrow is an indicator for the relative discharge. +The results will now be added to the project. -#) Zoom out again to see the general flow pattern in the model area. Look at the elevation map and the flow pattern; note that the water flows from the higher areas towards the lower areas and a large part eventually ends up in the river. +#) In the 3Di Results Manager, click the |closed_eye| icon. +In the layers panel, the node, flowline and cell layers have been renamed to the variable that is visualised. -Finding the maximum inundation depth ------------------------------------- +#) Toggle the *Node* and *Cell* layers to invisible. -We are going to use the Value Tool to view the inundation depth in our study area using your maximum waterdepth raster. +You now see the net cumulative discharge over the whole simulation for each flowline. You may move the time slider in the *Temporal Controller* at the top of the screen to view the results for earlier moments in the simulation. In the 3Di Results Manager panel, you can also change the visualised variable to *Discharge* to get a snapshot of the situation at the time step you have navigated to in the *Temporal Controller*. -#) First we have to make sure the maximum waterdepth raster is visible. In the Layers panel, check the layer *max_waterdepth_interpolated*. +Another way to analyse the flow pattern is by using the *3Di Results Aggregation* tool. -#) In the Attributes Toolbar, click on the Value Tool plugin (PLAATJE ICOON). Now the Value Tool panels opens. +#) Click |resultsaggregationtoolbar| *3Di Result Aggregation* in the *3Di Results Analysis toolbar*. A pop-up screen will appear. + +#) In the *Input* tab, the simulation result is selected automatically. -#) Now zoom in to our study area and hoover with your mouse over the inundation. In the Value Tool panel you can read the raster values i.e. the maximum water depth. Find that the inundation is up to 75 cm. +#) Under *Preset*, select *Flow pattern*. If you are interested, you can play around with the other presets options later. Click *OK*. The flow pattern will now be derived and thre resulting layer will be added to the project. The layer shows an arrow for each calculation node. + +#) You can zoom in on the flow pattern to discern the individual arrows. As you can see, the direction of the arrow indicates the direction of the flow. The colour of the arrow is scaled with the discharge. + +#) Zoom out again to see the general flow pattern in the model area. Look at the elevation map and the flow pattern; note that the water flows from the higher areas towards the lower areas and a large part eventually ends up in the river. Plotting water levels --------------------- -#) In the 3Di Result Analysis Toolbar, click on the Time series plotter icon. Now the Value Tool panels opens. Now the 3Di Time series plotter panel opens. +#) In the 3Di Result Analysis Toolbar, click on the *Time series plotter* icon. Now the 3Di Time series plotter panel opens. #) In the 3Di Time series plotter panel, click on *Pick nodes/cells*. -#) Click on a 2D surface water node in the study area on a inundated location. Now a graph appears for the selected 2D node. +#) Click on a 2D surface water node in the study area in an inundated location. A graph is plotted for the selected 2D node. -#) Select Waterlevel in the upperleft drop down menu of the 3Di Time series plotter panel. +#) Select *Water level* in the upperleft drop-down menu of the 3Di Time series plotter panel. Watershed delineation for a flooded area ---------------------------------------- -To better understand why an area gets flooded and to design appropriate measures to decrease flood risks in the future; we want to know where the water in the flooded area comes from. We will now use the Watershed Tool to answer this question. The Watershed Tool allows you to determine the upstream and downstream catchment at any point or area. Follow the steps below to use the watershed tool: +To better understand why an area gets flooded and to design appropriate measures to decrease flood risks in the future, we want to know where the water in the flooded area comes from. We will use the Watershed Tool to answer this question. The Watershed Tool allows you to determine the upstream and downstream catchment at any point or area. -#) First we have to make sure the maximum waterdepth raster is still visible. In the Layers panel, check the layer *max_waterdepth_interpolated*. +#) First, we have to make sure the maximum water depth raster is still visible. In the Layers panel, check the layer *max_water_depth_interpolated*. -#) Now, open the Watershed tool (PLAATJE) in the 3Di Results Analysis toolbar. +#) Now, open the Watershed tool |watershed_tool| in the 3Di Results Analysis toolbar. -#) In the Watershed tool, first define the Input. Select yout results under *3Di results*. +#) In the Watershed tool panel, define the *Input*. Select your simulations results under *3Di results*. #) Under *Settings*, you can adjust the period for which you want to carry out the watershed analysis by adjusting the start and end time. Furthermore, you can adjust the threshold. If there is a net flow from the upstream element to the target node(s) above the defined threshold, the upstream element is included in the catchment. For now, you do not need to change the settings. -#) The next step is to define the target nodes. Click on *Click on canvas* and select the nodes in our study area (Vaethvey road 21-29). +#) The next step is to define the *Target nodes*. Click *Click on canvas* to activate the map tool. On the map canvas, the nodes in our study area (Vaethvey road 21-29). The tool automatically calculates the upstream catchment area for the nodes that you selected. The result of the analysis is depicted in the figure below. By choosing *Clear results*, the catchment will disappear and you can choose different nodes to derive the upstream catchment for. -#) Now click *Downstream* instead of *Upstream* to derive the downstream catchment of your selected nodes. The result gives us a indication on how the flood volume is drained during and after the event. +#) In the *Output* section, check the *Downstream* option and uncheck the *Upstream* option. The result gives us a indication of how the flood volume is drained during and after the event. Calculating the flood volume ---------------------------- -Lastly, we are going to use the water balance-tool to determine the flood volume for in our study area. +Lastly, we are going to use the *Water balance tool* to determine the flood volume in our study area. -In the schematization, you can see that a grid refinement was implemented in the area of the town that gets flooded: our study area (Vaethvey road 21-29). +In the schematisation, you can see that a grid refinement was added in the area of the town that gets flooded: our study area (Vaethvey road 21-29). -#) Click on Water balance tool (PLAATJE) in the 3Di Results Analysis toolbar. +#) Click the Water balance tool button |water_balance_tool| in the 3Di Results Analysis toolbar. -#) Choose *Select polygon* and click on the grid refinement area. Choose *grid refinement area (study_area)* in the popup menu. The tool will now automatically calculate and visualize the water balance for this area. +#) Choose *Select polygon* and click the grid refinement area. Choose *grid refinement area (study_area)* in the popup menu. The tool will now automatically calculate and visualize the water balance for this area. + +.. note:: + You can use any polygon layer as water balance area. If you do not yet have a polygon for your area of interest, create one first. In the main toolbar, click |new_geopackage|, or go to *Main Menu* > *Layer* > *Create new layer* > *New Geopackage Layer*. -#) In the water balance, you can choose to show both discharges and volumes. The tool is automatically set to discharge. Now change to volume by using the dropdown menu and choose the *m3 cumulative* option. +#) In the water balance plot, you can either show discharge (m³/s) or volumes (cumulative discharge, m³). The tool is automatically set to discharge. Now change to volume by using the dropdown menu and choose the *m³ cumulative* option. -#) In the graph, the cumulative volumes of water for different components in the model are displayed. At the right side you can activate and deactivate different options, to visualize different flow components. Hover over the different components to see which ones are indicated in the graph. +#) In the graph, the cumulative volumes of water for flows are displayed. At the right side, you can activate and deactivate different the flows. Hover over the different components to see which ones are indicated in the graph. -#) The main component that is of interest in this question is *2D flow*. Notice that the graph displays both a positive and negative cumulative 2D Flow. This is caused by the fact that the 2D flow is both entering (positive) and leaving (negative) the study area. The net 2D flow is represented by the dotted red line, representing the *volume change 2D*. Use your mouse to zoom in on the y-axis, you can check the net 2D volume change at the end of the simulation. Check that the floow volume is about 3200 m3. +#) The main component that is of interest in this question is *2D flow*. Notice that the graph displays both a positive and negative cumulative 2D Flow. This is caused by the fact that the 2D flow is both entering (positive) and leaving (negative) the study area. The net 2D flow (change in storage) is represented by the dotted red line, representing the *volume change 2D*. Use your mouse to zoom in on the y-axis. You can check the net 2D volume change at the end of the simulation. Check that the flow volume is about 3,200 m³. .. |langaa_waterbalans_leeg| image:: /image/langaa_waterbalans_leeg.png :scale: 100% @@ -354,6 +379,23 @@ In the schematization, you can see that a grid refinement was implemented in the .. |results_manager| image:: /image/i_3di_results_analysis_toolbar_results_manager.png :scale: 80% +.. |closed_eye| image:: /image/pictogram_temporal_controller_load_results_closed_eye.png + :scale: 100% + +.. |resultsaggregationtoolbar| image:: image/i_3di_results_analysis_toolbar_aggregation.png + :scale: 25% + +.. |watershed_tool| image:: image/i_3di_results_analysis_toolbar_watershed.png + :scale: 25% + +.. |water_balance_tool| image:: image/i_3di_results_analysis_toolbar_waterbalance.png + :scale: 25% + +.. |value_tool| image:: image/value_tool.svg + :scale: 25% + +.. |new_geopackage| image:: image/new_geopackage.svg + :scale: 100% .. check zipje!! (nieuw zipje kan reinout of wolf online zetten voor je) diff --git a/source/i_results_aggregation.rst b/source/i_results_aggregation.rst index 26d23dd7..730db5b3 100644 --- a/source/i_results_aggregation.rst +++ b/source/i_results_aggregation.rst @@ -2,7 +2,7 @@ Results aggregation tool ======================== -With the Results Aggregation Tool (|resultsaggregationtoolbar|) you can quickly aggregate the results over the entire simulation (or a part of it), using preset outputs and styling. +With the Results Aggregation Tool |resultsaggregationtoolbar| you can quickly aggregate the results over the entire simulation (or a part of it), using preset outputs and styling. Running the tool produces temporary layers. If you want to save the output export the layers as a GeoPackage by clicking |savescratchlayer|. To save the styling with your GeoPackage right-click the temporary layer > Styles > Copy Style > All Style Categories. Paste the styling by right-clicking the GeoPackage-layer > Styles > Paste Style > All Style Categories. Save the styling to the GeoPackage, by making it the default styling. Go to the Layer Properties by double clicking the layer > Symbology > Style (at the bottom) > Save as Default > Save default styling to Datasource Database). Whenever you add this GeoPackage to your Modeller Interface at a later time it will automatically load with this styling. diff --git a/source/image/langaa_waterbalans_antwoord.png b/source/image/langaa_waterbalans_antwoord.png index 0820d5861812039d076c4a82fcc0a7d7fcc717b5..3220f9982e2344511b7bebc6380e9679c05d1889 100644 GIT binary patch literal 33144 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 diff --git a/source/image/langaa_waterbalans_leeg.png b/source/image/langaa_waterbalans_leeg.png index 5bdd5fed64f56e6799f7c89d251fd9baf96ef41d..6d108b00777e3765765f34d70107fc96e596b694 100644 GIT binary patch literal 12491 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 EKVEZZ-T(jq diff --git a/source/image/new_geopackage.svg b/source/image/new_geopackage.svg new file mode 100644 index 00000000..5d1332f8 --- /dev/null +++ b/source/image/new_geopackage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/source/image/value_tool.svg b/source/image/value_tool.svg new file mode 100644 index 00000000..6077275d --- /dev/null +++ b/source/image/value_tool.svg @@ -0,0 +1,414 @@ + + + + + + image/svg+xml + + Mouse Pointer + + + + + Mouse Pointer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 474e73f4105fbc68fec186128f9c22a1a7df9dd2 Mon Sep 17 00:00:00 2001 From: leendertvanwolfswinkel Date: Tue, 30 Jan 2024 14:44:50 +0100 Subject: [PATCH 12/13] Added missing image of logigng button --- source/i_overview_user_interface.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/i_overview_user_interface.rst b/source/i_overview_user_interface.rst index 43d45ca3..a368605d 100644 --- a/source/i_overview_user_interface.rst +++ b/source/i_overview_user_interface.rst @@ -95,7 +95,11 @@ Access the 3Di Models and Simulation settings dialog by clicking *Main menu* > * The 3Di Results Analysis toolbar gives you access to all the :ref:`toctree_analysing_results`. -Clicking the (|loggingtoolbar|) saves the technical logging of the 3Di Results Analysis plugin to a file. This can be helpful for the our :ref:`servicedesk` when you run into any technical issues with the 3Di Results Analysis plugin. +Clicking the |loggingtoolbar| saves the technical logging of the 3Di Results Analysis plugin to a file. This can be helpful for the our :ref:`servicedesk` when you run into any technical issues with the 3Di Results Analysis plugin. + +.. |loggingtoolbar| image:: /image/i_3di_results_analysis_toolbar_logging.png + :scale: 25% + .. _temporal_controller: From 5d1508f2e80f152897035e06f1385c9ba3d3bf32 Mon Sep 17 00:00:00 2001 From: leendertvanwolfswinkel Date: Tue, 30 Jan 2024 14:53:36 +0100 Subject: [PATCH 13/13] svg -> png --- source/e_results_analysis_tutorial.rst | 4 ++-- source/image/new_geopackage.png | Bin 0 -> 1311 bytes source/image/value_tool.png | Bin 0 -> 2386 bytes 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 source/image/new_geopackage.png create mode 100644 source/image/value_tool.png diff --git a/source/e_results_analysis_tutorial.rst b/source/e_results_analysis_tutorial.rst index 0068b76d..5f3db027 100644 --- a/source/e_results_analysis_tutorial.rst +++ b/source/e_results_analysis_tutorial.rst @@ -391,10 +391,10 @@ In the schematisation, you can see that a grid refinement was added in the area .. |water_balance_tool| image:: image/i_3di_results_analysis_toolbar_waterbalance.png :scale: 25% -.. |value_tool| image:: image/value_tool.svg +.. |value_tool| image:: image/value_tool.png :scale: 25% -.. |new_geopackage| image:: image/new_geopackage.svg +.. |new_geopackage| image:: image/new_geopackage.png :scale: 100% .. check zipje!! (nieuw zipje kan reinout of wolf online zetten voor je) diff --git a/source/image/new_geopackage.png b/source/image/new_geopackage.png new file mode 100644 index 0000000000000000000000000000000000000000..06c7b96308acbd33bbb86926ed17f1cb3e525da3 GIT binary patch literal 1311 zcmV+)1>pLLP)vtMN8FAQ52Zg3n4&a zsRyD0N>!Ag2?YklGF0Rc7(j$bLO>1!R8$BFawVii?2HA$O69U19Vlw4B0}$}6zRA>X1! zC`?i5PUL71A+5lf${Q%qb{chB(S%*m7oP5jy7+i~fXrsx=KLT@ichpccOOXZI zGGS(!TYZx?Pb~Nu%lJVf%o%;=E<|?4b?iKLUgxwo#rH+VX49vU?D^)L4xi{!#N}$) zflGKINED66oJVDrBR)?J2d|?e0Na97>H7|dQZK<>kl6q3RFY0TXS2?;W)RKn8KhUR zi9oPx9-T!oaw=QkvM&ZPXR3#7YC9aae-9_WD7gB^!6Psc*3JSJuqEgu+ecj1#E$=# zM_@YhwH`CGDRpG|BBBl6PWtAXkv@-amcjdnLbh|HL3C7pvX zp%8u%G9;eWvVG3hc3?+jF+R7M+VAgg^VGq?^cP~cn5Y}`2(+gOxDJ#0ZC9_+=T^0_ z1Cr#m2v1kA^&A@G?u%t-y^Q}IGRhih-ftkU`gde1ud#hZ$5Y_sW{cL=-FhGhYuC=z z7y$+q$G#5NbyheS9)*K(g;>lzNb{~Wu7rWC@rh(}&a`u@TM(5|0*`I(NE5q&F*fLh z0E6O%Z(*g~0?b>r1)D@CjR4P(GjDOe?~Au052htc8(>g*G6$R8EZ`R?q$ju(o_@O!8nzZs zo*a6q`6~eoN)34vU)WmWM$7I|jYj}hEFzlm0vPdl3ylVMe_IW$>6Hd@_$*Iu%SFjRkOVp4)2xXfh|FyF-qLf2z@XSpeO@KWMEBVB6iDMeIt3 z-$xwtSw!f(l62HbM*(cG_}c)em6_nLTjyEh-mW@4deFq0>jrw!^G6A4GfnW^t!H9F zOcz>^>huuucr1WMIssP-tZ43CaQ}{qP0{^3N?fnphhw$&L9}|=Rj9u_Mru-5r;lojR7z)AVdu{ zXsZvzo#sSby|5Iz!N>UZqAhMUM56tQaBP5KHFM`YTMYwfZ}-zXI+`|CiAfJ*!l=2@ zodWu4dU!CzsJh4fpPn>{STcKKWjU?S+WP%`=HpXK2%nmCQZb+&n)e5WIvc0&{{`<< Vq=k)8!{`72002ovPDHLkV1nkyb2$J2 literal 0 HcmV?d00001 diff --git a/source/image/value_tool.png b/source/image/value_tool.png new file mode 100644 index 0000000000000000000000000000000000000000..0c8a22a438171d5fbf1bbc438e7be596e36cfba5 GIT binary patch literal 2386 zcmV-Y39a^tP)*A*rYMV|TX-l#xK zfF#hGo!xWpA^acr|NZ>$?{)8=K=^-ZYeZUF3@#t(#Wjn8pe5)#QA-351^dwwVP;btZ`RKhDkX#8_V~640dMz@B0h#ES{@)?(?Z!r zh0vp+CWUj}=YZFKFa29KCE8Sdh)oMvUnE2SO;^>8vmG`N8s1W@@w2|J}!iddd`ywe%41ni1=ilYG!cGy1RC}?2N=? zyPtVrrja0Kfe&a7*1^!wFyQv2Zvb-l9!3yu<3e~SSUr(^e(|&eEER0|%D%(_f{z3n zh>!g+798JpG$|%Uses|(r{bTt$Gv^9Ov;+2tYD7j!l0CK54ED>(GIxXTiY}i0vEZlqxJLK4C6ZJuqKCVwB zBudVM?>o8;04k231*Y0(Qm39J5A2K)NLEgV<8JU!`t{;)`CNR`i6p>|Jedf)B1c#$ zQ$yV+^>FEOGi)!b29`3>tf)jRC81f!_`{R|mWVPg;lXe`$KqFgv-g#FOZ8JEVz#VtnJD76E_!nOv!u##jk%&+C_qtpQq>nLXL!(C!iEZlmLjANnm~P zPIyC82(Kw)EdqE&Gix|HOC+{FbZ%7!&yj{aWb9*%m=FFv*@Nk7FIXclhEE$BVPJ4* z#Qv*Kp9iM$RkH!~W+dQ#YBfMqmN@Gb^(=i+hQ%k;B~1FznW{jLR@6ZMz@SkC`scUp zuu#6zqFD&d-gL!k092psb1Y(jUzML8AmDJogb$me41?WAPU*!C>vTo{*pXdiEQlg2Zq9 zWhygJNiC)WtBN(L{f9|6!gt?y=}l+dj(u?Y_g@-_A4I;8B+s`~JlJA@knHt;v>G5GQ;~p5h(27) zel0lH~h%Am?|S%>r{A`q$Ru^fvTfY#7Iol+(a%ih#v$&|;*#L)Ys z-vHoO7p{Pda{lObB?NGAbpVM(0@1P2K(-?Ti9-T{`h}<_4e3lwmxoWS66N#DoC;lZ zW|>b333$5?7@1FINjXq8OrWVeN3V}X4jLAuKY#J!MPM&v1BFfjLJ~Sx{5%Jw{&~ua zezbU>u|Sg2Vh(`2!XM6maos?CS5GfQaHaY}uJXhu;H!*&dcEwa3EjAH<7wVN>xMID z&Vbi!FQB?oftup1Locs{DKFEvcU$D=jyA~sCc8XFrSGBUCcLG&XS>>CVg7>E&k-kI?r zf)s0kt9=)Qd)|Ze(!G!%-v*w_0R5XD*YxCQbIXndO-)T;PQww4#bWhQD3orbrvP=T zO0? z`d5o`SKpl@3;mBv!CY|Gc%bccH(+RHf~SJr>z9|%ie~L5N5DOqxJ428!Z3yY{{Bxa z72n$03L1?@$6zqYi0?@PLIOt0GUi4ewOe=s5`vWk0n$p^*3BDcW^TC$BrG-SF z%bh!SfXQU`+uPgMytEI7CYj51fLVyZefRN)g0E#kg=r_&8c@mnXU(TLAyRWUSZ3N=< z>C-qz=+wa>BSlQFQ9;~E*ll%ng9R*07*qoM6N<$ Ef@7|fP5=M^ literal 0 HcmV?d00001