Plots of longitudinal elevation profiles generated from a DEM and a corresponding D8 flow grid generally show an unrealistic step-like character, with long segments of slope zero separated by abrupt steps with steep slopes. This occurs as a result of limited vertical and horizontal accuracy in the DEM, particularly for DEMs with integer-valued elevations and a vertical resolution of one meter or one foot. The essence of the problem is that slopes on streamline elevation profiles are typically very small, on the order of 0.0001 or less. However, if the vertical resolution is dz and the horizontal resolution is dx, then the minimum, nonzero slope that is resolvable between two adjacent pixels is close to dz / dx. So, for example, if the vertical resolution is one meter and the horizontal resolution is 10 meters, slopes less than about 0.1 will be unresolvable and will usually get mapped to a value of zero. Note that even for a vertical resolution of 1 centimeter, the minimum resolvable value would be 0.001, still too large to resolve the actual along-channel slope. This issue becomes a real problem in spatially-distributed hydrologic models that use DEM-derived channel slope to compute flow velocity, v, from Manning’s formula. When looking at a plot of a single elevation profile, it is clear that we want to apply some kind of smoothing or curve-fitting operation that replaces the elevation values on the jagged, original profile with a new, smoother set of values. Moreover, assuming that the original values are accurate to within the upper and lower bounds that are set by the vertical resolution, it seems reasonable that after rounding the new values to the same resolution we should recover the original values, if possible. What is not immediately clear is what operation we can perform on the original DEM so that all of the streamline elevation profiles will get smoothed in this way, without altering any of the original D8 flow directions.