I’m using InVEST 3.8 and just had a similar thing happen with SDR. My input land cover map has a NoData value set to -128 and no pixels have a land cover class Value of 128. Yet, the model gave an error that 128 is missing from the biophysical table.
When I look at aligned_lulc.tif (generated by the model), it does now have pixel Values of 128, which have been assigned where the original LULC has NoData. Meanwhile, that raster’s NoData is still set to -128.
One thing I wonder about: The original LULC raster has a pixel type of signed integer, while aligned_lulc.tif is unsigned integer. Is it possible that something got lost in translation between the two?
Indeed, when I add the lucode of 128 to the biophysical table it runs fine, so that is a useful workaround.
~ Stacie