Interpreting the n_load parameter

Dear @dhooper (and colleagues),

Lots of interesting thoughts in this thread! This reminds me of some rich conversations we had about the best approach for the InVEST nutrient model.

A few points to respond to @dhooper’s last message. Point 4 is the most important one (with respect to your intended application):

  1. Modified loads: They were introduced in the model to reflect the fact that, all else being equal, an area with higher runoff would wash off more nutrients than an area with less runoff. This is because there is less opportunity for vegetation to take up nutrients (as discussed in Endreny et al. 2003: https://onlinelibrary.wiley.com/doi/10.1111/j.1752-1688.2003.tb01569.x)

Note: Modified loads do not reflect upslope pollutants. This is based on the conceptual model where we estimate the contribution of each pixel to the stream (inspired by the work of Borselli et al. for sediment transport, cf. InVEST’s sediment model). With this framework, if we added the load from upstream pixel j to the load of pixel i, we would double count load_j (which would be represented in pixel j AND pixel i)

  1. Load values (in response to @atershy): I confirm that we’ve used amount of nutrients applied (cf. also Redhead et al. 2018: https://www.sciencedirect.com.remotexs.ntu.edu.sg/science/article/pii/S0048969717320909)

  2. Calcs on surface NDR: That is correct, they don’t modify the loads, but rather the NDRsurf value. NDRsurf, in turn, is what modifies load_surf (as per equation 54)

  3. Retention of riparian buffers: In response to point 7 in your previous post (" And, if we want to know the ecosystem service of N retention by the forest buffer, NDR tells us that the buffer has just absorbed 4 kg N/ha/yr [LOADforest * (1 - EFFforest)], but really it has absorbed 44 kg N/ha/yr.")

→ The model does not estimate the retention of riparian buffers (or other landscape element). This is indeed an important limitation. Computationally, it would take another algorithm to calculate the contribution of each pixel to the retention (ie. NDR factor) of all upstream pixels flowing through that particular pixel. We’ve discussed that with the software team back in the days but I don’t think anyone had time to work on this since then.

→ This limitation is discussed in the User’s guide in the section “Evaluating Nutrient Retention Services” (copied below). I believe such an approach could be used to assess the retention of particular landscape elements, but I agree that it’s less ideal than having a model output representing the retention by a given pixel.

The NDR model does not directly quantify the amount of nutrient retained on the landscape. However, if you have scenarios that are being compared with current conditions, the nutrient retention service may be estimated by taking the difference in nutrient export between the scenario and current conditions. This quantifies the difference in nutrient reaching a stream, based on the changes in land cover/climate/etc present in the scenario, which provides a way of evaluating impacts to downstream uses such as drinking water.

To calculate per pixel nitrogen retention services within a single scenario, we recommend subtracting n_total_export.tif from the modified_load_n.tif result located in the intermediate output folder. Similarly, per pixel phosphorus retention services can be calculated by subtracting p_surface_export.tif from modified_load_p.tif . Use the .gpkg output to quantifty watershed scale nutrient retention services by subtracting the n_total_export result from (n_surface_load + n_subsurface_load ) for nitrogen and p_surface_export from p_surface_load for phosphorus.

I hope this helps!

5 Likes