# 2. Prioridades implementadas a través de parámetros Pywr

Hasta ahora se ha utilizado una configuración del embalse basada en escalares. Sin embargo, el modelo calibrado para la EAAB incorpora una lógica más sofisticada, utilizando parámetros de Pywr que relacionan el nivel del embalse en un determinado time step y las entregas lo cual permite reproducir con mayor fidelidad el comportamiento histórico del sistema.

La regla que vamos a utilizar se determinó mediante una calibración del sistema, en la que se buscó reproducir las condiciones históricas del sistema.

En el atributo "Allocation Penalty", haga clic en "Edit", como se muestra en la imagen.

![](/files/19cdf9d499a1d750c454abd9cd59690fa12ea989)

En la ventana que se abre, vaya a "Options", seleccione "PYWR\_PARAMETER" y haga clic en "OK". La pantalla cambiará automáticamente a la pestaña "JSON", donde se ingresará la configuración del parámetro.

![](/files/9e565f70750afc29c5361589940dafa8714250d1)

Copie y pegue la siguiente configuración en "JSON". El texto se incluye debajo de la imagen para facilitar el proceso.

Luego, haga clic en "Save".

![](/files/9c65bf9132d12397f1c01e73be34ccf353cd760e)

`{`

&#x20;     `"type": "ControlCurveInterpolatedParameter",`

&#x20;     `"storage_node": "STO-RES_embalse chuza",`

&#x20;     `"control_curves": [`

&#x20;           `"__STO-RES_control cost embalse chuza__:failure_zone"`

&#x20;     `],`

&#x20;     `"parameters": [`

&#x20;           `"__STO-RES_control cost embalse chuza__:Release_100",`

&#x20;           `"__STO-RES_control cost embalse chuza__:Release_failure_zone",`

&#x20;           `"__STO-RES_control cost embalse chuza__:Release_0"`

&#x20;     `]`

`}`

Este parámetro ilustra una de las principales fortalezas de **Pywr** y, por extensión, de **WaterStrategy**: la posibilidad de representar reglas de operación más realistas mediante parámetros. En lugar de asignar una única penalidad fija al embalse, esta configuración permite que la penalización operativa cambie dinámicamente según el estado de almacenamiento del embalse en relación con una curva de referencia. Pywr documenta este tipo de objeto dentro de los **control curve parameters**, cuyo propósito es que el valor de un parámetro dependa de la posición actual del almacenamiento respecto de una o varias curvas de control.

En este ejemplo, el campo **"storage\_node"** indica que la regla se evalúa en el almacenamiento del nodo **"STO-RES\_embalse chuza"**. El campo **"control\_curves"** contiene la curva que define el umbral de operación; en este caso, la denominada **"failure\_zone"**.

El campo **"parameters"** define los valores o subparámetros entre los cuales se interpola la regla de operación. Conceptualmente, esto significa que el costo aplicado al embalse no es constante, sino que varía en función de la cercanía del almacenamiento a la curva de falla. En esta parametrización:

* **"Release\_100"** representa una condición de operación más holgada cuando el almacenamiento se encuentra por encima de la zona crítica.
* **"Release\_failure\_zone"** representa la condición asociada al entorno de la curva de falla.
* **"Release\_0"** representa una condición más restrictiva, vinculada a niveles de almacenamiento más bajos.

En términos prácticos, esta regla hace que el embalse Chuza responda de manera distinta según su nivel de almacenamiento. Cuando el volumen almacenado cae hacia la zona de falla, la penalización asociada favorece una operación más conservadora, es decir, una mayor retención de agua. Cuando el embalse se encuentra en una condición más segura, la regla permite una liberación menos restringida. Así, la operación modelada refleja mejor la lógica real de gestión de un embalse estratégico: no se opera igual en condiciones normales que en condiciones de riesgo.

![](/files/bd1c0667ba020723c0a5e865095d8d7c51f7e532)

Figure 2:Ilustración de la parametrización de la regla de operación usada en la calibración: una estacionalidad que varía el umbral de almacenamiento representado por una curva coseno armónico anual (separando regímenes “normal” vs “conservación/fallo”), y la penalización asociada aplicada cuando el almacenamiento cae debajo del umbral

A continuación vamos a crear el parámetro **STO-RES\_control cost embalse chuza:failure\_zone** el cual representa una curva de coseno armónico, estos valores fueron obtenidos mediante el proceso de calibración

Para agregar un nuevo parámetro que sea personalizado o anidado y que por lo tanto no esté relacionado directamente a los atributos del embalse, en la parte superior vaya a “Parameters” y haga clic en **+** en la sección Parameter-Type Categories y agregamos un **PYWR\_PARAMETER**

![](/files/e1314f82f24dcc9745b9627c6748ff36c9d9d707)

Escribimos el nombre del parámetro en la caja que se ha creado, en este caso **STO-RES\_control cost embalse chuza:failure\_zone**y damos Enter

![](/files/5e55c337775b92f998429184bbae8e98dd8105c5)

Copiamos y pegamos el siguiente bloque de texto en la casilla que se abre a la derecha y damos “Save”

{

"type": "AnnualHarmonicSeriesParameter",

"mean": 0.3610556595259824,

"amplitudes": \[

0.1853685696758209

],

"phases": \[

2.174763095464758

]

}

![](/files/9f90c5aa49d0304c3337fec615e1247c260646b6)

En este caso, la amplitud determina qué tan pronunciada es la estacionalidad de la curva, mientras que la fase controla el desplazamiento de esa estacionalidad en el tiempo. Es decir, la amplitud ajusta la altura de los picos y la profundidad de los valles, y la fase desplaza la posición de esos picos y valles a lo largo del año.

Ejecute nuevamente el modelo. Al revisar los resultados, debería observarse una operación del embalse más coherente con la lógica de las prioridades calibradas del sistema.

![](/files/5d96ddcade02eaf51ddcccd2f48fc9170e75b348)

![](/files/a808bfcbdff2268ca504ac69d5167d167d859c4f)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://water-strategy.gitbook.io/waterstrategy/home/modelo-corto-plazo-parametros-penalidades-y-restricciones/2.-prioridades-implementadas-a-traves-de-parametros-pywr.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
