SDR export raster output all zero values InVEST 3.7.0


I’m new to InVEST. I managed to run a SDR model successfully, but the sed_export raster I get in my workspace seems to have all values equal to zero.

My final objective is to extract the values of the sediment exports at the water intakes (a vector layer of points), which are located in the streams (I made sure the points overlap the streams).

I do get proper values for the watershed_results_sdr.

All the inputs are projected in UTM.

I am using a drainages raster, so I’m setting the parameters to: Threshold flow Accumulation=100000, k=0.55, IC0=0.5 and Max SDR Value=0.8

With these parameters, I am able to replicate the results from a published source for this watershed at baseline for the watersheds results. Yet, I can’t get any reasonable values for my water intakes.

Thanks, any help is appreciated!

InVEST-Sediment-Delivery-Ratio-Model-(SDR)-log-2019-11-04–10_30_32.txt (22.5 KB) InVEST-Sediment-Delivery-Ratio-Model-(SDR)-log-2019-11-04–10_30_32.txt (22.5 KB)

Hi @lavifi -

It is very strange that the sed_export raster would have values of all 0, yet the values look correct in watershed_results_sdr.shp, since the model just uses sed_export.tif to sum values to the sub-watersheds. Thanks for posting the log file, and in this case it isn’t helping much, so can you provide your outputs, and maybe your inputs too, in case it’s useful for me to try and replicate the problem? You can mail a link to me at

~ Stacie

Hi Stacie,

Thank you for your support, it really helps me having an expert to revise with me, as I have just started to use InVEST myself. I truly appreciate your time!

Here are the inputs:

Here are the outputs:

And attached is the shapefile of water intakes I want to extract the sediments export for.




(Attachment POI_projected_relocated_manually.prj is missing)

(Attachment POI_projected_relocated_manually.qpj is missing)

(Attachment POI_projected_relocated_manually.shp is missing)

(Attachment POI_projected_relocated_manually.shx is missing)

(Attachment POI_projected_relocated_manually.dbf is missing)

Hi Laura -

I’m looking at your output rasters, and there is a range of values from 0 to 2223.92. Most of the values are very small, but they are not 0.

One thing that may be causing so many values to be so small is that there are very few streams defined in the basin - look at the output stream_baseline.tif. The model routes sediment until it reaches a stream, and if the stream is very far away, it’s more likely that very little of the erosion will make it to the stream to become export. This stream network may be correct for this area, I don’t know, but you should verify stream.tif against a real-world stream map. If they don’t correspond to the real world, then rerun the model with different Threshold Flow Accumulation values until the stream networks match better.

You can also look at usle.tif, which shows the soil loss from each pixel. That layer shows good variation in values, which also points to the idea that not much of that soil is making it to the stream.

Also of note is that the usle_c values in the biophysical table are all really low. This will contribute to low values of USLE as well as export.

~ Stacie

Thank you Stacie.

Your inputs are really helpful. I can see now the small values of the sed_export that I wasn’t able to see before. I am using a streams layer that should match reality as an input (Drainages (Raster) (Optional)). So I was told that if I
use this optional raster, I should use a very high value for the Threshold Flow Accumulation (10000 for example). Maybe that’s not correct?

Second question: Do you think it’s ok to extract the values of sediments at specific points (water intakes) or single-pixel values are an inaccurate representation of the model and it’s better to present the results at the subwatershed?

Thanks again,



I’ve never used the Drainages input to the model, and don’t know much about how the model handles it, so perhaps I should leave comments for others who know more. It does look like that layer is being used, since it is reflected in stream_and_drainage_baseline.tif. There are a lot of streams in that layer, and just based on that I’d expect to see a/ more export (but your input values are low so maybe that cancels out the proximity to streams) and b/ the pattern in stream_and_drainage_baseline.tif reflected more in sed_export.tif.

Regardless, if you want to evaluate the total amount of sediment estimated to arrive at a water intake, you would delineate the watershed flowing into that intake, and sum the sed_export.tif values within that watershed. The single-pixel values only represent what is happening on that pixel, they are not a summation in themselves.

~ Stacie