USLE results to high (SDR)

Hi InVest users,

my results from the usle are to big. for example a agricultural field with almost one hectar has a total soi loss of about 206 t/ha/year (zonal statistics -> sum of the pixels in the field). the mean value for one pixel in this field is about 0.14 t/ha/year. i used a dem with a resolution of 2.5m x 2.5m.


the imputdata was as follows: R=746(all area); K=0.27(all area); C=0.26 (agricultural area)
lulc.csv (121 Bytes)

k=2; IC0=0.5; SDR= 0.34

i allready calculated the usle in GIS by myself. with the inputdata especially the c-codes i got quite good results. even the ls-raster from the intermediate_outputs is not to high compared to my ls-raster caluclated in GIS.

the InVest model is calculating succesfully, there is a warning though at the flow acumulation part:

04/20/2019 10:49:09 natcap.invest.sdr INFO calculating flow accumulation
04/20/2019 10:49:09 natcap.invest.pygeoprocessing_0_3_3.routing DEBUG starting flow accumulation
04/20/2019 10:49:14 natcap.invest.pygeoprocessing_0_3_3.routing.routing_core WARNING no flow direction found for 0 2 WARNING no flow direction found for 0 2
04/20/2019 10:49:14 natcap.invest.pygeoprocessing_0_3_3.routing.routing_core WARNING no flow direction found for 0 2
04/20/2019 10:49:22 natcap.invest.pygeoprocessing_0_3_3.routing.routing_core INFO calculate transport cells_to_process.size() = 352
04/20/2019 10:49:22 natcap.invest.sdr INFO calculate ls term
04/20/2019 10:49:22 pygeoprocessing.geoprocessing INFO starting stats_worker
04/20/2019 10:49:22 pygeoprocessing.geoprocessing INFO started stats_worker <Thread(Thread-6, started daemon 11488)>
04/20/2019 10:49:26 pygeoprocessing.geoprocessing INFO 100.0%% complete

not sure if this warning causes proplems calculating the usle…

what do i miss? can anybody help me out here, please?
thank you!

Hi @bastian87,

I can’t really speak to whether or why the USLE has high values in this case, but I can say that the warnings you’re seeing are normal and merely extra logging that no flow direction could be found for a specific pixel, which happens if a pixel does not flow into any pixels at all (like when it’s the downstream-most pixel in a watershed).

You might also be interested to note that we’ve been working on an updated version of SDR that you might want to take a look at. We believe the multiple flow direction routing implementation included there to be more biophysically correct than the D-infinity we had before. The link to the development build is below.

As for the whether or why your results are high, could you attach your logfile? That’ll get us started.

Hope you’re well,

The same situation happened to me, the result about usle_tot is too high ,have you solved this problem?
Thanks for your reply!

Hey! i had some issue with the index values. i think it was the R-Faktor. my result was obviously about 10 times higher. there are some example-files (raster) to download. compare them to your data and you will find the problem.

Thanks for your message.
I also compared the R-factor with other research in the same field, the value is in the right range,but solpe.tiff and ls.tiff seem to be strange when compared with other research ,so I am confused.

I thought i have, but unfortunately i did not solved my problem with the high values.
Calculated with InVest my arable parcels do have an average erosion from 10-200 ton per ha a year. The flattest, most even parcel has about 10 tons per ha a year! Realistically and already calculated “by hand” and Arc (D8 method) the average erosion on the arable-parcels in the catchment is about 1-20 ton per ha a year. –> one of my inputdata is 10 times to high!? The catchment is in Austria/Europe. Meaning all the data is in metric units. it is therefore not a problem of US/metric units.

k=2; IC0=0.5; SDR= 0.8; Threshold flow Acc: 8000 (10m x 10m grid)

Input-data (+ lulc.csv): (3.2 MB)

InVEST-Sediment-Delivery-Ratio-Model-(SDR)-log-2020-01-29–12_02_35.txt (26.1 KB)

  • In austria the R-factors are normaly in (kJ/m²)(mm/a). i corrected that to the Invest unit (MJ/ha)(mm/a). The precipitation a year in my catchment is about 35inches. a bit less than in the sample datas catchment in Corvallis Oregon (aprox. 51inches).

  • The lulc biophysical table mentioned in the users guide “should be integer” (so are the sample-data), but integer files causes an error. i changed to float numbers. should be fine.

  • The K-factor (erodibility_SI_clip) in the sample data is low. What kind of soil is it? Maybe my K-factors are to high?

the reason why i am asking so many questions in this forum lately is that i am writing my master-thesis about soil erosion modelling (with InVEST…surprisingly). InVEST is basicly unknown at my university and therefore many colleagues are highly interested about it.

thanks for helping

1 Like

Hi Sebastian -

I would double-check your K factor values. They look similar to the values included in the User Guide SDR Appendix A table, which are in US units, and require a conversion factor of 0.1317 to get metric units (which is noted below the table, but maybe not made obvious enough.) The units for both R and K are very confusing!

I’m not sure if this will explain all of the high values you’re seeing, but it might.

~ Stacie