Routing operations#
-
template<typename Policies>
auto d8_flow_direction(Policies const &policies, PartitionedArray<policy::InputElementT<Policies, 0>, 2> const &elevation) -> PartitionedArray<policy::OutputElementT<Policies, 0>, 2># Determine the D8 flow direction in each cell for the array passed in.
-
template<typename Policies>
auto downstream(Policies const &policies, PartitionedArray<policy::InputElementT<Policies, 0>, 2> const &flow_direction, PartitionedArray<policy::InputElementT<Policies, 1>, 2> const &material) -> PartitionedArray<policy::OutputElementT<Policies, 0>, 2># Assign the value from each cell’s downstream neighbour to the cell itself.
-
template<typename Policies>
auto upstream(Policies const &policies, PartitionedArray<policy::InputElementT<Policies, 0>, 2> const &flow_direction, PartitionedArray<policy::InputElementT<Policies, 1>, 2> const &material) -> PartitionedArray<policy::OutputElementT<Policies, 0>, 2># Assign the sum of the values from each cell’s upstream neighbours to the cell itself.