TransWikia.com

Calculating the Groundwater travel time using GIS and calculting the average velocity and flow pathlength

Geographic Information Systems Asked by hongtao xu on January 17, 2021

I get the difficulty just same as shiny met, but It did not work out from the original question website yet. The question just expressed by mwill as follows:
I’m working on building a GIS based groundwater travel time distribution (TTD) model similar to the one developed by Schilling and Wolter (2007) https://link.springer.com/article/10.1007/s00254-007-0659-0

The conceptual model of cell TTD is illustrated below (Schilling and Wolter, 2007).
As you know Velocity = -k (dh/dl)/n

I have calculated the velocity using raster calculator. I used the permeability values from the soil map as a substitute for hydraulic conductivity, the slope from the DEM as substitute for hydraulic gradient (dh/dl) and porosity (n) one value only from literature. I calculated the distance till the nearest river using Euclidean Distance.

After getting the velocity and the distance, I can easily calculate the time using raster calculator. However, it is not straightforward like this. Schilling & Wolter (2007) described how to calculate the time as follows “The time needed for groundwater in each 5-m cell to travel from the cell to the stream network was then determined by averaging all the individual cell velocities over the flowpath length from the cell to the stream”

So, in order to calculate the time, I have to calculate the average velocities over the flowpath length which I don’t know how to do.

One Answer

Making lots of assumptions here. I think you are misreading 'Flowpath length' as a requirement to actually have a 'length' value, but I dont think this is the case. Groundwater permeation across a 5m cell grid won't vary that much on the length of the individual components of a single grid cell, so im assuming that a grid cell is either on the flowpath, or not and if it is, velocity is constant.

So you will need some logic to work out the flowpath. For a single cell, this could simply be if the nearest cell is 'lower' in elevation to the current cell. (Water goes downhill, not uphill, im guessing!) You already have calculated Velocity as you mentioned, for each cell, in your raster calculator.

Lets say, you have 10 cells, in a straight line all downhill from each other from point A, to endpoint S (stream). The closest cell to S, is on the flowpath. the velocity for that cell is '1'. Therefore, 5/1 = 5

The second nearest cell, is at point B and has to travel through point A to reach endpoint S. This second cell has a velocity of 7. So, (7 + 5) / 2 = 6.

the tricky bit is that each cell may have a different flowpath. So you will need to calculate the flowpath for each individual cell, before doing the average velocity. This lends itself to storing the ave_time as a calculated field on the actual cell.

Solution wise, this might need some programming. Something like the following pseudo code:

for i over all_cells loop
path_cells = determine_path_cells(i) #path_cells is an array/vector of cells. 
calculated_cell_time = calc_time(path_cells)
_write(i, calculated_cell_time) #That is, for cell i, set the time value. 
endloop

_method determine_path_cells(a_cell)
 #do whatever you want here, could be nearest neighbor downhill looping until you hit a stream, this is really up to you how you determine the flowpath. 
_return path_cells
_endmethod

_method calc_time(v_cells)
 #this is your maths method - average the velocity of the input v_cells. 
_return ave_time
_endmethod

Answered by nr_aus on January 17, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP