Semi- distributed approach of SAC-SMA and algorithm in hydromad

62 views
Skip to first unread message

Guniganti Surya Kiran

unread,
Jan 4, 2022, 12:51:41 AM1/4/22
to hydromad users
Dear all,
               I am trying implement the SAC-SMA in semi - distributed approach and I am aware that it is lumped model. I have seen many researchers have done this and want to know if there is anyway in hydromad. I would like know how the calibration and ARMAX model is working in hydromad for SAC-SMA model.
Note: Article, codes, google links can be helpful
With regards
G Surya Kiran
 
              

Guniganti Surya Kiran

unread,
Jan 11, 2022, 4:57:42 AM1/11/22
to hydromad users
A gentle reminder on the above mail and also want to know about the usage of warm up period

Joseph Guillaume

unread,
Jan 16, 2022, 6:55:49 PM1/16/22
to hydromad users
Hi, 

>                I am trying implement the SAC-SMA in semi - distributed approach and I am aware that it is lumped model. I have seen many researchers have done this and want to know if there is anyway in hydromad.

hydromad does not currently provide support for semi-distributed hydrological modelling. In principle it is possible by chaining model outputs and using routing functions in between, but you're on your own here unfortunately, unless others in the community have anything to share.

> I would like know how the calibration and ARMAX model is working in hydromad for SAC-SMA model.

The armax model is generally not used with the sac-sma model. The sac-sma model includes its own representation of stores.
There is nothing stopping you from specifying routing="armax" and using the various routing fitting functions. It's just not a common way of doing it. Note that the routing component takes in effective rainfall from sma and converts it to streamflow. This is not intended as a river routing function.

The way armax calibration works with the rfit functions is that the optimisation algorithm in e.g. fitByOptim selects parameters for the sma component, and calculates the effective rainfall using those parameters. The selected rfit function then uses its own algorithm to select parameters for the armax function (see the options under "routing fitting") on the website.

> ... also want to know about the usage of warm up period

The warmup period defaults to hydromad.getOption("warmup") when creating a hydromad object. This removes the given number of timesteps from the output time series when calculating performing statistics.

Best regards,

Joseph

Guniganti Surya Kiran

unread,
Jan 20, 2022, 4:35:33 AM1/20/22
to hydromad users
Thank you sir,  
Please let me know what are the advantages if I use warm up period,  changes that happen in the process if I am not using the warmup period, what are its effects on the parameters and simulated streamflows. 

Joseph Guillaume

unread,
Jan 23, 2022, 7:52:51 PM1/23/22
to hydromad users
Please see general literature on warm up periods.
In short, the motivation is that during the warm up period performance may be strongly influenced by initial values of model state variables. Not considering the warmup period in calculation of performance metrics reduces the impact of initial values.
The model itself is not affected at all by the warmup period, but the fitted parameters may be.
You can perform numerical experiments yourself to see the impact of initial values and warmup periods for your specific data.

Guniganti Surya Kiran

unread,
Jan 31, 2022, 1:17:09 AM1/31/22
to hydromad users
Thank you sir

Guniganti Surya Kiran

unread,
Feb 2, 2022, 1:02:23 AM2/2/22
to hydromad users
Dear sir,
             Can you please send me the articles which you are used in writing source code for Sacramento soil moisture model and calibrating the models (presently I am using the Dynamically dimensioned search method for calibration), I also performed numerical experiments considering warm up period and not considering and observed the change in the values but when checked some verification metrics between the observed and simulated streamflows have not shown much different. Please let me know how properly express the difference using and not using the warm up period. 
With regards
G Surya Kiran

Joseph Guillaume

unread,
Feb 7, 2022, 10:30:38 PM2/7/22
to hydromad users
Hi,

Please see the help pages and code:

As noted in the source file, the code is based on a pre-existing implementation and has not been implemented directly from the cited paper.

Note that this is just a thin wrapper around the optim_dds function provided in the ppso package.

Please see my previous explanation about the general effect of the warmup period. I'm not in a position to give specific advice on how you should justify how you used/did not use a warmup period for your particular study, though others on this list might have opinions on best practice that they'd like to share.

Best,

Joseph
Reply all
Reply to author
Forward
0 new messages