Model:TopoFlow-Channels-Diffusive Wave: Difference between revisions

From CSDMS
m (moved page)
 
(To be used as a template for all TopoFlow process components.)
Line 17: Line 17:
|Spatial dimensions=2D
|Spatial dimensions=2D
|Spatialscale=Landscape-Scale, Watershed-Scale
|Spatialscale=Landscape-Scale, Watershed-Scale
|One-line model description=Hydrological Model
|One-line model description=Diffusive Wave process component for a D8-based, spatial hydrologic model
|Extended model description=TopoFlow is a powerful, spatially-distributed hydrologic model with a user-friendly point-and-click interface. The TopoFlow-Channels- Diffusive Wave model uses the Diffusive wave method to calculate the routing flow in channels. This method includes the pressure gradient that is induced by a water-depth gradient in the downstream direction. This means that instead of using bed slope in Manning's equation or the law of the wall, the water-surface slope is used.   
|Extended model description=This process component is part of a spatially-distributed hydrologic model called TopoFlow, but it can now be used as a stand-alone model. It uses the "diffusive wave" method to compute flow velocities for all of the channels in a D8-based river network. This method includes a pressure gradient term that is induced by a water-depth gradient in the downstream direction. This means that instead of using bed slope in Manning's equation or the law of the wall, the water-surface slope is used.   
}}
}}
{{Model technical information
{{Model technical information
|Supported platforms=Unix, Linux, Mac OS, Windows
|Supported platforms=Unix, Linux, Mac OS, Windows
|Programming language=Python
|Programming language=Python (and uses the NumPy package)
|Other program language=NumPy (Python package for scientific computing)
|Other program language=None
|Code optimized=Single Processor
|Code optimized=Single Processor
|Start year development=2001
|Start year development=2001
Line 30: Line 30:
|Source code availability=Through CSDMS repository
|Source code availability=Through CSDMS repository
|Program license type=Apache public license
|Program license type=Apache public license
|OpenMI compliant=No but planned
|OpenMI compliant=Yes (partially)
|CCA component=Yes
|CCA component=Yes
|IRF interface=No but planned
|IRF interface=Yes
|Memory requirements=Standard
|Memory requirements=Standard
|Typical run time=Minutes to hours
|Typical run time=Minutes to hours
}}
}}
{{Input - Output description
{{Input - Output description
|Describe input parameters=Description of input variables
|Describe input parameters=
---------------------
These inputs must be provided as grids (in binary files):
*flow_codes = D8 flow codes (Jenson convention)          [NE,E,SE,S,SW,W,NW,N] → [1,2,4,8,16,32,64,128]
*flow_codes = D8 flow codes (Jenson 1984 convention)          [NE,E,SE,S,SW,W,NW,N] → [1,2,4,8,16,32,64,128]
*bed_slope = slope of the channel bed or hillslope [m / m]
*bed_slope = slope of the channel bed or hillslope [m / m]
*Manning_n = Manning roughness parameter [s / m1/3]
*Manning_n = Manning roughness parameter [s / m^(1/3)]
*bed_width = bed width for trapezoidal cross-section [m]
*bed_width = bed width for trapezoidal cross-section [m]
*bank_angle = bank angle for trapezoid [deg] (from vertical)
*bank_angle = bank angle for trapezoid [deg] (from vertical)
*sinuosity = channel sinuosity [unitless] (along-channel / straight length)
*init_depth = initial water depth [m] (See HTML help)


The input variable entrees through the GUI will be the following:  
These inputs can be provided as scalars or grids:
*sinuosity  = channel sinuosity [unitless] (along-channel / straight length)
*init_depth = initial water depth [m] (See HTML help)
 
Here is a sample configuration (CFG) file for this component:
  *Method code:            2
  *Method code:            2
  *Method name:            Diffusive_Wave
  *Method name:            Diffusive_Wave
Line 55: Line 57:
  *D8 flow code:          Grid          Treynor_flow.rtg    [none]
  *D8 flow code:          Grid          Treynor_flow.rtg    [none]
  *D8 slope:              Grid          Treynor_slope.rtg  [m/m]
  *D8 slope:              Grid          Treynor_slope.rtg  [m/m]
  *Manning N:              Grid          Treynor_chan-n.rtg   [s/m^(1/3)]
  *Manning N:              Grid          Treynor_chan-n.rtg [s/m^(1/3)]
  *Bed width:              Grid          Treynor_chan-w.rtg  [m]
  *Bed width:              Grid          Treynor_chan-w.rtg  [m]
  *Bank angle:            Grid          Treynor_chan-a.rtg  [deg]
  *Bank angle:            Grid          Treynor_chan-a.rtg  [deg]
  *Init. depth:            Scalar        0.00000000          [m]
  *Init. depth:            Scalar        0.00000000          [m]
  *Sinuosity:              Scalar        1.00000000          [m/m]
  *Sinuosity:              Scalar        1.00000000          [m/m]
|Input format=ASCII, Binary
|Input format=ASCII (for Scalar and Time Series), Binary (for Grid and Grid Sequence)
|Describe output parameters=
|Describe output parameters=
The output variable entrees through the GUI will be the following:
This component computes the following variables, as grids:
------------------------------------
discharge, Q, [m^3/s];
    *Save grid timestep:    Scalar        60.00000000      [sec]
flow velocity, u, [m/s];
    *Save Q grids:          1              Case5_2D-Q.rts    [m^3/s]
flow depth, d, [m];
    *Save u grids:          0              Case5_2D-u.rts    [m/s]
friction factor, f, [none];
    *Save d grids:          0              Case5_2D-d.rts    [m]
free-surface slope, S_free, [m/m].
    *Save f grids:          0              Case5_2D-f.rts    [none]
The user can choose which, if any, of these to save. Each may be saved as a grid sequence, indexed by time, in a netCDF file, at a specified sampling rate. Each may also be saved for a set of "monitored" grid cells, each specified as a (row,column) pair in a file with the name "<case_prefix>_outlets.txt".  With this option, computed values are saved in a multi-column text file at a specified sampling rate. Each column in this file corresponds to a time series of values for a particular grid cell.  For both options the sampling rate must no smaller than the process timestep.
    *Save pixels timestep:  Scalar        60.00000000      [sec]
 
    *Save Q pixels:          1              Case5_0D-Q.txt    [m^3/s]
    *Save u pixels:          0              Case5_0D-u.txt   [m/s]
    *Save d pixels:          0              Case5_0D-d.txt    [m]
    *Save f pixels:          0              Case5_0D-f.txt    [none]
|Output format=ASCII, Binary
|Output format=ASCII, Binary
|Pre-processing software needed?=Yes
|Pre-processing software needed?=Yes
|Describe pre-processing software=RiverTools or a similar program is helpful for pre- and post-processing.
|Describe pre-processing software=Another program must be used to create a D8 flow grid from a DEM for the region to be modeled.
|Post-processing software needed?=Yes
|Post-processing software needed?=Yes
|Describe post-processing software=RiverTools or a similar program is helpful for pre- and post-processing.
|Describe post-processing software=None, except visualization software.
|Visualization software needed?=No
|Visualization software needed?=Grid sequences saved in netCDF files can be viewed as animations and saved as movies using VisIt.
}}
}}
{{Process description model
{{Process description model
|Describe processes represented by the model=Snowmelt (degree-day or energy balance), precipitation (measured or simulated), evapotranspiration (Priestley-Taylor or energy balance), infiltration (Green-Ampt, Smith-Parlange or Richards' 1D, multi-layer), overland flow, shallow subsurface flow (Darcy, up to 6 layers), flow diversions (sinks, sources or canals)
|Describe processes represented by the model=The diffusive wave method for flow routing in the channels of a D8-based river network.
|Describe key physical parameters and equations= (Soucre: TopoFlow HTML Help System)
|Describe key physical parameters and equations= (Source: TopoFlow HTML Help System)


------------------------------------------------------------
------------------------------------------------------------
  ΔV(i,t)=  Δt * [ R(i,t) Δx Δy - Q(i,t) + Σk Q(k,t) ] = change in water volume [m3],  mass conservation
  ΔV(i,t)=  Δt * [ R(i,t) Δx Δy - Q(i,t) + Σk Q(k,t) ] = change in water volume [m3],  mass conservation
  d =  {[ w2 + 4 tan(θ) V / L]1/2 - w } / [2 tan(θ)]  = mean water depth in channel segment [m]  (if θ > 0)
  d =  {[ w2 + 4 tan(θ) V / L]^1/2 - w } / [2 tan(θ)]  = mean water depth in channel segment [m]  (if θ > 0)
  d =  V / [w * L] = mean water depth in channel segment [m]  (if θ = 0)
  d =  V / [w * L] = mean water depth in channel segment [m]  (if θ = 0)
  Q =  v * Aw = discharge of water [m3 / s]
  Q =  v * Aw = discharge of water [m3 / s]
  v =  n-1 * Rh2/3 * S1/2 = section-averaged velocity [m / s], Manning's formula
  v =  n-1 * Rh^2/3 * S^1/2 = section-averaged velocity [m / s], Manning's formula
  v =  ( g * Rh * S)1/2 * LN( a * d / z0) / κ = section-averaged velocity [m / s], Law of the Wall
  v =  ( g * Rh * S)1/2 * LN( a * d / z0) / κ = section-averaged velocity [m / s], Law of the Wall
  Rh =  Aw / Pw = hydraulic radius [m]
  Rh =  Aw / Pw = hydraulic radius [m]
Line 97: Line 95:
  Vw =  d2 * [ L * tan(θ) ] + d * [L * w] = wetted volume of a trapezoidal channel [m]
  Vw =  d2 * [ L * tan(θ) ] + d * [L * w] = wetted volume of a trapezoidal channel [m]
|Describe length scale and resolution constraints=Recommended grid cell size is around 100 meters, but can be parameterized to run with a wide range of grid cell sizes. DEM grid dimensions are typically less than 1000 columns by 1000 rows.  
|Describe length scale and resolution constraints=Recommended grid cell size is around 100 meters, but can be parameterized to run with a wide range of grid cell sizes. DEM grid dimensions are typically less than 1000 columns by 1000 rows.  
|Describe time scale and resolution constraints=Each process can have its own timestep. Typical timesteps are: channel flow (seconds), infiltration (seconds to minutes), snowmelt (hours to days), subsurface flow (hours to days), etc. Model can be run for a full year or longer, if necessary.
|Describe time scale and resolution constraints=The basic stability condition is: dt < (dx / u_min), where dt is the timestp, dx is the grid cell size and u_min is the smallest velocity in the grid.  This ensures that flow cannot cross a grid cell in less than one time step. Typical timesteps are on the order of seconds to minutes. Model can be run for a full year or longer, if necessary.
|Describe any numerical limitations and issues=Diffusive wave routing routine needs more testing.
|Describe any numerical limitations and issues=This model/component needs more rigorous testing.
}}
}}
{{Model testing
{{Model testing
|Describe available calibration data sets=TopoFlow:Channels:Diffusive Wave is typically not calibrated to fit data, but is run with best guesses of the physical parameters.  
|Describe available calibration data sets=This model/component is typically not calibrated to fit data, but is run with a best guess or measured value for each input parameter.  
|Describe available test data sets=Available test datat sets:
|Describe available test data sets=Available test data sets:


     * Treynor watershed, in the Nishnabotna river basin, in Iowa, USA. Two large events.
     * Treynor watershed, in the Nishnabotna river basin, in Iowa, USA. Two large rainfall events.
    * Small basin in Kentucky.
    * Inclined plane for testing.
     * Arctic watershed data from Larry Hinzman (UAF).  
     * Arctic watershed data from Larry Hinzman (UAF).  
|Describe ideal data for testing=Several test datasets can be downloaded from the TopoFlow website.  
|Describe ideal data for testing=Several test datasets are stored on the CSDMS cluster at: /data/progs/topoflow/3.0/data.  
}}
}}
{{Users groups model
{{Users groups model
Line 113: Line 113:
{{Documentation model
{{Documentation model
|Provide key papers on model if any=Peckham, S.D. (2008) Geomorphometry and spatial hydrologic modeling (Chapter 22), In: Hengl, T. and Reuter, H.I. (Eds), Geomorphometry: Concepts, Software and Applications. Developments in Soil Science, vol. 33, Elsevier, 377-393 pp.
|Provide key papers on model if any=Peckham, S.D. (2008) Geomorphometry and spatial hydrologic modeling (Chapter 22), In: Hengl, T. and Reuter, H.I. (Eds), Geomorphometry: Concepts, Software and Applications. Developments in Soil Science, vol. 33, Elsevier, 377-393 pp.
|Manual model available=Yes
|Manual model available=Yes, as HTML help pages.
|Model website if any=This site.
|Model website if any=This site.
}}
}}
{{Additional comments model
{{Additional comments model
|Comments=The Numerical Python module (numpy) is used for fast, array-based processing. TopoFlow has a 90+ page HTML help system and intuitive GUI that is ideal for teaching.  
|Comments=This component was developed as part of the TopoFlow hydrologic model and is used in CSDMS demonstration projects.  For more information, please see the model page for TopoFlow. The Numerical Python module (numpy) is used for fast, array-based processing.  
}}
}}
<!-- PLEASE USE THE &quot;EDIT WITH FORM&quot; BUTTON TO EDIT ABOVE CONTENTS; CONTINUE TO EDIT BELOW THIS LINE -->
<!-- PLEASE USE THE &quot;EDIT WITH FORM&quot; BUTTON TO EDIT ABOVE CONTENTS; CONTINUE TO EDIT BELOW THIS LINE -->

Revision as of 23:51, 15 February 2010

Contact

Name Scott Peckham
Type of contact Model developer
Institute / Organization CSDMS, INSTAAR, University of Colorado
Postal address 1 1560 30th street
Postal address 2
Town / City Boulder
Postal code 80305
State Colorado
Country USA"USA" is not in the list (Afghanistan, Albania, Algeria, Andorra, Angola, Antigua and Barbuda, Argentina, Armenia, Australia, Austria, ...) of allowed values for the "Country" property.
Email address Scott.Peckham@colorado.edu
Phone 303-492-6752
Fax



TopoFlow-Channels-Diffusive Wave


Metadata

Summary

Also known as
Model type Single
Model part of larger framework
Note on status model
Date note status model

Technical specs

Supported platforms
Unix, Linux, Mac OS, Windows
Other platform
Programming language

Python (and uses the NumPy package)"Python (and uses the NumPy package)" is not in the list (Fortran77, Fortran90, C, C++, Python, Java, IDL, Matlab) of allowed values for the "Programming language" property.

Other program language None
Code optimized Single Processor
Multiple processors implemented
Nr of distributed processors
Nr of shared processors
Start year development 2001
Does model development still take place? Yes
If above answer is no, provide end year model development
Code development status
When did you indicate the 'code development status'?
Model availability As code
Source code availability
(Or provide future intension)
Through CSDMS repository
Source web address
Source csdms web address
Program license type Apache public license
Program license type other
Memory requirements Standard
Typical run time Minutes to hours


In/Output

Describe input parameters [[Describe input parameters model::These inputs must be provided as grids (in binary files):
  • flow_codes = D8 flow codes (Jenson 1984 convention) [NE,E,SE,S,SW,W,NW,N] → [1,2,4,8,16,32,64,128]
  • bed_slope = slope of the channel bed or hillslope [m / m]
  • Manning_n = Manning roughness parameter [s / m^(1/3)]
  • bed_width = bed width for trapezoidal cross-section [m]
  • bank_angle = bank angle for trapezoid [deg] (from vertical)

These inputs can be provided as scalars or grids:

  • sinuosity = channel sinuosity [unitless] (along-channel / straight length)
  • init_depth = initial water depth [m] (See HTML help)

Here is a sample configuration (CFG) file for this component:

*Method code:            2
*Method name:            Diffusive_Wave
*Manning flag:           1
*Law of Wall flag:       0
*Time step:              Scalar         6.00000000          [sec]
*D8 flow code:           Grid           Treynor_flow.rtg    [none]
*D8 slope:               Grid           Treynor_slope.rtg   [m/m]
*Manning N:              Grid           Treynor_chan-n.rtg  [s/m^(1/3)]
*Bed width:              Grid           Treynor_chan-w.rtg  [m]
*Bank angle:             Grid           Treynor_chan-a.rtg  [deg]
*Init. depth:            Scalar         0.00000000          [m]
*Sinuosity:              Scalar         1.00000000          [m/m]]]
Input format ASCII (for Scalar and Time Series)"ASCII (for Scalar and Time Series)" is not in the list (ASCII, Binary) of allowed values for the "Input format model" property., Binary (for Grid and Grid Sequence)"Binary (for Grid and Grid Sequence)" is not in the list (ASCII, Binary) of allowed values for the "Input format model" property.
Other input format
Describe output parameters [[Describe output parameters model::This component computes the following variables, as grids:

discharge, Q, [m^3/s]; flow velocity, u, [m/s]; flow depth, d, [m]; friction factor, f, [none]; free-surface slope, S_free, [m/m]. The user can choose which, if any, of these to save. Each may be saved as a grid sequence, indexed by time, in a netCDF file, at a specified sampling rate. Each may also be saved for a set of "monitored" grid cells, each specified as a (row,column) pair in a file with the name "<case_prefix>_outlets.txt". With this option, computed values are saved in a multi-column text file at a specified sampling rate. Each column in this file corresponds to a time series of values for a particular grid cell. For both options the sampling rate must no smaller than the process timestep.]]

Output format ASCII, Binary
Other output format
Pre-processing software needed? Yes
Describe pre-processing software Another program must be used to create a D8 flow grid from a DEM for the region to be modeled.
Post-processing software needed? Yes
Describe post-processing software None, except visualization software.
Visualization software needed? Grid sequences saved in netCDF files can be viewed as animations and saved as movies using VisIt."Grid sequences saved in netCDF files can be viewed as animations and saved as movies using VisIt." is not recognized as a Boolean (true/false) value.
If above answer is yes
Other visualization software


Process

Describe processes represented by the model The diffusive wave method for flow routing in the channels of a D8-based river network.
Describe key physical parameters and equations [[Describe key physical parameters::(Source: TopoFlow HTML Help System)
ΔV(i,t)=   Δt * [ R(i,t) Δx Δy - Q(i,t) + Σk Q(k,t) ] 	 = change in water volume [m3],   mass conservation
d 	=   {[ w2 + 4 tan(θ) V / L]^1/2 - w } / [2 tan(θ)]   	= mean water depth in channel segment [m]   (if θ > 0)
d 	=   V / [w * L] 	= mean water depth in channel segment [m]   (if θ = 0)
Q 	=   v * Aw 	= discharge of water [m3 / s]
v 	=   n-1 * Rh^2/3 * S^1/2 	= section-averaged velocity [m / s], Manning's formula
v 	=   ( g * Rh * S)1/2 * LN( a * d / z0) / κ 	= section-averaged velocity [m / s], Law of the Wall
Rh 	=   Aw / Pw 	= hydraulic radius [m]
Aw 	=   d * [w + (d * tan(θ))] 	= wetted cross-sectional area of a trapezoid [m2]
Pw 	=   w + [2 * d / cos(θ)] 	= wetted perimeter of a trapezoid [m]
Vw 	=   d2 * [ L * tan(θ) ] + d * [L * w] 	= wetted volume of a trapezoidal channel [m]]]
Describe length scale and resolution constraints Recommended grid cell size is around 100 meters, but can be parameterized to run with a wide range of grid cell sizes. DEM grid dimensions are typically less than 1000 columns by 1000 rows.
Describe time scale and resolution constraints The basic stability condition is: dt < (dx / u_min), where dt is the timestp, dx is the grid cell size and u_min is the smallest velocity in the grid. This ensures that flow cannot cross a grid cell in less than one time step. Typical timesteps are on the order of seconds to minutes. Model can be run for a full year or longer, if necessary.
Describe any numerical limitations and issues This model/component needs more rigorous testing.


Testing

Describe available calibration data sets This model/component is typically not calibrated to fit data, but is run with a best guess or measured value for each input parameter.
Upload calibration data sets if available:
Describe available test data sets Available test data sets:
   * Treynor watershed, in the Nishnabotna river basin, in Iowa, USA. Two large rainfall events.
   * Small basin in Kentucky.
   * Inclined plane for testing.
   * Arctic watershed data from Larry Hinzman (UAF).
Upload test data sets if available:
Describe ideal data for testing Several test datasets are stored on the CSDMS cluster at: /data/progs/topoflow/3.0/data.


Other

Do you have current or future plans for collaborating with other researchers? Collaborators include: Larry Hinzman (UAF), Bob Bolton, Anna Liljedahl (UAF), Stefan Pohl, Tom Over and others
Is there a manual available? Yes, as HTML help pages."Yes, as HTML help pages." is not in the list (Yes, No) of allowed values for the "Manual model available" property.
Upload manual if available:
Model website if any This site.
Model forum / discussion board
Comments This component was developed as part of the TopoFlow hydrologic model and is used in CSDMS demonstration projects. For more information, please see the model page for TopoFlow. The Numerical Python module (numpy) is used for fast, array-based processing.

Introduction

History

Papers

Issues

Help

Input Files

Output Files

Download

Source