Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement methods to create maps for wflow sbm + gw #56

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

laurenebouaziz
Copy link
Contributor

@laurenebouaziz laurenebouaziz commented Oct 8, 2021

added maps for:

  • surface area per cell
  • aquifer thickness
  • conductivity
  • specific yield (uniform)
  • drain conductance
  • drain elevation
  • infiltration and exfiltration conductance
  • river bottom elevation (other approach than for RiverZ map)

to do:

  • move surface area calc ?
  • cell_area - wetted_area check
  • changelog
  • yml file extra entry for aquifer thickness

@codecov-commenter
Copy link

Codecov Report

Merging #56 (d442038) into main (d902d90) will decrease coverage by 3.32%.
The diff coverage is 18.08%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #56      +/-   ##
==========================================
- Coverage   75.42%   72.09%   -3.33%     
==========================================
  Files          11       11              
  Lines        1542     1634      +92     
==========================================
+ Hits         1163     1178      +15     
- Misses        379      456      +77     
Impacted Files Coverage Δ
hydromt_wflow/wflow.py 67.78% <8.06%> (-5.43%) ⬇️
hydromt_wflow/utils.py 82.14% <31.25%> (-12.07%) ⬇️
hydromt_wflow/workflows/soilgrids.py 78.77% <43.75%> (-2.96%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d902d90...d442038. Read the comment docs.

@DirkEilander
Copy link
Contributor

Nice work @laurenebouaziz !

A few quick ideas/remarks

  • There's already a (more generalized) grid area method available in hydromt_fiat. Would be good to port this to hydromt.raster and reuse here.
  • For the 1D+2D local inertial based routing we will also need to derive a river depth / river bed elevation map. Would be good to align this both in hydromt_wflow and wflow.jl.

@DirkEilander
Copy link
Contributor

I've included the area_grid method in hydromt.raster module in a PR that I was working on, see Deltares/hydromt#74
This can be used here after the PR is merged in hydromt.

@laurenebouaziz
Copy link
Contributor Author

thanks @DirkEilander , I will use this method for the surface area.

Based on the discussion last Friday with Hélène, I will make the following changes:

  • yml depth to bedrock, not a new entry, just a new line and only read this variable when setup_aquiferthickness
  • don't include surface area map in the static maps
  • add as much as possible units to the created maps (especially for conductivity which is read by sbm+gw in m/d)
  • make a separate workflow sbm_groundwater which includes most of the maps created without splitting each component in setup_xxx (except aquifer thickness and river depth method to be included in setup_river)
  • correct soilgrids depth based on river depth if river depth is below soilgrids depth
  • add toml changes
  • add test case and example with ini file

planned: next week.

@verseve
Copy link
Member

verseve commented Oct 14, 2021

* For the 1D+2D local inertial based routing we will also need to derive a river depth / river bed elevation map. Would be good to align this both in hydromt_wflow and wflow.jl.

For the 1D local inertial routing I have been using the RiverZ map so far (as part of wflow_sbm, without flooding). @DirkEilander: I guess the river bottom elevation mentioned here is not the approach you are working on?

@laurenebouaziz
Copy link
Contributor Author

laurenebouaziz commented Oct 14, 2021

The "river_bottom_elevation" map that I added for the groundwater module is based on a very simple relation relating river width to river depth (taken from the paper of Neal et al. 2012). Pretty sure that this is different than what you are working on now @DirkEilander.

The RiverZ map is based on differences in the DEM from the high resolution elevation to the model resolution. This means that in areas with steep slopes, you get a very high depth (as in the Ardennes for the Meuse sometimes more than 100m) and in the flatter parts you get very low river depths, which might not be very realistic.

The simple formulation of river_bottom_elevation leads to a very different pattern, with depths of about 6m at Borgharen and about 1m in the tributaries.

See the two maps below which show (dem - riverZ) and (dem - river_bottom_elevation) (note the differences in scale!)
(I am testing both maps for the local inertial routing in wflow, had an error previously while running the one with river_bottom_elevation, not sure if the connection to the p-drive failed, so work in progress)

river_depth_river_bottom_elevation
river_depth_RiverZ

@DirkEilander
Copy link
Contributor

My approach is similar to what @laurenebouaziz has implemented but relating river depth to bank full discharge following Andreadis et al (2013). @verseve I was under the assumption that for the 1D-2D approach we need a river bed elevation and river depth / bankfull elevation. The first will be the riverZ elevation minus the river depth; the second is the riverZ elevation, not the wflow_dem as it contains the the cell average elevation which in steep areas can be quite different from the river bed elevation as pointed out by Laurene. If we start schematizing the floodplains in 1D we could include the gradient of the floodplains as well to differentiate between rivers in flat terrain and steep valleys.

@verseve
Copy link
Member

verseve commented Oct 14, 2021

Yes, correct @DirkEilander , indeed for the 1D-2D approach we need a river bed elevation and river depth/ bankfull elevation. For the 1D approach (water stays in the river) I use the riverZ elevation now for testing purposes.

@JoostBuitink JoostBuitink marked this pull request as draft January 11, 2024 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants