Routing operations

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.