|HydroTrend is made available under the GPL_v3 license. The developer(s) are not responsible for any harm that might be caused by running this program.
When applying HydroTrend, please make a reference to: Kettner, A.J., and Syvitski, J.P.M., 2008. HydroTrend version 3.0: a Climate-Driven Hydrological Transport Model that Simulates Discharge and Sediment Load leaving a River System. Computers & Geosciences, 34(10), 1170-1183.
HydroTrend is an ANSI-standard C numerical model that creates synthetic river discharge and sediment load time series as a function of climate trends and basin morphology and has been used to study the sediment flux to a basin for basin filling models. As a drainage basin simulator, the model provides time series of daily discharge hydraulics at a river mouth, including the sediment load properties. HydroTrend was designed to provide input to lake or shelf circulation and sedimentation models (Steckler et al., 1996; Syvitski and Alcott, 1995b), and study the impact of land-sea fluxes given climatic change scenarios (Moore, 1992; Syvitski and Andrews, 1994). HydroTrend simulates the major processes that occur in a river basin, including:
- Glacierized areas with advances and retreats depending on the climate scenario,
- Snow accumulation in the winter and melt in the subsequent spring/summer,
- Rainfall over the remaining portions of the basin with canopy evaporation,
- Groundwater recharging and discharging,
- The impact of reservoirs.
HydroTrend, an ANSI-standard C coded program has been developed over many years by a number of researchers. The program started out with the name "RIVER" and was coded in FORTRAN. Over the years, it's capabilities have been built upon and greatly expanded up to RIVER version 5.11. The model development of RIVER and HydroTrend has been under the direction of by James Syvitski. Here is a small overview of all the primairy authors:
|Model Name||Version||Main developer||Date|
|River||1.0||M. Nicholson||April 1992|
|River||2.0||T. Maceachern||August 1992|
|River||3.0||J.M. Alcott||July 1993|
|River||4.0||M. Nicholson||April 1995|
|River||5.0||M.D. Morehead||October 1996|
|River||5.1||M.D. Morehead||August 1997|
|HydroTrend||1.0||M.D. Morehead||1998 - 1999|
|HydroTrend||2.0||S.D. Peckham||2000 - 2001|
|HydroTrend||2.3||A.J. Kettner||2002 - 2004|
|HydroTrend||3.0.x||A.J. Kettner||2004 - now|
|Albert Kettnerfirstname.lastname@example.org||(since January 2002)|
|Irina Overeem||Irina.Overeem@colorado.edu||(since January 2003)|
|Kerry McCarneyemail@example.com||(since June, 2006)|
|Camilo Medinafirstname.lastname@example.org||(since October, 2007)|
|Ted Lewisemail@example.com||(since December, 2007)|
|Phaedra Upton||P.Upton@gns.cri.nz||(since February, 2009)|
|Silke Carmen Lutzmannfirstname.lastname@example.org||(since March, 2010)|
|Nr. of publications:||51|
|Featured publication(s)||Year||Model described||Type of Reference||Citations|
| Kettner, Albert J.; Syvitski, James P.M.; 2008. HydroTrend v.3.0: A climate-driven hydrological transport model that simulates discharge and sediment load leaving a river system. Computers & Geosciences, 34, 1170–1183. |
| Kettner, A.J.; 2011. HydroTrend, version 3.0.2.. , , https://csdms.colorado.edu/pub/models/doi-source-code/hydrotrend-10.1594.IEDA.100135-3.0.2.tar.gz. |
|2011||HydroTrend||Source code ref.||--|
|See more publications of HydroTrend|
There are 2 input files required to run the model: HYDRO.IN and HYDRO0.HYPS. You can use an optional input file (HYDRO.CLIMATE) to specify daily precipitation and temperature events if you do not want to use the climate generator build in to HydroTrend. Each file has it's own format which are discussed below together with an explanation of each of the input parameters.
Explanation table for HYDRO.IN input file. Download this example HYDRO.IN file In case you want to set up a HydroTrend run for your specific river drainage basin.
|1||Title||This first line of the input file, is written to a header line in many of the output files and is used to track the model runs. Up to 119 characters are read. You can set a title for each run, not per epoch!|
|2||ASCII on/off||This option allows you to turn the option of writing output to ASCII files on or off. If it's turned on 6 ASCII files will be created. All the output is standard written to a binary file which is readable by matlab.|
Notice: If you are running the model for more than 20.000 years the option will automatically set to OFF. This because the files sizes are getting to big to handle.
|3||Set output directory||Defines location where the output data will be stored. (This option is not available in the web version of HydroTrend).|
|4||Nepochs||Defines the number of climate epochs to run. A HydroTrend epoch is a period of time over which linear (or no) climate change occurs. If you are running more than 1 epoch start copying the lines after this input, (so starting from line 5) all down to the bottom and paste the block with a blank line between each epoch.|
|5||Syear, Nyears, timestep||Syear: Defines the start year for this epoch. The years are used in many of the output files.|
Nyears: Number of model years for this epoch. Note that for following epochs the start year must match the end year of the previous epoch, syear[ep + 1] == syear[ep] + nyears[ep].
Timestep: HydroTrend always runs on a daily time step. This variable defines the time step over which the data output are averaged. D = daily, M = monthly, S = Seasonally, Y = yearly.
|6||Number of grain sizes||The number of grain sizes (max = 10) to simulate for the suspended sediment load.|
|7||Proportion of sediment||The proportion of sediment in each grain size. The number of values on this line should match the number specified by line 6, and should sum to one. (sum[nr. of grain] == 1).|
|8||Tstart, Tchange, Tstd.||Tstart: The beginning annual mean temperature (°C) for this climate epoch. Tstart should be warmer than -20°C and colder than 30°C.
Tchange: The trend or change per year in the annual temperatures for this epoch (°C/annum). Must lie in the range between +1 or -1°C.
|9||Pstart, Pchange, Pstd.||Pstart: The beginning total annual precipitation (m) for this climate epoch. Pstart lies in the range between 0 and 5.|
Pchange: The trend or change in the total annual precipitation that will occur during this epoch (m/annum). Pchange lies in the range between -0.5 and 0.5.
Pstd.: The standard deviation about the trend line that the annual precipitation will have. Pstd lies in the range between -2 and 2.
|10||P mass balance coef., Distribution exp., Distribution range.||P mass balance coef.: Rain mass balance coefficient. Typically for modern climate simulations, Pstart will be from observations. A point measurement will typically not represent the entire basin and will need to be scaled up or down to provide the correct amount of basin wide precipitation. This variable is used to scale the total annual precipitation (Pstart). P mass balance coefficient lies between 0 to 10.|
Distribution exp.: A skewed gaussian distribution is used to create the precipitation which creates realistic tails for the precipitation events. This exponent is the skew factor and lies between 1 and 2.
Distribution range: This variable defines the width function for the skewed gaussian distribution of the simulated precipitation and lies between 0 and 10.
|11||Baseflow||Defines the constant annual base flow (m3/s) which occurs in the basin. This is analogous to a deep groundwater pool. Baseflow should be bigger than 0 and smaller than the total precipitation discharge.|
|12-23||Monthly climate variables||The monthly climate variables are used to create the daily temperature and precipitation time series. If you are looking for data, The National Climate Data Centre (NCDC) has climate records of over a 10000 weather stations around the world, see GLOBALSOD. If you uploaded a climate file as described on the hydrotrend webpage, just fill out fake numbers. Hydrotrend will read the lines 13-24 but won't use the values (so don't leave them blank)!
|24||Lapse rate||This lapse rate (°C/km) is used to calculate the daily temperatures in each of the altitude bins, which are in turn used to determine where it snows or rains and where the freezing line is. Lapse rate is defined between 1 and 10.|
|25||ELAstart, ELAchange||ELAstart: The starting glacier equilibrium line altitude (m). Should be bigger than 0.|
ELAchange: The ELA change per year (m/a). The ELA at the beginning of one epoch must match the ELA at the end of the precious epoch. elastart[ep + 1] == elastart[ep] + nyears[ep]*elachange[ep].
|26||Dry precipitation evaporation fraction||The percentage of the dry precipitation (nival&ice) which will be evaporated. Lies between 0.0 and 0.9.|
|27||Delta plain gradient||The average slope of the river bed delta (gradient) is used in calculations of bedload transport and lies between 0.000001 and 0.01.|
|28||River length||The length of the river basin (km), used for flow routing, lies between 10 and 10000.|
|29||Volume, altitude or drainage area of Reservoirs||Volume (km3), altitude (m) or drainage area (d) above a reservoir in drainage basin. If the reservoir capacity is more than 0.5km3, Trap Efficiency (TEbasin) will be calculated based by: (TEbasin = 1.0 - (0.05 / exp(Rvol/RQbar)0.5, where Rvol = Reservoir volume and RQbar = the mean inflow discharge).|
If the reservoir capacity is less than 0.5km3, (TEbasin = ( 1.0 - (1.0 / (1 + 0.0021 *D * ((Rvol * 1e9) / Rarea)))) where Rvol = Reservoir volume and Rarea (km2) = drainage area above the Reservoir) and D, set to 0.1, represents the reservoir characteristics .
|30||Velocity coef (k), exponent (m)||(k): The river mouth velocity coefficient|
(m): The river mouth velocity exponent, See explanation line 32. .
|31||Width coef. (a), exponent (b)||(a): The river mouth width coefficient|
(b): The river mouth width exponent.
The velocity (v), width(w) and depth (d) of the river mouth are defined by the hydraulic geometry :
Where: v=k*Qm, w=a*Qb, d=c*Qf and the discharge: Q=w*v*d.
|32||Average velocity||The average river velocity (m/s), used for flow routing, lies between 0.1 and 5|
|33||Max, Min groundwater storage||Max groundwater storage: The maximum groundwater pool storage (m3), lies between 2.0 and 1e15.|
Min groundwater storage: The minimum groundwater storage (m3), lies between 1.0 and max value.
|34||Initial groundwater storage||The initial groundwater storage, lies between max en min groundwater storage, defined in line 33.|
|35||Groundwater coefficient, groundwater exponent||Groundwater coefficient: The shallow groundwater (sub-surface storm flow) coefficient (m3/s) is used in draining the groundwater pool to the river, lies between 1 and 1e5.|
Groundwater exponent: The shallow groundwater (sub-surface storm flow) exponent is used in draining the groundwater pool to the river, lies between 0.5 and 2.
|36||Ko||Saturated hydraulic conductivity (mm/day), lies between 10 and 1000.|
See table for Saturated hydraulic conductivity in relation to texture.
|37||longitude, Latitude position||The longitude and latitude geographic position of the river mouth (decimal degrees).|
|38||Nr. of Outlets of Delta||The number of outlets in a delta (max 10). If their is no delta, set value to 1.|
|39||Fraction discharge per outlet||Fraction of discharge for each outlet (sum=1). If line 38 is 1, fraction is also 1.|
|40||Maximum flood event||If Qpeak > Max flood event: nr. Of outlets or Fraction Q (line 39) changes|
|41||Sediment trapping by delta||Fraction sediment trapped in delta (0 - 0.9).|
|42||Set which Qsbar formula to use||
|43||Lithology factor (L)||Sediment production varies with lithology, hard versus weak lithology: (0.5 - 3). See also 
|44||Anthropogenic factor (Eh)||Anthropogenic factor (0.3 - 8.0), disturbance to landscape.
See also 
- Vörösmarty, C.J., Meybeck, M., Fekete, B., and Sharma, K. (1997) The potential of neo-Castorization on sediment transport by the global network of rivers. Human Impact on Erosion and Sedimentation, IAHS, 245, 261-273.
- Verstraeten G., and Poesen, J. (2000) Estimating trap efficiency of small reservoirs and ponds: methods and implications for the assessment of sediment yield. Progress in Physical Geography, 24, 219-251.
- Leopold, L.B. and T. Maddock, 1953. “The Hydraulic Geometry of Stream Channels and Some Physiographic Implications”, U.S. Geological Survey Professional Paper 252.
- Syvitski, J.P.M., Peckham, S.D., Hilberman, R., and Mulder, T., 2003. Predicting the terrestrial flux of sediment to the global ocean: a planetary perspective. Sedimentary Geology, 162(1-2), 5-24.
- Syvitski, J.P.M. and Milliman, J.D., 2007, Geology, geography and humans battle for dominance over the delivery of sediment to the coastal ocean. J. Geology 115, 1–19.
Saturated hydraulic conductivity
Saturated hydraulic conductivity rates shown in the table below are in relation to texture and are only a general guide. Differences in bulk density may alter the rates shown below.
Table 2: General values for Saturated hydraulic conductivity
|SOIL TEXTURAL CLASSES & RELATED SATURATED HYDRAULIC CONDUCTIVITY CLASSES||HydroTrend values|
|Texture||Textural Class||General||Ksat Class||Ksat Rate (um/sec.)||Ksat Rate (mm/day)|
|Coarse sand||Coarse||Sandy||V. rapid||> 141.14||> 1219.45|
|Mod. coarse||Loamy||Mod. Rapid||42.34-14.11||364.95-121.91|
|v. fi. sa. loam
sa. cl. loam
si. cl. loam
|Mod. fine||Mod. slow||4.23-1.41||36.55-12.18|
|Fine and very fine||Clayey||Slow||1.41-0.42||12.18-3.63|
|Cd horizon Natric horizon, fragipan, ortstein||V. slow or impermeable||0.42-0.00||3.63-0.00|
The HYDRO0.HYPS file is an ASCII file that provides the model with a hypsometry curve, describing the area - relief relation of the studied river basin. HydroTrend determines the freezing and the snow line based on this information. Under conditions of changing sea level the basin hypsometry curve might be altered as well. In that case you want to run multiple epochs that each have a different hypsometry file. Therefore a number is added in the file name. For example if the simulation contains 2 epochs you need 2 hypsometry files named HYDRO0.HYPS and HYDRO1.HYPS.
This is the format of the file in case you want to create a HYDRO0.HYPS from scratch:
------------------------------------------------- Hypsometry input file for HYDROTREND First line: number of hypsometric bins Other lines: altitude (m) and area in (km^2) data ------------------------------------------------- 3 1 208.9168081 51 375.2451287 101 536.0996727
were the first 5 lines are the header followed by the number of hypsometric bins (in this case 3), followed by 3 lines containing altitude and the cumulative area at that elevation, starting close to sea level (between 0 - 50m). The elevation increases should go in steps not larger than 50m, and each elevation step should be increasing with the same elevation. Also, the cumulative area always has to increase!
The separation of elevation and cumulative area could be several spaces or just a tab. Notice that the starting elevation as well as the basin area at that point should be always positive. So for sea level change studies that affect the drainage basin, make sure that the sea level is your base level (so always start the hypsometric bins with 0 - 50 m of elevation and than the highest point of the basin will change.
You can download the following HYDRO0.HYPS example file and alter it for your river drainage basin. Hypsometric curves can be created with any GIS software. However, RiverTools is very straight forward to use for this.
The HYDRO.CLIMATE file is an optional ASCII file that can be used to simulate fluvial water discharge and sediment load for a specific climate event. The file needs to contain climate data (temperature and precipitation) for at least 1 year (the shortest simulation time for HydroTrend). Climate statistics from the HYDRO.IN file will be used when there is no HYDRO.CLIMATE file in the input directory.
This is the format of the file in case you want to create a HYDRO.CLIMATE from scratch:
-------------------------------------------------------------------- Climate input file for Hydrotrend. DO NOT REMOVE THOSE LINES First line: the number of rows of input values and dt [hours] Rest lines: Total precipitation (mm) and average temperature in degrees C. Values are per timestep. -------------------------------------------------------------------- 10950 24 0 -23.92 0 -23.92 0 -23.92 ... etc ...
were the first 6 lines are the header followed by the number of climate records (in this case 10950, only 3 lines are showed) and the time interval specified in hours (so in this example we deal with daily average temperature and daily total precipitation), followed by lines of precipitation (in mm) and temperature (in degrees Celsius). Precipitation and temperature data can be separated either with a tab or by 1 or more spaces.
You can download an example HYDRO.CLIMATE file an modify it for your river drainage basin. CSDMS might have some good climate source suggestions in case you are searching for climate data for your river basin.
General ASCII output files
A summary table of information is output to HYDRO.LOG. Mean annual and total annual values of many model parameters (discharge, load, basin temperature, precipitation, etc.) are written to a set of annual trend files (HYDRO.TRN1, HYDRO.TRN2, and HYDRO.TRN3). These annual trend files are useful for verifying climate ranges and trends and to check total discharge and sediment load. HYDRO.STAT is representing the used water and sediment equations and their statistics per epoch.
Optional ASCII output files
It's possible, to write all the output data to ASCII files. This option can be turned 'ON' or 'OFF' in the HYDRO.IN file. Notice that ASCII files are larger than binary output.
When the ASCII option is turned 'ON' the following files will be created:
- HYDROASCII.CS; containing columns of sediment per time of each sediment size. Columns are seporated by a space
- HYDROASCII.Q; contains one column, discharge
- HYDROASCII.VWD; contains three columns separated by a space: Velocity, width and dept at the river mouth.
There are 2 binary output files, named HYDRO.DIS and HYDRO.CONVDIS. Both files contain the same data, which is a minimum of 6 columns all seporated by space. From one to 6 or more: it contains velocity, width, depth, Qb, Cs[i](number of columns is equal to the number of grainsizes specified in the input file) and Total Cs. All values are defined as floats. Matlab can handle the format. The binary file are platform dependant. A swapped version of the output file is created for other platforms: HYDRO.CONVDIS file (this is the swabbed version of HYDRO.DIS).
Matlab tools to visualize
The binary file is created in such a way that it is easy to analyse with matlab. 3 matlab macro files are created to analyse the file. Follow the steps to use the matlab macro files.
- Download the files.
- Unzip the files.
- Place the files in your matlab mfiles directory.
- Set properties of the macro files to to 755.
- Set the pathname of your mfiles directory if this is not yet done. (Goto menu: file, Set Path.; Add Folder <the pathname of the mfiles directory>; Save)
- You are ready to use the macro's. Go to Command Window.
- Example: <PlotRiver HYDRO.DIS> is actualy plotting the data (see figure below).