Hi! I’ve been reviewing the InVEST Sediment Retention model, particularly the Sediment Downslope Trapping component (which outputs the “Avoided Export” layer), and I’d like to try a similar type of analysis using a nutrient dataset generated with the NDR model. My goal is to identify where nutrients are actually being “trapped.” From what I understand, this would involve using the modified_load and NDR layers. I might be missing something here, but I’m not sure why this component wasn’t implemented in the Nutrient Retention model.
The main challenge I’m facing is running these analyses outside the InVEST platform, since I’d like to use intermediate outputs from the NDR model as inputs for the Sediment Downslope Trapping algorithm.
Would anyone happen to have advice on how I could approach this? Is anyone else working on something similar?
One approach we’ve used with the raster results is to subtract export from intermediate_outputs\modified_load , so:
N_retention = modified_load_n - n_total_export
P_retention = modified_load_p - p_surface_export
I’m using the terms “retention”, “trapping”, and “avoided export” interchangeably here. But be aware that this simplified approach is a bit of a workaround, because SDR includes a deposition/trapping component, which is what is retained from upslope pixels, whereas NDR does not. The nutrient load results do not consider upslope pixels, only the user-provided parameter values from the biophysical table input. Here is another way my colleague, @adrianvogl , explained it:
“there is no way to calculate nitrogen retention on a pixel, only that pixel’s reduced export as a function of downstream pixels. The equation that Jesse suggested (modified load - export) works at a watershed scale, but at a pixel scale it only tells you how much N is retained between that pixel and the stream, not how is much is retained on that pixel.”
Another option is to run multiple scenarios and then compare results, like creating an all bare soil scenario to get at the biophysical “retention supply” provided by the existing land cover. This would be similar to what the authors of this study did (“Including Additional Pollutants into an Integrated Assessment Model for Estimating Nonmarket Benefits from Water Quality”, Griffin, R. et al. 2020, Land Economics, https ://doi.org/10.3368/wple.96.4.457 ).
You’re not the only one trying to solve this. Perhaps others could provide better insight @elonsdorf , @lons0011 , or @swolny .
Hi. I am currently attempting to estimate nitrogen retention using the InVEST NDR model for a strong textbaseline year in order to identify priority areas. As I understand it, the NDR model does not directly calculate retention, and one common approach is to estimate it as modified_load_n -n_total_export)
However, I am encountering the same issue whereby areas with the highest retention values correspond to urban or agricultural zones, which does not always make ecological sense.
For this reason, I am considering using a relative metric, such as (modified_load_n − n_total_export)/modified_load_n , and I would like to know whether this approach is appropriate.
Keep in mind that Jesse’s suggested workaround above (subtracting total_export from modified_load) only works if you aggregate the output rasters to larger areas, it does not work at a pixel scale. That is, you have to sum the total_export and modified_load rasters for a given area (say, your whole AOI or by subwatersheds). The difference between these totals gives you the nutrient retained in that aggregated area (AOI, subwatershed, etc.).
At a pixel scale it does not tell you retention on that pixel because that’s not the way the model’s retention algorithms work. As Fernbg77 points out, doing this difference at a pixel scale provides seemingly non-intuitive results. This is because when you take modified_load_n - n_total_export by pixel, the result tells you how much of each pixel’s nitrogen load is retained by pixels in its downslope flow path, NOT how much is retained on that pixel. Thus Fernbg77’s results do make sense, in that urban areas and agricultural zones are producing the most nitrogen loads that are then retained by their downslope neighbors. Thus urban or ag pixels with the highest values in these difference rasters are those that have either or both of (a) the highest loads and/or (b) the greatest retention potential in the downslope pixels between them and the nearest stream. Low values in urban or ag pixels would indicate that these areas either have low loads to begin with, or else they have high loads but there is very little retention potential between those pixels and the streams. So these results do make ecological sense when taken in the context of how the model actually works.
Note that for the time being, we at NatCap Insights decided to use a heuristic-based approach to allocate total retention (sum of modified_load minus total_export for the AOI) back to the pixels that retained it, as this functionality does not exist in the InVEST core model. It’s currently a work in progress.
I’ll note that the InVEST User Guide currently contains the suggestion that users can calculate a proxy for retention at the pixel level using the method Jesse described. Since this is incorrect - it should only be used at the watershed/sub-watershed level - i am updating the User Guide accordingly.
@Fernbg77 note that we are developing this approach independently, outside of the NatCap software team. I am not certain if or when this adaptation will be made public. Like I said, it’s a work in progress.