Right now handling of "unaffected cells" in a com4FlowPy model domain is not done consistently for all different output layers.
"unaffected cells" $\rightarrow$ cells in the model domain, that are neither release cells nor modeled as process runout cells
depending on the calculated output raster, these "unaffected cells" are encoded differently in the model outputs.
- e.g. in the
backcalculation and forestInteraction outputs non-affected cells are encoded with -9999, the result array is initiated with np.ones_like() * -9999
- all other output rasters are currently initialized with
np.zeros_like() leading to encoding of unaffected-cells with '0'
- this is in principal ok for all outputs where affected-cells (release and/or modeled runout) will contain values '>0' anyways (e.g.
cellCounts, flux, ...), but leads to ambiguous results for outputs also having 0values in affected cells (e.g. zDelta, travelLength, ´fpTravelAngle`, ...)
Note: Maybe a simple solution to this problem would be to keep track of "affected cells" in a binary np.array() and handle the encoding of "unaffected cells" just before writing the output files instead of having multiple checks at model runtime (as required with initializing with np.ones_like() * -9999)
Right now handling of "unaffected cells" in a com4FlowPy model domain is not done consistently for all different output layers.
"unaffected cells"$\rightarrow$ cells in the model domain, that are neither release cells nor modeled as process runout cells
depending on the calculated output raster, these "unaffected cells" are encoded differently in the model outputs.
backcalculationandforestInteractionoutputs non-affected cells are encoded with-9999, the result array is initiated withnp.ones_like() * -9999np.zeros_like()leading to encoding of unaffected-cells with '0'cellCounts,flux, ...), but leads to ambiguous results for outputs also having0values in affected cells (e.g.zDelta,travelLength, ´fpTravelAngle`, ...)Note: Maybe a simple solution to this problem would be to keep track of "affected cells" in a binary
np.array()and handle the encoding of "unaffected cells" just before writing the output files instead of having multiple checks at model runtime (as required with initializing withnp.ones_like() * -9999)