Urban Flood Risk Mitigation model, runoff/retention value`s we can`t explain


We have some questions about the results of the invest’s urban floodrisk mitigation model (3.8.5).

We do an analysis of area(fua) of Amsterdam. For this study, the following files are used in the model; Landcover data from urban atlas, the Soils Hydrological Group Grid (HYSOGs250m), a biophysical table with the land cover classes with pre-defined Curve number (CN) values for each LULC type with the corresponding hydrologic soillogic group(1-4) for the following column names: CN_A, CN_B, CN_C, CN_D. For the ‘depth of rainfall’ we have filled in with a value of 100mm . (see screenshot of the invest form below), raster cells are 20 x 20 m.

If we look at the model results of this study, the model has created the following data.

  • Runoff_retention_NL002L3_AMS.tif
  • Runoff_retention_m3_NL002L3_AMS.tif
  • Q_mm_NL002L3_AMS.tif
  • Q_m3_NL002L3_AMS.tif

If we look closer at the map and we select a specific spot in the dunes near Amsterdam (normally a spot where there is high retention and low runoff levels), we see the following values which we don’t quite understand:


We understand ‘Runoff’ as draining water and ‘retention as water retention. So, in our opinion ‘Runoff_retention’ contradicts itself.

If we look at the data, we see that Runoff_retention is 0,68 (i.e. retention is 68%, what matches the dunes), and Runoff_retention_m3_NL002L3_AMS is 27 m3 which equals 68% of its total of 40m3, but in value also equals to Q _m3_NL002L3_AMS. Is this correct? You would expect the opposite, that from the total amount of water, the runoff is deducted from it and what remains is allocated to retention. The Q_mm matches that idea, because it is 31% of the total depth of rainfall. So, it would be nice if you could clarify the four outcomes as we see in the Identify view above.

Also it doesn’t help that the fourth map in the results (Q_m3) can’t be found anywhere in the documentation!

Hi @Martijn , thanks for posting and including all the details of your model.

This is quite possibly a bug that was fixed in version 3.8.7 (see the Urban Flood section of our changelog here: Release 3.8.7 · natcap/invest · GitHub) Would you mind trying the most recent version? (3.9.0) InVEST | Natural Capital Project

I found this reference to Q_m3 in the User’s Guide. Perhaps it should be discussed more prominently in the “Interpreting Results” section.

Hi Dave,

I accidentally posted this post also in another part of this forum, my excuse for this.

So we had everything working for Invest 3.8.5 but now we want to make the natcap.invest module in python suitable for 3.9.0 we run into all error messages during updating (-- upgrade natcap.invest) in python. I hope you can help us with this. Below bit more detailed…

We have de-installed Invest version 3.8.5 and have installed 3.9.0. But since we use the module (natcap.invest.urban_flood_risk_mitigation) specifically in python we also need to upgrade this module from 3.8.5 to 3.9.0 , And during this upgrade in python it goes wrong!

We work with Python 3.7.8 and have installed all modules to be able to work with 3.8.5. Now that we want to upgrade the natcap.invest module to 3.9.0 we get the following error messages (see upload logfile).

We use the following option to upgrade the module:
–upgrade natcap.invest

I’m curious about the solution to this problem. Should not be complicated to update these types of libraries when you come up with new Invest version so often

Thank`s for the effort,

Greetings, Martijnupgrade_natcap_invest_logfile.txt (36.6 KB)

Hi @Martijn , thanks for the update. The challenge here is installing GDAL, a dependency of natcap.invest. In version 3.9.0 we moved from GDAL version 2.x to 3.x, so pip is trying but failing to install the newer GDAL. Unfortunately, pip never seems to work for dependencies like this that need to be compiled.

We have some instructions here on setting up a python environment:

The best way is usually to use conda to install gdal & others from conda-forge. I recommend downloading miniconda and then using it like this:

conda install -c conda-forge "gdal>=3.1.2" numpy shapely rtree

Then after those tough ones are installed, pip install natcap.invest

If you prefer not to use conda, see also the Windows section in the above link for downloading pre-compiled builds of GDAL and other libraries from http://www.lfd.uci.edu/~gohlke/pythonlibs/

Good luck!

1 Like