Annualmeeting:2017 CSDMS meeting-053: Difference between revisions

From CSDMS
(Created page with "{{CSDMS meeting personal information template-2014 |CSDMS meeting first name=Katherine |CSDMS meeting last name=Barnhart |CSDMS meeting institute=CU Boulder |CSDMS meeting cit...")
 
No edit summary
 
(2 intermediate revisions by one other user not shown)
Line 17: Line 17:
}}
}}
{{CSDMS meeting select clinics2
{{CSDMS meeting select clinics2
|CSDMS_meeting_select_clinics2=5) Will not attend a clinic
|CSDMS_meeting_select_clinics2=2) Landlab I
}}
}}
{{CSDMS meeting select clinics3
{{CSDMS meeting select clinics3
|CSDMS_meeting_select_clinics3=5) Will not attend a clinic
|CSDMS_meeting_select_clinics3=4) LandLab and Dakota
}}
}}
{{CSDMS scholarships yes no
{{CSDMS scholarships yes no
Line 29: Line 29:
}}
}}
{{CSDMS meeting abstract title temp
{{CSDMS meeting abstract title temp
|CSDMS meeting abstract title=Flow direction and accumulation in Landlab
|CSDMS meeting abstract title=Landlab components for surface hydrology: the FlowAccumulator and the FlowDirectors
}}
}}
{{CSDMS meeting authors template
{{CSDMS meeting authors template
Line 40: Line 40:
|CSDMS meeting coauthor email address=gtucker@colorado.edu
|CSDMS meeting coauthor email address=gtucker@colorado.edu
}}
}}
{{CSDMS meeting abstract template}}
{{CSDMS meeting authors template
|CSDMS meeting coauthor first name abstract=Daniel
|CSDMS meeting coauthor last name abstract=Hobley
|CSDMS meeting coauthor institute / Organization=Cardiff University
|CSDMS meeting coauthor town-city=Cardiff, Wales
|CSDMS meeting coauthor country=United Kingdom
|CSDMS meeting coauthor email address=hobleyd@cardiff.ac.uk
}}
{{CSDMS meeting authors template
|CSDMS meeting coauthor first name abstract=Eric
|CSDMS meeting coauthor last name abstract=Hutton
|CSDMS meeting coauthor institute / Organization=CSDMS
|CSDMS meeting coauthor town-city=Boulder
|CSDMS meeting coauthor country=United States
|State=Colorado
|CSDMS meeting coauthor email address=eric.hutton@colorado.edu
}}
{{CSDMS meeting abstract template
|CSDMS meeting abstract=Landlab is python software framework for the creation of surface dynamics and process models. It provides grid structures, stable and intercompatible process components, and utilities for data input, output and visualization. Here we present two new types of components within the Landlab framework: the FlowAccumulator and the FlowDirectors. These components have been designed to implement one of the basic functions of surface dynamics modeling, the routing and accumulation of water over a surface. These components split up the functionality of the previously implemented FlowRouter component in order to make it easier for the addition of new algorithms for flow direction to Landlab. As part of these components, we include a new algorithm for efficient flow accumulation when flow is routed to multiple neighboring nodes.
 
Routing of water over a surface can be split into two steps: direction and accumulation. Before outlining these steps, it is useful to state the terminology used to describe the grid. In Landlab the physical processes operate on a model grid which stores information about spatial location and properties that may vary in space (e.g. soil thickness, surface water discharge). The model grid is a dual plane graph in which quantities such as topographic elevation are defined at node points. Between neighboring node points are lines called links on which water, sediment, or other quantities can flow.
 
To route flow over the surface, flow directions at a given node must first be assigned to indicate which, if any, of the neighboring nodes will receive any flow that arrives in that node. This is typically done using the relative elevations of a node’s neighbors. Previously Landlab supported the steepest descent (or D4) algorithm for both rectilinear and non-rectilinear grids and the D8 algorithms for rectilinear grids. As part of the presented improvement, Landlab includes the Multiple Flow Direction and D infinity algorithms. Each algorithm for directing flow is its own component, but all share core functionality of the FlowDirector class. This shared functionality includes attributes necessary for interacting with other Landlab components, including the FlowAccumulator. This design permits easy addition of new flow direction algorithms while maintaining interoperability with other Landlab components.
 
Once flow directions have been assigned, surface water discharge and drainage area can be calculated through flow accumulation. This functionality is provided by the FlowAccumulator component which is compatible with all FlowDirector components. Depending on the algorithm chosen, flow accumulation can be computationally inefficient, scaling at a rate greater than O(N). We present a new algorithm for accumulating flow for in the case where flow is directed to more than one receiver that scales with the number of links that flow is directed over.
}}
{{blank line template}}
{{blank line template}}

Latest revision as of 17:20, 29 March 2017






Browse  abstracts



Landlab components for surface hydrology: the FlowAccumulator and the FlowDirectors

Katherine Barnhart, CU Boulder Boulder Colorado, United States. katy.barnhart@gmail.com
Greg Tucker, CU Boulder Boulder Colorado, United States. gtucker@colorado.edu
Daniel Hobley, Cardiff University Cardiff, Wales , United Kingdom. hobleyd@cardiff.ac.uk
Eric Hutton, CSDMS Boulder Colorado, United States. eric.hutton@colorado.edu


[[Image:|300px|right|link=File:]]Landlab is python software framework for the creation of surface dynamics and process models. It provides grid structures, stable and intercompatible process components, and utilities for data input, output and visualization. Here we present two new types of components within the Landlab framework: the FlowAccumulator and the FlowDirectors. These components have been designed to implement one of the basic functions of surface dynamics modeling, the routing and accumulation of water over a surface. These components split up the functionality of the previously implemented FlowRouter component in order to make it easier for the addition of new algorithms for flow direction to Landlab. As part of these components, we include a new algorithm for efficient flow accumulation when flow is routed to multiple neighboring nodes.

Routing of water over a surface can be split into two steps: direction and accumulation. Before outlining these steps, it is useful to state the terminology used to describe the grid. In Landlab the physical processes operate on a model grid which stores information about spatial location and properties that may vary in space (e.g. soil thickness, surface water discharge). The model grid is a dual plane graph in which quantities such as topographic elevation are defined at node points. Between neighboring node points are lines called links on which water, sediment, or other quantities can flow.

To route flow over the surface, flow directions at a given node must first be assigned to indicate which, if any, of the neighboring nodes will receive any flow that arrives in that node. This is typically done using the relative elevations of a node’s neighbors. Previously Landlab supported the steepest descent (or D4) algorithm for both rectilinear and non-rectilinear grids and the D8 algorithms for rectilinear grids. As part of the presented improvement, Landlab includes the Multiple Flow Direction and D infinity algorithms. Each algorithm for directing flow is its own component, but all share core functionality of the FlowDirector class. This shared functionality includes attributes necessary for interacting with other Landlab components, including the FlowAccumulator. This design permits easy addition of new flow direction algorithms while maintaining interoperability with other Landlab components.

Once flow directions have been assigned, surface water discharge and drainage area can be calculated through flow accumulation. This functionality is provided by the FlowAccumulator component which is compatible with all FlowDirector components. Depending on the algorithm chosen, flow accumulation can be computationally inefficient, scaling at a rate greater than O(N). We present a new algorithm for accumulating flow for in the case where flow is directed to more than one receiver that scales with the number of links that flow is directed over.