Skip to content

jdherman/Qsynth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Synthetic streamflow generator (Qsynth)

Matlab implementation of a weekly synthetic streamflow generator based on Cholesky decomposition. Extends the method developed by Kirsch et al. (2013) to allow for adjustable frequency and severity of droughts.

Citations:

Quick start

Historical data are included in inflow-data. See main.m for an example of generating multiple realizations of synthetic flows. Make sure the output directory inflow-synthetic/ exists.

A single realization can be generated like this:

Qs = Qsynth(Qh, num_years, p, n);

where Qh is a cell array containing historical streamflow matrices, and num_years is the desired length of the synthetic record.

p and n are optional parameters to adjust the frequency of droughts. In the synthetic record, the pth percentile historical flow will become n times more frequent. Recommended values of p are (0.05, 0.30) (lower, if the observed record is very long) and n in the range (1.0, 5.0). To reproduce historical statistics, these parameters can be omitted:

Qs = Qsynth(Qh, num_years);

The rest of the example in main.m is just reshaping matrices so that the output files contain one realization per row. This is not required.

After the files in inflow-synthetic/ have been created, test_autocorr.m and test_spatial_corr.m can be used to compare the historical and synthetic autocorrelation and cross-correlation. These should approximately match.

About

Synthetic streamflow generator with adjustable drought frequency

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages