With the release of SplashTool 3.1, the processing of null values (NoData values) in GeoTif files has changed. GeoTif files are the standard input and output format of SplashTool for raster-based analysis. But what are NoData values, and why do we need them at all?
Why Null Values?
Typically, we analyze natural catchments or areas of interest such as neighborhoods, municipalities, cities, or even entire counties using geographic information systems or analysis tools like SplashTool. These are always irregularly shaped and not perfectly rectangular and aligned north, south, east, and west, as a GeoTIF would prefer. The solution is that the GeoTIF creates a ‘bounding rectangle’ around the delimited irregular area of interest, and all cell values outside the area of interest are defined as ‘null values’.
The Previous Approach
In SplashTool 2.2 and earlier, you had to manually reclassify the areas outside to a specific number (for example -999), and then set the ‘Nodata-Threshold’, i.e., the threshold below which numbers are defined as null values, to a larger value (for example -888). This way, SplashTool could be informed that the cells should be interpreted as null values.
The New Approach from SplashTool 3.1
From SplashTool 3.1, the ‘Nodata-Threshold’ is only used when the input GeoTIF does not have a defined null value; otherwise, the null value of the GeoTIF is adopted. The problem with this: ArcGIS uses very large or very small numbers as NoData values in some geoprocessing tools, such as the ‘Extract by Mask’ raster clip tool. These numbers may not be accurately represented as ‘Float32’, making it impossible to reliably query whether a raster cell contains this value.


This problem is solved in SplashTool as follows:
- If the NoData value defined in the GeoTIF is greater than 108, all values greater than 108 are reclassified to NoData
- If the NoData value defined in the GeoTIF is less than -108, all values less than -108 are reclassified to NoData
- Only if the GeoTIF does not have a defined NoData value, cells smaller than the NoData threshold are reclassified to NoData.
- The NoData threshold was changed from -888 to -88.888 with the update from SplashTool 2.2 to SplashTool 3.0. This was important because with the switch to flow-direction-dependent runoff accumulation, negative values smaller than -888 can also occur in the results, and these need to be re-read when restarting an interrupted iteration.
In QGIS, when using the ‘Clip Raster by Mask Layer’ tool, you can and should set a null value and define it so that it lies outside your expected input and result data, for example at -88.888:

To see if a NoData value has been defined for a raster in the GeoTIF, you can open the ‘Transparency’ tab in the raster dataset settings in QGIS. There you can see if a null value has been defined.
NoData Values in Other Datasets
For the area of interest, the data and NoData cells of the digital elevation model are decisive. NoData cells in all other input files (for example, initial water depth) are reclassified to 0. This way, plausible results are produced even if the initial water depth raster contains null values at individual locations where the DEM has data.
Conclusion
With the update of SplashTool to version 3.1, the processing of NoData values in input GeoTIFs has changed. You no longer need to reclassify null values to a specific number; I recommend using the built-in option in QGIS and ArcGIS to define NoData values for the GeoTIF itself. This gives you several advantages:
- The MIN and MAX values are displayed correctly in the GIS
- You can more easily verify the plausibility of the displayed data
If your GeoTIF has a defined NoData value, then all values visible in the GIS are the values with which SplashTool performs the analysis. The old approach with manually classified values below the threshold only works if the GeoTIF itself does not have a defined NoData value.