Skip to content

Google Summer of Code 2016

silviafranceschi edited this page Aug 16, 2016 · 45 revisions

Project

Development of a model for woody debris flooding hazard in gvSIG

Persons

student: Silvia Franceschi

mentors: Andrea Antonello, Riccardo Rigon

Description

In forested mountain landscapes wood can significantly increment the total flow volume during a flooding event. The presence of large wood on river sides has positive effects on hydrogeomorphological diversity of habitats and represents a source of organic nutrients in the water. Therefore a compromise should be reached in the management of vegetation (within river corridors and on connected unstable slopes) aiming to reduce flood hazard while preserving its function of large wood supply for river ecosystems.

The idea of the project is to develop in gvSIG a model for the evaluation of the hazard derived from large wood transportation during flooding events.

The simplified GIS model should consider:

  • the effective presence and characteristics of the vegetation in the inundable river corridors for log requirement
  • the characteristics of the flow in the stream network for the transportation of the logs downstream.

With this model the user will be able to make an analysis of the hazard and risk related to the transport of wood during flooding events on a complete river stream with known and commonly used/available GIS data, using directly a GIS for displaying input and outputs.

Repository

You can find all the code here: https://github.com/silviafranceschi/jgrasstools

Schedule

Date Programmed Activity Percentage done
23 May - 29 May Identification of the main activities and possible issues. 100%
29 May - 5 June Research a generic allometric function and search of an algorithms for transportation of the logs downstream. 100%
6 June - 12 June Participation to the Summer School of Spatio-Temporal Data Analyses Using Free and Open Source Software in Matera (Italy) 100%
13 June - 19 June Define the algorithms to implement and study how to implement them. 80%
20 June - 26 June Prepare some data for testing and continue the integration of the hydraulic model. 100%
27 June - 03 July Define the algorithms to implement and continue with the integration of the hydraulic model. 100%
04 July - 10 July Fix some not working things in the integration of the hydraulic model. 100%
11 July - 17 July Go on with the integration of both the hydraulic and vegetation parts. 80%
18 July - 24 July One week vacation... 0%
25 July - 31 July Go on with the integration of the hydraulic parameters for the widening sections. 80%
01 August - 07 August Finished the integration of the hydraulic parameters and vegetation characteristics. 100%
08 August - 14 August Documentation and fixing of minor issues. 100%
15 August - 21 August Final build for gvSIG, finishing the documentation and probably fixing of minor issues. -

Testing

To test the code it is sufficient to compile the JGrassTools and run the algorithms through their internal GUI.

Reports

14 August Weekly Report

A link to my commits: https://github.com/silviafranceschi/jgrasstools/commits/master?author=silviafranceschi

My project focused on the scientific improvement of the tools for the evaluation of Large Wood flooding in the JGrassTools library developed during the GSoC2014 and their porting in gvSIG. In particular I added two functionalities:

  • the evaluation of the hydraylics conditions in each sections calcuated using a simplified 1D model used to estimate the maximum widening of the sections (inundable river corridor) and to establish a second criteria for the propagation of the logs downstream based on the water depth and the diameter of the vegetation
  • the possibility to handle detailed vegetation data as vector layer of single trees with the height as attribute

Before this improvements the tools for the evaluation of the hazard derived from the transportation of Large Wood during floods used a simplified approach in two aspects. Firs of all they didn't consider the hydraulic conditions of the flow in the sections for the evaluation of the maximum possibile widening. This means that the inundable area was calculated using an experimental power law based on the slope and on the original width of the section. The second aspect was that the tools derived the vegetation data from the raster maps of CHM (Canopy Height Model) and the FSV (Forest Stand Volume), without giving the possibility to use more detailed vegetation information previously derived from an analysis of LiDAR data with an approach single tree.

With these last development the tools for Large Wood Flooding are more completed and stable and it is possible to use them practically for the evaluation of the hazard derived from the transportation of woods in the river during flooding events without too many simplifications. In addition, the integration of the JGrassToools in gvSIG gives the user the possibility to use a nice graphical interface, to select the input layers directly from the ones loaded in the active View and to directly visualize the output of each single module. Finally, in gvSIG it is possible to visualize the data and the results in 3D using NWW for a nice visualization to show to the administration and to the citizens.

With this model the user will be able to make an analysis of the hazard and risk related to the transport of wood during flooding events on a complete river stream with known and commonly used/available GIS data, using directly a GIS for displaying input and outputs.

The LWTools will be soon (during the next weeks) integrated in the last version of the JGrassTools library and they will be available for the installation in gvSIG using the standard tool for adding new functionalities (Tools -> Add-ons manager). More details on the installation will be available in the JGrassTools wiki.

A tutorial for using the LWTools is available here LWTutorial. A slide summarizing the LWTools is available here LWSlide.

07 August Weekly Report

###What did you get done this week?

  1. fixed the bug in LW04
  2. introduced the flexibility of the logs in OmsLW10_SingleTree_AreaToNetpointAssociator:
    • the last part of the trees is usually thin and flexible so it doesn't contribute to the "blocking lenght" of each tree: I introduced an effective lenght derived from the extracted height of each tree and on two new parameters: diameter of flexion and taper (diameter decrease)
  3. introduced the check on the water depth for the propagation downstream in addition to the check on the width of the section
    • added 3 additional parameters in input:
      • ratioLogsLengthChannelWidthHillslope: ratio between the lenght of the logs and the maximum channel width for the vegetation coming from the hillslopes (vegetation characteristics of the current section)
      • ratioLogsLengthChannelWidthChannel: ratio between the lenght of the logs and the maximum channel width for the vegetation coming from upstream (vegetation characteristics from upstream not blocked)
      • ratioLogsDiameterWaterDepth: ratio between the diameter of the logs and the water depth lengthEff / channelWidth = k with k = 0.8-1.2 where k = ratioLogsLengthChannelWidthChannel for the logs coming from upstream and already in the stream k = ratioLogsLengthChannelWidthHillslope for the logs coming from local hillslopes diameter / waterDepth = ratioLogsDiameterWaterDepth with k = 0.8-1.2
    • read the max channel width, water depth and the vegetation parameters (lenght and diameter of the logs) from the attributes table of the input net_point layer
    • checks are:
      • if the calculated ratio between the lenght of the logs and the maximum channel width > ratioLogsLengthChannelWidth -> BLOCK
      • if the calculated ratio between the diameter of the logs and the water depth > ratioLogsDiameterWaterDepth -> BLOCL if one of the two above conditions are verified the logs will be blocke in the current section and the propagation restarts with new logs in the next section.

An example of the input/output of the final model for the evaluation of woody debris hazard in gvSIG is reported in the following pictures using the 3D of NWW integrated in gvSIG for the visualization.

gvSIG3Dvisual gvSIG3Dvisual2

###What do you plan on doing next week?

Next week I will:

  1. fix some minor issues in the code
  2. start with the documentation:
    • fix the documentation in the code
    • update the old documentation of the LWTools with the new parameters and modules developed during this summer.

###Are you blocked on anything? Nothing

31 July Weekly Report

###What did you get done this week?

  1. added the calculation of the hydraulics parameters for the widening sections in OmsLW07_HydraulicParamsToSectionsAdder
  2. fixed a missing parameters in the previous modules where the hydraulic conditions are calculated: modified the structure of the input/output of the section extractor (RiverSectionsFromDtmExtractor) and of SaintGeo for handling an user defined constant value of the Gaukler and Strickler coefficient (Ks) on each section to read from the shapefile of the netPoints

###What do you plan on doing next week?

Next week I will:

  1. fix a bug in OmsLW07_HydraulicParamsToSectionsAdder due to the introduction of the parameter Ks
  2. introduce the flexibility of the logs in the analysis of the height of the trees to define the possibility of each log to go downstream

###Are you blocked on anything? The bug in the module!

17 July Weekly Report

###What did you get done this week?

  1. continued studying the literature behind the problem LW transportation during flooding events
  2. discussed some possibilities of development with my tutors at the university
  3. continued the development of the module LW10_SingleTree_AreaToNetpointAssociator:
    • fixed the formulas of the allometric functions for the evaluation of the diameter (DBH) and volume of vegetation starting from the height (H)
    • added all the vegetation statistics as attribute to each point of the output netpoint shapefile: x-percentile (requested as input parameter) of DBH and height and total volume of the trees.

###What do you plan on doing next week?

Next week I will:

  1. do vacation!

###Are you blocked on anything? I will be on vacation next week.

09 July Weekly Report

###What did you get done this week?

  1. went on studying the literature
  2. fixed and continued the development:
    • integration of the hydraulic 1D model and parameters:
      • LW04_BankfullWidthAnalyzer: integrated the fields ID and progressive in the output layer of bankfull sections
      • LW07_HydraulicParamsToSectionsAdder: new module that extracts the sections from the DTM with the same attributes as in LW04 when the bankfull sections are extracted from an available polygon of the bankfull area and for the given discharge adds the hydraulic parameters (width, water level, discharge, flow velocity) as attributes fields to the output shapefile of network points
      • LW08_NetworkBufferWidthCalculator: inserted the check on the availability of the hydraulics parameters in the input shapefile of network points, if they are available the evaluation of the channel widening during flooding events is done using a power equation based on the estimated unit stream power as described in Channel widening during extreme floods: how to integrate it within river corridor planning? Comiti et al. 2016
    • integration of vegetation parameters
      • LW10_SingleTree_AreaToNetpointAssociator: duplicated the module LW10 to be used in case data of single trees are available instead of only the DSM and forest stand

###What do you plan on doing next week?

Next week I will:

  1. discuss some literature with my tutors at the university
  2. continue the development of the module LW10_SingleTree_AreaToNetpointAssociator: fix the formulas for the evaluation of the volume of vegetation and the effective length of the logs to be considered for the propagation downstream

###Are you blocked on anything? No known blocking issues.

03 July Weekly Report

###What did you get done this week?

  1. went on studying the literature
  2. went on with the development: integration of the hydraulic tools in the LW model

###What do you plan on doing next week?

Next week I will:

  1. go on studying the literature
  2. fix some not working things in the integration of the hydraulic model
  3. start the integration of vegetation parameters

###Are you blocked on anything? No known blocking issues.

26 June Weekly Report

###What did you get done this week?

  1. went on studying the literature, in particular that related to the hydraulic transport of the logs downstream
  2. prepared some data for testing the hydraulic model, I still need to look for some other data for the vegetation extraction
  3. fixed some bugs in the code I developed last week found during the testing phase: I had some problem with the progressive distance attribute of the extracted river section for the 1D propagation model

###What do you plan on doing next week?

Next week I will:

  1. go on studying the literature
  2. go on with the development: integration of the hydraulic parameters in the LW model

###Are you blocked on anything? No known blocking issues.

19 June Weekly Report

###What did you get done this week?

  1. Discussed with my tutors at the university how to connect the hydraulic parameters to the characteristics of the vegetation to solve for the process of propagation of logs downstream: I have some more literature to study:

    • Channel widening during extreme floods: how to integrate it within river corridor planning?

    • Channel response to extreme floods: insights on controlling factors from six mountain rivers in northern Apennines, Italy

    • Large wood recruitment and transport during large floods: a review.

  2. Started to integrate the new algorithms within the LW workflow:

    • LW04_BankfullWidthAnalyzer: added to the output shapefile of river sections the parameters needed to prepare the sections for the 1D hydraulic model

    • LW07_HydraulicParamsToSectionsAdder: added a new module in the workflow of LW tools in which to assign the hydraulic parameters to the river sections

    • changed the name to the other LW tools and scaled them by one: LW08_NetworkBufferWidthCalculator - LW09_NetworBufferMergerHolesRemover - LW10_AreaToNetpointAssociator - LW10_AreaToNetpointAssociator

###What do you plan on doing next week?

Next week I will:

  1. go on studying the literature
  2. go on with the development: integration of the hydraulic parameters in the LW model
  3. prepare some data for testing

###Are you blocked on anything? No known blocking issues.

12 June Weekly Report

###What did you get done this week? I participated to the summer school Spatial Ecology on Spatio-temporal data analyses using free and open source software (http://www.spatial-ecology.net/matera2016_1).

###What do you plan on doing next week?

Next week I will:

  1. go on with literature overview
  2. meet my tutors at the university to better define the theory of the algorithms and contact my mentors to start to discuss how to implement all.

###Are you blocked on anything? No known blocking issues.

05 June Weekly Report

###What did you get done this week? This week I started to research and analyse the literature about the allometric function and the hydraulics relations for the transport of logs in rivers.

Considering a possible implementation of a generic allometric function, there are different approaches in literature based on two main equations:

  • height-diameter model
  • volume-biomass model.

That should be similar to these if we decide to use linear relations:

H_t = 1.3 + (DBH^2 / (a + b * DBH + c * DBH^2))

and then

VTOT = sum(a + b * DBH^2 * H + c)

All the parameters should be personalized for each tree species or generalized for all the tree species present in the analysed area.

Regarding the transport of logs, the main available models base on a 2D hydraulics model of the river flow while we decided to keep the model very simple and work with a 1D hydraulics model. Following Ruiz-Villanueva et al, 2014 (Large Wood in rivers and its influence on flood hazard) and Ruiz-Villanueva et al, 2015 (Avances en el análisis del material leñoso en ríos: incorporación, transporte e influencia en el riesgo por inundaciones), wood entrainment and incipient motion can be calculated from a balance of the forces acting on each single piece of wood:

  • the gravitational force acting on the log: effective weight of the log in a downstream direction
  • the frictional force in the opposite flow direction: equal to the normal force acting on the log multiplied by the coefficient of friction between the wood and the river bed
  • the drag force (acting in the flow direction): downstream drag exerted on the log by the water in motion.

The movement of wood logs includes two possible transport regimes, floating/sliding and rolling, depending on wood density. When floating both translation and rotation are considered, when rolling only the rotation is considered.

The model should consider also the interaction between the logs and the channel configuration (when a piece of wood reaches the bank it can be entrapped) and among the logs themselves (also if there are logs laying on the river bed).

Additionally the presence of wood influence the hydrodynamics of the river, for this reason it is necessary to include in the flow model a drag force ad an additional term in the Saint Venant equations, similar to roughness.

###What do you plan on doing next week?

Next week I will:

  1. participate to a summer school in Matera
  2. go on with literature overview

###Are you blocked on anything? Less time to work on GSoC next week due to the summer school.

29 May Weekly Report

###What did you get done this week?

I started this GSoC by setting up my development environment and involving my mentors and my PhD supervisors in the identification of the tools to develop in order to get some support from them specially regarding the scientific background of the code.

The work can be divided into three main parts:

  1. integration of the position and characteristics of the vegetation (height) in the inundable river corridors extracted from LiDAR data with a SINGLE TREE approach, in general a shapefile containing the position of the trees with in the attribute table the elevation. To do this there are two possibilities either add as input to the submodel LW09_AreaToNetpointAssociator this input as an alternative to the actual inDSM and inStand which are used to evaluate the height and volume of biomass in each pixel connected to the stream network, or create a new submodel dedicated to LiDAR input to be used in case this type of input is available. The issues for using this kind of data are two:

    • normally from an automatic extraction of the trees from LiDAR data only the position and height are available, so the problem is: how to calculate the volume of the biomass without the diameter and the species? probably we have to add some additional parameters which are the parameters of a standard allometric function to relate the diameter and the volume to the height

    • how can we define if the tree is connected to the network? in this case we have vectors while the connectivity index is a raster, so probably the best solution will be to rasterize the points in which there are the trees and then proceed with the already developed methodology

  2. evaluation of the hydraulic characteristics of the flow in the process of transportation of the logs downstream: we are looking for some bibliography to study regarding this issue

  3. integration of the tools in gvSIG via JGrassTools: I followed some webinars at the gvSIG festival about the new development and possibilities given by the gvSIG community, it looks like there are many interesting tools specially for visualizing the data and results.

###What do you plan on doing next week?

Next week I will:

  1. analyse in deep the problem of the allometric function and the connectivity index

  2. get some paper to read about the relation between hydraulics parameters (water height and velocity) and the capacity of the flow to transport the logs downstream, so I can start reading them during the week after when I will be at a summer school

###Are you blocked on anything?

No known blocking issues.

Student's Biography

I am an environmental engineer specialized in hydrology and hydraulic. I graduated some years ago but only 2 years ago I decided to go on with a PhD. During these two years of my PhD I approached Airborne Laser Scanning data to extract information about the vegetation using a so called single tree approach. I developed some tools to extract the position of the single trees, the height and the volume of the biomass directly from LiDAR data (DSM, CHM and point cloud) with an average precision greater than 70% for all the evaluated variables in different forest structures. My specific scientific background is in hydrology, and in particular in the development of distributed and semidistributed hydrological models. In the past I contributed to the development of the two main hydrological models of the JGrasstools library, Peakflow and NewAge together with several other geomorphological tools.

Computing experience

The last two years I participated in the GsoC program with:

  • a model for the estimation of inundated areas and large wood recruitment and transportation during flooding events. The transportation of wood was developed only considering a user defined length of the logs and the width of the sections without a specific evaluation of the available vegetation (position and height) and without any link to the discharge flowing which are all important parameters to consider to evaluate the capacity of the water to carry the logs downstream and to evaluate the amount of biomass clogging the sections
  • a simple 1-D GIS based hydraulic model for evaluating the water depth and velocity inside the streams. The model requires as input the water discharge in the upstream section (calculated with an hydrological model), the geometry of the sections (derived from the DTM), and some hydraulics parameters valid in general for the river or specific for each section. JGrassTools is an environmental processing library which started as a hydro-geomorphological processing toolkit and is in development around 10 years now. It is supported by the Department of Environmental and Civil Engineering of the University of Trento (professor Rigon) and by the Department of Forestry of the Science and Technology of the Free University of Bolzano (professor Tonon).

GIS experience as a user

I am a power GIS user, actually I am trying to migrate all my stuff to use gvSIG, but I know also uDig, GRASS and QGIS.

GIS programming

In the last 10 years I actively contributed to the JGrassTools project with some scientific models in the field of hydrology, hydraulic and geomorphology. I also contributed to the development of a fully distributed hydrological model at the university department. I also contributed the design of some tools and functionalities of Geopaparazzi. Recently I approached the gvSIG community to start to understand how to give some contribute in the development of scientific tools.

Category:Google Summer of Code