Análisis de sensibilidad en SWAT-CUP

436 views
Skip to first unread message

camila orellana

unread,
Nov 17, 2019, 7:55:40 PM11/17/19
to Latin American SWAT Users Group

Estimado grupo:


Envío este mensaje ya que tengo la duda sobre como funciona y como se realiza el análisis de sensibilidad de los parámetros en SWAT CUP, alguno tiene conocimiento de como podría determinar que parámetros son los más sensibles en el modelo a través del programa?


De ante mano, muchas gracias.


Saludos cordiales.

David Rivas

unread,
Nov 18, 2019, 4:47:28 AM11/18/19
to Latin American SWAT Users Group
Hola Camila,

Respondiendo a tus preguntas:

¿cómo funcional el análisis de sensibilidad (AS)?

Es un análisis desde el punto de vista estadístico que mide el efecto (variabilidad) que produce uno o varios de los parámetros de SWAT en la variable medida (en tu caso caudal y NO3). Por ejemplo, mido el efecto de incrementar 0,1 el valor CN2 en todos los HRUs y comparo el caudal que me dé con el caudal observado y con el caudal sin modificar del modelo original.  Si repites esto con muchas variables al final podrías establecer un "ranking" de aquellos parámetros que variandolos un poco alteran más o menos, el resultado del caudal de tu modelo. El AS es el primer paso que se debe hacer antes de calibrar y validar.

El AS tiene muchas variaciones o complicaciones según lo quieras ver. El AS es un procedimiento que le permite al usuario de SWAT saber que parámetro escoger para introducir al SWAT CUP para iterar cientos o miles de veces.

Lo primero es diferenciar que existen varios procedimientos para hacer el análisis de sensibilidad y depende del nivel de experticia y de lo ajustado que quieras un modelo. Puedes hacerlo desde, usando una herramienta sencilla como el SWAT CUP hasta programando con R o Python 

El AS se debe hacer por dos vías.

1) usando el método " One at a time". Un parámetro a la vez

2) Usando el "Global Sensitivity Analysis" varios parámetros y sus posibles combinaciones.

Antes de elegir como hacerlo, lo que debes tener es claridad de los parámetros que de uno u otra forma intervienen en las ecuaciones de SWAT del proceso que vas a calibrar (en tu caso caudal en el río y NO3).

Cómo saber que parámetros intervienen en tu proceso (configuración o enrutamiento del caudal)?

Revisando la documentación de SWAT en el siguiente link. Allí se detallan las ecuaciones y unidades de cada uno de los parámetros. Este es un trabajo que debes hacer basado en la información que le diste al modelo en SWAT. 


Hay 42 PDF's con toda la información detallada de cada uno de los parámetros y a que proceso corresponden.

Una vez selecciones todos los parámetros que intervienen con tu variable a calibrar, debes seleccionar aquellas que desde tu experiencia y desde la información que le diste en el "set up" a SWAT serian aquellos parámetros "mas sensibles". No hay un listado cerrado de estos ya que cada cuenca es muy distinta y compleja.

Una vez con este listado debes definir el rango real en el que se van a mover tus parámetros. Por ejemplo el CN2 puede variar +-20%, si pones un valor por ejemplo +-80% estarías variando tanto tu mapa de usos de suelo que ya no se corresponde a la realidad ni al mapa de usos del suelos del set up.

Una vez tengas ese listado debes hacer el "one at a time" con un numero representativo de iteraciones. En tu caso que tienes muy pocos datos para calibrar con que hagas 200-300 por cada parámetro estaría bien. Generas tu ranking del mas sensible al menos sensible (1,2,3,....)

Luego viene lo mas complicado que es las combinaciones entre ellos, haces lo mismo combinando todas las posibilidades de esos parámetros y estableces de nuevo el ranking.

la ventaja que una de estas iteraciones es tu calibración, que luego de seleccionar la combinación más sensible puedes ponerla a iterar unas 500-1000 veces y ya el resultado seria tu calibración.

Claramente puedes buscar más métodos para hacer el AS, los hay y mucho mas complicados.

Espero sea de ayuda.

Si la duda persiste vuelve a escribir.

David

camila orellana

unread,
Nov 20, 2019, 7:44:11 PM11/20/19
to David Rivas, Latin American SWAT Users Group
Estimado,
He elegido algunos parámetros según lo indicado anteriormente (revisando documentación de SWAT), pero he obtenido resultados muy muy bajos, el máximo valor para R2 que he obtenido al ir variado el rango de esta combinación de parámetros es de 0.05 y un NS de -1.52, hay alguna razón del porque den valores tan malos? o solo debo seguir iterando los parámetros y sus rangos?

Espero se entienda mi consulta.

De ante mano, muchas gracias.

Saludos cordiales.
--
--
You received this message because you are subscribed to the Google Groups
"Latin American SWAT Users Group" group.
 
To unsubscribe from this group, send email to:
latin-american-swat-u...@googlegroups.com
 
http://swatmodel.tamu.edu/

---
You received this message because you are subscribed to the Google Groups "Latin American SWAT Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to latin-american-swat-u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/latin-american-swat-users-group/9fbe9fa6-8e2c-4757-84db-d9d2455973c7%40googlegroups.com.

David Rivas

unread,
Nov 21, 2019, 5:20:36 AM11/21/19
to Latin American SWAT Users Group
Hola Camila,

Pueden ser muchas cosas Camila, lo primero es confirmar que el modelo (sin calibrar) y los valores de caudal observado en algo se parezcan o sean similares, si esto no ocurre el problema es el modelo y nada vas a poder hacer desde el SWAT  CUP para mejorarlo y el camino en ese caso es volver a parametrizar el modelo con mejores datos de entrada (mapa de suelos, uso del suelo, información climática e información de la edafología).

Lo primero que debes saber es si el modelo (sin calibrar) te está arrojando un comportamiento similar aunque sea distinto (es decir más o menos caudal), esto lo primero. Esto quiere decir que siga el mismo "patrón" cuando hay picos o recesos en la serie de caudal. Para ello debes incluir un parámetro "tonto" que no cambie nada del modelo y te dé el gráfico entre el valor observado y el valor simulado. Esto lo explica el manual de SWAT CUP en la página 66.  Pero la puedes hacer poniendo 1 sólo parámetro en este caso, por ejemplo en cambio relativo ( r__ ) el CN2 con mínimo 0 y máximo 0:

 r__CN2.mgt      0      0

Dummy model SWAT CUP.JPG


Una vez confirmas que el valor observado y el simulado son "similares" entras a calibrar intentando uno a uno los parámetros que se usan con frecuencia en la mayoría de calibraciones de SWAT CUP. En caso contrario que no se parezca nada el valor simulado al valor observado, deberás repetir el modelo cambiando la información de entrada o cerciorándote que los caudales observados estén en las unidades correctas y que coincidan en las fechas correctas.

Los errores más frecuentes con respecto a no tener un modelo que responda de manera similar a los valores observados son:


1). Información de las estaciones de clima, son muy pocas o no están representando las condiciones reales de la zona, debido a la asignación por centroide a las subcuencas definidas en SWAT. Ten en cuenta que la única (o la más principal) entrada de agua a la cuenca es la lluvia o precipitación (si es que tienes nieve o hielo),  y si no tienes certeza de estos datos o no están bien asignados a cada subcuenca vas a tener muchos problemas en la calibración y validación del modelo.

2). Las propiedades del mapa de suelos. El suelo es "una esponja" donde interactúan la mayoría de flujos de agua entre ellos (la escorrentía, el flujo lateral y la interacción con el acuífero poco profundo) todos ellos ayudan a la configuración de la red hídrica y por tanto del caudal del río. Por lo tanto si las propiedades de suelos como la profundidad de suelo, la conductividad hidráulica, etc. No son bien asignadas, los flujos no van a estar bien alineados en el tiempo y por tanto dificultarían la calibración y validación. Imagina el suelo como "una esponja" y cada unidad de suelo es una esponja distinta mas grande o mas pequeña, mas dura o menos dura, con mayor o menor capacidad de acumular agua, gotea mas o gotea menos, es mas gruesa o mas delgada, ... . Esto al final es lo que haces al darle los parámetros de suelo en SWAT y en el SWAT CUP intentas variar esas características de "la esponja" levemente para ajustar a tu valor observado. 

3). El mapa de usos del suelo. Como sabes el uso del suelo es muy dinámico y de un año al otro cambia incluso dentro del mismo año (cultivos horticolas, incendios forestales, etc). mucha gente usa un único mapa de usos del suelo para un periodo de tiempo > 5 años. Esto genera problemas sobretodo con la escorrentía y la ET, ya que dependen mucho de la vegetación. Para ello la solución es hacer los HRUs dinámicos de un año al otro. En SWAT lo usual es hacer los HRUs dinámicos, ¿cómo?  pues esto se logra con la rotación de cultivos principalmente, pero también puedes actualizar los usos del suelo con expansión urbana, deforestación, etc. Aquí es donde ya inicia a complicarse el modelo y necesitaras de aumentar las prestaciones computacionales de la maquina donde intentes correr el modelo y los posteriores procesos de análisis de sensibilidad, calibración, validación,  y  el  "uncertainty analysis".

4). Los datos de caudal observado. Estos pueden ser: i). poco confiables (sobretodo cuando no son el resultado de mediciones in situ y se usan caudales modelizados para la calibración y validación. ii). El uso de datos mensuales y no se sabe como se obtuvo el promedio mensual. Si es el promedio de 2 datos de 3 de 20 si se hicieron en el mismo sitio, si los hace la misma agencia/persona si los instrumentos de medición son siempre los mismos, etc. Esto acarrea mucha incertidumbre en tu modelo. 

Los anteriores 4 puntos, son en efecto las principales fuentes de incertidumbre asociadas a tu cuenca y por ende debes intentar reducir esta fuente de incertidumbre, cuantificarla y cualificarla. Esto es lo que se conoce como "uncertainty analysis" y es clave para entender el contexto de tu modelo y por tanto te va a dar las luces de su posterior aplicación.

espero sea de ayuda.

si la duda persiste vuelve a escribir.

David

camila orellana

unread,
Nov 21, 2019, 10:41:47 AM11/21/19
to David Rivas, Latin American SWAT Users Group
Estimado:

Muchas gracias por la información, estaré verificando cada punto para ver si encuentro un posible error en el modelo, he intentado buscar el archivo para ver los caudales simulados desde ArcSWAT, es alguna columna del output.std? o lo puedo visualizar en otro archivo? Para poder ver que tan distintos o similares son los caudales observados y simulados antes de entrar al SWAT CUP.

De ante mano, muchas gracias.

Saludos cordiales.
--
--
You received this message because you are subscribed to the Google Groups
"Latin American SWAT Users Group" group.
 
To unsubscribe from this group, send email to:
latin-american-swat-u...@googlegroups.com
 
http://swatmodel.tamu.edu/

---
You received this message because you are subscribed to the Google Groups "Latin American SWAT Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to latin-american-swat-u...@googlegroups.com.

camila orellana

unread,
Nov 22, 2019, 10:47:32 AM11/22/19
to David Rivas, Latin American SWAT Users Group
Estimado:
Realice el modelo de nuevo, y al parecer si tenía un error, "calibre" con los parámetros que vienen por defecto en swat cup con 200 simulaciones y me dio un r2 de 0.43, además realice el proceso del parámetro "tonto" para ver que tan distantes o similares están los caudales simulados y observados y me dió el siguiente resultado:

FLOW_OUT_10
observed    simulated
6.6500        1.3740
11.0400       7.0150
19.5300       7.0380
21.3600       3.4640
18.6100       19.2300
18.6900       13.0100
20.8500       18.0200
25.0200       37.6400
8.3400        7.4920
22.0500       16.3200
14.4400       2.8800
10.9300       2.8840
12.6000       1.9120
10.7600       1.5970
8.3500        1.3740
5.9700        1.4100
6.3800        11.7000
25.0400       41.9400
30.3400       15.0900
22.4800       11.1100
15.1500       13.0300
13.2400       4.9730

En algunos meses los valores son cercanos y en otros no, a partir de estos resultados puedo empezar a cambiar los parámetros y sus rangos hasta poder calibrar correctamente el modelo? o debo seguir viendo si hay algún error en el modelo hasta que el valor simulado sea más cercano en algunos meses.

De ante mano, muchas gracias.

Saludos.


David Rivas

unread,
Nov 22, 2019, 11:45:45 AM11/22/19
to Latin American SWAT Users Group
Hola Camila,

Según veo los datos estos que envias,  si es posible llegar a calibrar en SWAT CUP. pero no te fijes esolamente en el R2, mas importante es el NS>0.7 y PBIAS entre 0 a 25 en valor absoluto.

Espero sea de ayuda

observed simulated.JPG


camila orellana

unread,
Nov 22, 2019, 12:08:11 PM11/22/19
to David Rivas, Latin American SWAT Users Group
Estimado:

Muchas gracias,

Saludos.

--
--
You received this message because you are subscribed to the Google Groups
"Latin American SWAT Users Group" group.
 
To unsubscribe from this group, send email to:
latin-american-swat-u...@googlegroups.com
 
http://swatmodel.tamu.edu/

---
You received this message because you are subscribed to the Google Groups "Latin American SWAT Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to latin-american-swat-u...@googlegroups.com.

camila orellana

unread,
Nov 24, 2019, 5:57:31 PM11/24/19
to David Rivas, Latin American SWAT Users Group
Estimado:
Envío el presente correo ya que lamentablemente me surgió otro problema o "error", hace poco me di cuenta que en el archivo enviado donde mi R2 aumentaba de 0.04 a 0.44 el "observed.txt" estaba escrito de diferente forma ya que los tenía enumerados del 1 al 22 pero de forma seguida, es decir, sin saltarse ningún número a pesar de que tengo meses sin datos. Al "corregir" esto y saltarme los números correspondientes cambiando el "observed.txt", el valor de R2 volvió a disminuir a 0.04, lo cual es bastante bajo. Adjunto información de ambos casos ya que quería saber si es que a pesar de ser un valor bajo de r2 puedo seguir cambiando los parámetros para obtener mejores resultados.

CASO1:
image.png
CASO2:
image.png
Por otro lado, creo no tener error en el modelo, debido a que los resultados de precipitación y evapotranspiración son bastante similares a los resultados de un informe del mismo río realizado por la DGA (Dirección General de Aguas, Chile).
Espero pueda servir de ayuda mi explicación y poder saber con esta información si podré alcanzar mejores resultados en la calibración a pesar de que con los parámetros que vienen por defecto en SWAT CUP, me de en un caso un r2 muy bajo y en el otro uno de valor medio.

De ante mano, muchas gracias.

Saludos cordiales. 

David Rivas

unread,
Nov 25, 2019, 5:17:38 AM11/25/19
to Latin American SWAT Users Group
Hola Camila,

Lo que debes hacer es primero borrar de tu cabeza que el objetivo es conseguir un mejor R2. He insistido dentro de muchísimos post del grupo que para caudal NO es la mejor métrica para evaluar la calibración. Lo que debes ver es que el NS>0.7 y que el PBIAS -+ 25% seguro que alcanzando esas dos condiciones el R2 debe ser bueno, pero no es la única métrica que hay que mirar.

Segundo, lo que debes gráficar es el 95PPU de la envolvente de los parámetros seleccionados para ver si dentro de esa región cuantos de tus valores observados caen dentro, si caen dentro hay posibilidad de mejorar la calibración. Revisa el manual de SWAT CUP para ver de donde extraer estos valores, pero son los limites (superior e inferior) de la región verde de la figura adjunta.

95ppu.JPG



No necesariamente porque coincidan los datos de precipitación y ET con otro estudio, tu modelo puede estar bien o mal, si no calibra el modelo no funciona, no reproduce con esa configuración el valor de caudal observado.

Como sabes SWAT hace un balance hídrico por cada HRU y los enrruta por cada subcuenca, datos que generalmente nunca se tienen y por eso usas el modelo SWAT, para intentar reproducir esta situación de manera indirecta. Después de trabajar durante algunos años con múltiples modelos de SWAT te puedo decir que la información de suelos y el uso del suelo son de los datos mas sensibles en SWAT y pequeñas variaciones pueden darle la vuelta completamente a tu modelo. (Las variaciones de las que hablo, me refiero a la configuración y no a variación de los parámetros en el SWAT CUP). Revisa si tienes que usar las estaciones de clima para crear estaciones artificiales por polígonos de Thiessen por pesos en las subcuencas

te escribo las siguientes preguntas para que te sirvan de guía y reflexión, para ver que tan ajustado tienes tu modelo de SWAT.

1) Cuantas subcuencas tienes? y cuantas estaciones de clima? recuerda que cada subcuenca debe tener una estación asignada y que la variabilidad de las precipitaciones siempre es muy alta a no ser que estés en una zona muy desértica (pcp < 200 mm/año) o sitios muy lluviosos superiores a 3000 mm/año. incluso en condiciones extremas la variabilidad espacial de distribución de precipitaciones es muy alta, lo que varia menos será el caudal en el río.

2) Tienes rotaciones de cultivos o cambios de usos del suelo en tu periodo de simulación? Cuantos HRUs tienes? cuantos de estos son dinámicos? que área representan de tu cuenca?

Que información edáfica utilizaste (la fuente de información)? a que escala está? de los HRUs finales que % de esos representa tu mapa de suelos. Es decir, al inicio le pones un mapa de suelos inicial (INPUT) luego defines los HRU que son una combinación de usos del suelo, suelos y pendientes. Una vez los tienes definidos como te queda representado tu suelo inicial en eso HRUs? eso lo puedes consultar en la base de datos de SWAT de tu proyecto en la hoja HRU. Recuerda que eso depende de los umbrales que utilices para definirlos o los definiste todos? es decir usando los umbrales 0 - 0 - 0 para uso de suelo, suelos y pendientes.

Viendo tus resultados, la información que vas ajuntando sobre tus preguntas y la secuencia de los resultados que estas obteniendo, veo que hay muchos vacíos es en tu modelo inicial de SWAT y no vas a poder mejorar esto con mas simulaciones en el SWAT CUP. Revisa paso a paso la configuración de tu modelo. Toda mejora en el modelo SWAT repercute directamente en una mejora y simplificación de las tareas de calibración y validación. 

puedes revisar un artículo mío en el que puedes ver secuencialmente las mejoras del set-up del modelo para conseguir mejores resultados de la calibración (Mejora en las precipitaciones al ser asignadas por polígonos de Thiessen, uso del algoritmo de mapas autoorganizados "self-organizing maps" para crear el mapa de suelos a partir de muestras de suelo y las rotaciones de cultivos se realizaron con la herramienta  SWAT2009LUU para 10 años. En este estudio se calibró el modelo a escala diaria.



Espero sea de ayuda

Si la duda persiste vuelve a escribir.


David

camila orellana

unread,
Nov 28, 2019, 1:57:21 PM11/28/19
to David Rivas, Latin American SWAT Users Group
Estimado:

Envío este correo con la siguiente duda, al correr el SWAT CUP con el parametro "tonto", es decir, por ejemplo con CN2 0      0, en una simulación me deberían dar los mismos valores que se encuentran en la base de datos del modelo, en la columna flow out? Y en caso que sea así, cual puede ser el problema al no dar iguales? ya que antes de variar los parámetros, grafique en excel los valores del flow out que aparecen en el SWATOutput.mdb y me dió algo similar a los valores de caudal observado con respecto a su forma, en el caso de la magnitud, la mayor diferencia que tengo es en dos puntos, los cuales marcan una diferencia de 44 m3/s y 31 m3/s como muestra la siguiente imagen:

image.png

De ante mano, muchas gracias.

Saludos cordiales.
--
--
You received this message because you are subscribed to the Google Groups
"Latin American SWAT Users Group" group.
 
To unsubscribe from this group, send email to:
latin-american-swat-u...@googlegroups.com
 
http://swatmodel.tamu.edu/

---
You received this message because you are subscribed to the Google Groups "Latin American SWAT Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to latin-american-swat-u...@googlegroups.com.

David Rivas

unread,
Nov 29, 2019, 4:40:11 AM11/29/19
to Latin American SWAT Users Group
Hola Camila,

Lo que mencionas es correcto, el resultado de el archivo SWATOutput.mdb contine el resultado del caudal de salida en la hoja rch, columna 6. Esto es correcto si solo si, le indicaste que te lo extrajera en el paso posterior al correr el modelo en SWAT antes de guardar la simulación. Recuerda que debes filtrar tus resultados por tu subcuenca que supongo es la numero 10 según lo que vienes escribiendo en los post y que corresponde a la subcuenca donde estas tomando los valores de caudal para la calibración. Estos son los valores que toma SWAT CUP para intentar calibrar. Revisa por favor el archivo con el nombre "95ppu.txt" que se genera en la carpeta SUFI2.OUT una vez corres el SWAT CUP alli vas a saber el limite bajo (L95PPU) y el limite alto (U95PPU) de la regíon verde. Si tus valores (observaciones) caen dentro de esos limites, vas a poder calibrar de lo contrario lo que debes cambiar es:  el INPUT del modelo o los rangos de los parámetros con los que estas calibrando o la combinación de parámetros que estas usando.

espero sea de ayuda

si la duda persiste vuelve a escribir

David
Reply all
Reply to author
Forward
0 new messages