Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Assistance Needed for Model Calibration and Parameter Optimization in SWAT-CUP

55 views
Skip to first unread message

Sefa Nur Yeşilyurt

unread,
Dec 8, 2024, 12:38:34 PM12/8/24
to SWAT-CUP

Dear SWAT-CUP Community,

I am currently working on calibrating a SWAT model and facing challenges in improving the fit between observed and simulated streamflow, particularly during high-flow periods. I have attached a graph of my current results (FLOW_OUT_2) for reference, where it is evident that the model overestimates flow peaks significantly.

To address these issues, I have already attempted a sensitivity analysis to identify the most influential parameters and adjusted them systematically. Despite focusing on key parameters such as CN2, SOL_AWC, and SOL_K, the calibration results have not been satisfactory. Furthermore, I have verified the input data quality, including precipitation and land use data.

At this point, I am seeking guidance on the following:

  1. Additional Parameter Suggestions: Are there other parameters (e.g., ESCO, EPCO, GWQMN) that you would recommend prioritizing to address overestimation of peak flows?
  2. Curve Number Adjustment: Could further adjustments to CN2 or alternative approaches (e.g., using soil moisture dynamics) be more effective for reducing surface runoff and improving peak flow simulation?
  3. Alternative Calibration Strategies: Would you suggest a different calibration strategy, such as subdividing the calibration into seasonal components or focusing on specific hydrological processes like groundwater flow or infiltration?

I am attaching the relevant plot for your review and would greatly appreciate any insights or suggestions from the community regarding how to proceed further. Thank you for your time and support.

Best regards,
Sefa Nur Yeşilyurt

rch.xlsx
swatcup.png
arcswat.png

Oscar M Cabezas-Nivin

unread,
Dec 8, 2024, 1:57:11 PM12/8/24
to SWAT-CUP
Hi,

To get a better understanding of the problem you are facing, I would suggest you to also include your par_inf file, in order to understand which parameters, you are using. About your problem, what can I advise you from the information and context you show:

1. You need to decrease the runoff, for example: lowering CN2, increasing infiltration and evapotranspiration related parameters, or increasing the infiltration of the channel bed can be good alternatives
2. from your swatcup plot, it seems that the range of the parameters that you are changing are not working, so exploring new range is a must to do thing.
3. If your study area has an important snow component, you should also include it

It seems that you are calibrating at a monthly scale, which typically SWAT is really good at doing it. In the end, you should be able to obtain a very good performance after taking the proper actions

Regards,
Oscar M Cabezas-Nivin

Sefa Nur Yeşilyurt

unread,
Dec 10, 2024, 1:25:33 PM12/10/24
to swat...@googlegroups.com
Hello, the parameters are below. However, I have a problem that no matter what parameter value is tried, the graph is almost always the same. When I check from the dotty plus section, I think nothing has changed. So there is something I suspect. "7 : variable column number(s) in the swat output file (as many as the above number)" Am I doing something wrong in this part? I sent you the rch file. What should I do with this part?
 




39  : Number of Parameters (the program only reads the first 4 parameters or any number indicated here)
  1000  : number of simulations

a__CN2.mgt 35 98
r__ESCO.bsn 0 0.05
a__EPCO.bsn 0 1
a__FFCB.bsn 0 1
a__TIMP.bsn 0 1
a__EVLAI.bsn 0 1
a__USLE_P.mgt 0 1
a__SLSUBBSN.hru 10 50
a__HRU_SLP.hru 0 0.6
r__OV_N.hru 0 0.3
a__LAT_TTIME.hru 0 20
a__CANMX.hru 0 20
a__ESCO.hru 0 1
a__EPCO.hru 0 1
r__SLSOIL.hru 0 2
r__MSK_CO1.bsn -0.5 10
r__MSK_CO2.bsn -0.5 10
r__MSK_X.bsn -0.01 0.5
a__TRNSRCH.bsn 0 0.2
a__PRF_BSN.bsn 0.1 2
a__DEPIMP_BSN.bsn 0 100
a__DDRAIN_BSN.bsn 0 20
a__TDRAIN_BSN.bsn 0 15
a__GDRAIN_BSN.bsn 0 20
a__DORM_HR.bsn 0 6
r__SMXCO.bsn -2 8
a__CH_K2.rte 0 5
r__CH_N2.rte 1 10
r__SOL_AWC().sol -0.1 0.4
a__SOL_K().sol 0 10
r__GW_DELAY.gw -1 5
r__ALPHA_BF.gw 0 1
r__RCHRG_DP.gw -0.5 18
a__GWQMN.gw 0 1000
a__SURLAG.bsn 0 24
a__SURLAG.hru 0 24
a__GW_REVAP.gw 0.02 0.2
a__REVAPMN.gw 0.01 20
a__EVRCH.bsn 0.01 1

Oscar M Cabezas-Nivin <omc...@gmail.com>, 8 Ara 2024 Paz, 21:57 tarihinde şunu yazdı:

--
You received this message because you are subscribed to the Google Groups "SWAT-CUP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to swat-cup+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/swat-cup/88475cfd-99c6-4798-b1f4-755536e073f0n%40googlegroups.com.


--
Arş. Gör. SEFA NUR YEŞİLYURT
Dokuz Eylül Üniversitesi, Mühendislik Fakültesi,
İnşaat Mühendisliği Bölümü, 
İzmir-Türkiye
Res. Asst.  SEFA NUR YEŞİLYURT
Dokuz Eylul University, Faculty of Engineering,
Department of Civil Engineering, 
Izmir-Turkey




dooty plus.png

Yinlong Huang

unread,
Dec 10, 2024, 1:33:28 PM12/10/24
to swat...@googlegroups.com
Hi Sefa,

A few things:

1. Usually I don't do "a_", but for some value change, I usually do "v_" so you might try this out. 
2. You are right, it's suspicious that your parameters are not changing at all. In that case, I suggest you check this file: par_val.txt file in SUFI2.IN folder. You only need to run SUFI2_pre to generate this file. This file tells you that assuming you have 1000 runs, what will be the parameter combination for each run. If your value are exactly the same for each simulation, then there's something wrong with your model setup.


Sefa Nur Yeşilyurt <yesilyurt...@gmail.com> 于2024年12月10日周二 11:25写道:


--

Yinlong (David) Huang 
B.Sc Engineering(Civil), M.Sc, Ph.D student

Watershed Science and Modelling Laboratory

https://cms.eas.ualberta.ca/faramarzilab/

University of Alberta
Department of Earth and Atmospheric Sciences
Edmonton, AB  T6G 2E3, Canada
1-26 Earth Sciences Building

Oscar M Cabezas-Nivin

unread,
Dec 10, 2024, 1:56:28 PM12/10/24
to SWAT-CUP
Hi,

I have to agree with Mr Huang, your par_inf selected does not make any sense, choosing a__ instead of r__ for CN2 it is a great misconception. What can I advise you is first understand when a__, v__, and r__ type of changes are well suited, and then use flow related parameters. From your list, I put in red those parameters that typically are not associated to flow (it is a suggestion). Also, it does not make sense to do a double change, if you are changing ESCO & EPCO in the .bsn file, it is not necessary to do it again in the .hru file, you are increasing your computational labor needlessly. 

My biggest suggestion for you it first to understand when 'a__', 'v__', and 'r__' changed are needed and for which parameters are suited. In my experience, 'a__' change is rarely used, but it is up to you to decide to use it or not.
Regards,

Oscar M Cabezas-Nivin, AM ASCE
Water Resources and Climate Change Laboratory
NMSU Department of Civil Engineering, USA

Sefa Nur Yeşilyurt

unread,
Dec 23, 2024, 3:57:46 AM12/23/24
to SWAT-CUP

Thank you for all the answers. You are really right. I rearranged all the parameters. I expressed the constants with v in all HRUs; the variable ones with r and corrected the model. and now my model works without any problems. I obtained nse values ​​above 0.8. but when I went to the second step, I had a new problem. I meticulously processed the values ​​I obtained in swatcup to arcswat. with the edir parameter option. but the results were different from those in arcswat (0.25 nse). I could not understand the reason for this. is this normal? I should enter the appropriate parameters and work with climate scenarios
10 Aralık 2024 Salı tarihinde saat 21:56:28 UTC+3 itibarıyla Oscar M Cabezas-Nivin şunları yazdı:

riad arefin

unread,
Dec 23, 2024, 11:22:39 AM12/23/24
to swat...@googlegroups.com

Dear Sefa,

Could you please share your experience regarding your model performance of NSE.

I am struggling and stumbling with my daily data from 1990 to 2023 for calibration.

What did you do with your parameters?

Regards
-Riad-


Sefa Nur Yeşilyurt

unread,
Dec 23, 2024, 11:42:22 AM12/23/24
to swat...@googlegroups.com

I haven't completed the process yet because when I enter the best parameters I obtained in swatxup into arcswat, I get a bad result. But I can talk about what I obtained in swatcup. First of all, I worked on a monthly model. In other words, I created a monthly model using daily data. When calibrating this model, I first used the parameters that come by default in swat in an open range (direct min max). Because these were not given with a logic when the model was created. I did these with v. Then I changed the parameters that change in every hru and whose inputs are connected with r. I created an Excel for bhns. First, I started with 34 path meters and then I took into account the 14 parameters that came out in the sensitivity analysis. I tried the best values ​​given for these 14 parameters in my excel every time and corrected the outliers. Thus, I was able to get 0.8 nse by working. But this took about 6 months. Because I kept making different mistakes and it took me a long time to understand this. Now I have a new problem. I have to run the model again with satellite data. But when I enter the best values ​​into swat, I can't get good results.  I don't know if it goes directly through swatcup. Maybe someone can help me with this while I'm trying to help you...


23 Ara 2024 Pzt 19:22 tarihinde riad arefin <riad...@gmail.com> şunu yazdı:

riad arefin

unread,
Dec 23, 2024, 11:54:21 AM12/23/24
to swat...@googlegroups.com

Dear Sefa,

Thank you. And you are doing well.

However, I did not understand ""parameters that change in every hru and whose inputs are connected with r"". I created an Excel for bhns.

I did not understand this, I heard it again and again but i am unfamiliar with this.

Regards
-Riad-


Sefa Nur Yeşilyurt

unread,
Dec 23, 2024, 12:20:17 PM12/23/24
to swat...@googlegroups.com

For example, the cn2 parameter. It takes different values ​​in each hru or landuse. Therefore, we should look at the minimum and maximum values. Then, an interval should be determined with r according to these values. For example, it can take a minimum of 60 and a maximum of 85. You will look at your own basin. You can see this most easily from the swat2012 file. Look at this and decide. You should also look at the parameters like this.


23 Ara 2024 Pzt 19:54 tarihinde riad arefin <riad...@gmail.com> şunu yazdı:

riad arefin

unread,
Dec 23, 2024, 12:23:28 PM12/23/24
to swat...@googlegroups.com

Dear Sefa,

Thank you for your response.

Regards
-Riad-


Reply all
Reply to author
Forward
0 new messages