2. CHAPTER TWO: LITERATURE REVIEW
2.3 The Path of Modernity
2.3.3 The difference of Modernity
La flexibilidad de VISUAL BALAN ha permitido que el código pueda seguir evolucionando, a la vez que mantiene las características básicas apreciadas por muchos usuarios.
2.2.1. Instalación en Windows XP
La primera versión de VISUAL BALAN, la V1.0 de 1999, fue programada para funcionar sobre Windows NT. No requirió modificaciones para Windows 2000, pero sí para funcionar sobre Windows XP. Estas modificaciones se hicieron en la versión 2.0 de VISUAL BALAN y requirieron la inclusión en el paquete instalador de una serie de librerías .dll y de controles de Visual Basic, de extensión .ocx. La compilación de todos archivos en el instalable se efectuó utilizando el programa Inno Setup 4 (de libre uso), ya que las funcionalidades que ofrece Visual Basic V6 para esta finalidad son limitadas.
Apéndice 2: Mejoras al código VISUAL BALAN
Bruno Pisani Veiga Tesis Doctoral A2-11
2.2.2. Depuración del código
En la medida en que se ha ido aplicando VISUAL BALAN a diferentes casos, se han identificado procedimientos del código que podían ser más eficientes. Por ello se ha ido depurando, tanto el módulo de cálculo como la interfaz, para hacer más clara la introducción de datos y la interpretación de resultados en las múltiples pantallas existentes (análisis de sensibilidad, contraste de valores medidos y calculados, etc). Se han encontrado y corregido también algunos errores.
2.2.3. Balance en hasta 9 subcuencas
Se ha actualizado la versión 2.0 del código, para una vez calculados los balances hasta en 9 subcuencas, obtener los resultados medios en la cuenca completa.
2.2.4. Series meteorológicas de hasta 100 años
Si bien el código VISUAL BALAN v2.0 contemplaba la posibilidad de manejar series temporales de hasta 100 años, esto sólo era posible con un limitado número de subcuencas, debido a un problema de memoria. Esto se debía al dimensionamiento de las variables en el código Fortran, en particular a una matriz que almacenaba los datos diarios de precipitaciones de cada subcuenca. Se ha corregido mediante unos pocos cambios en la rutina principal del programa de cálculo. Además se ha utilizado la opción que incorpora Fortran 90 de declarar módulos, en los que se pueden declarar y dimensionar variables. Esto permite separar una cantidad de código de la rutina principal facilitando así la comprensión y la depuración (véanse Figura 2.2 y Figura 2.3).
Apéndice 2: Mejoras al código VISUAL BALAN
A2-12 Bruno Pisani Veiga Tesis Doctoral
Figura 2.2.Fracción de código de la rutina principal del programa de cálculo.
Figura 2.3.Parte del código del módulo UNO_BAL, en la que se declaran los vectores que sustituyen a la matriz PE1.
2.2.5. Hidrología nival
Se han corregido algunos errores del código que no habían sido detectados previamente porque la verificación se había realizado para modelos de una sola subcuenca. Una vez corregidos los errores, se han hecho modificaciones que han incrementado la eficiencia del algoritmo de cálculo cuando se aplica a varias subcuencas.
Otra mejora ha sido la incorporación del cálculo de la escorrentía nival, que es la fracción del agua líquida que precipita y no es capaz de infiltrar a través de la capa nival (se convierte por lo tanto en escorrentía superficial). Si bien en la ventana de resultados de VISUAL BALAN aparecía escorrentía nival, este valor El dimensionamiento de esta matriz para 100 años y más de 3 subcuencas ocasionaba error debido a un problema de memoria. Ahora la matriz PE1 se sustituye por vectores que se declaran en el módulo “UNO_BAL”
Apéndice 2: Mejoras al código VISUAL BALAN
Bruno Pisani Veiga Tesis Doctoral A2-13
realmente correspondía a la fusión nival. La escorentía nival se calcula mediante una función exponencial decreciente, dependiente del contenido de agua líquida de la capa nival y cuyos valores máximo y mínimo son las capacidades de infiltración máxima y mínima respectivamente (dos parámetros que se calibran).
2.2.6. Flujo no saturado
VISUAL BALAN actualiza diariamente el volumen almacenado en la zona no saturada. Sin embargo, estos valores diarios no podían ser visualizados por el usuario en la interfaz de salida. Se han hecho las modificaciones necesarias; la versión V2 actualizada permite visualizar el volumen diario almacenado en la zona no saturada con todas las capacidades gráficas disponibles para las otras variables.
Se ha corregido además el cálculo del flujo de percolación o recarga. El código corregido se ha contrastado con el anterior para la cuenca del río Valiñas. Los detalles se presentan en el Apéndice 7.
2.2.7. Corrección de la fórmula de Thornthwaite para temperaturas negativas
Se constató que la ETP calculada en VISUAL BALAN en meses con temperaturas medias negativas, cercanas a 0, era muy inferior a la obtenida para temperaturas positivas cercanas a 0.
La fórmula de Thorntwaite se basa en un índice de calor mensual i (Custodio y Llamas, 1983):
i = (T/5)1.514 (2)
donde T es la temperatura media del mes.
La fórmula no es aplicable cuando T < 0. Por ello, se debe usar otro método o bien adoptar i=0. El código adoptaba de forma errónea un índice de calor i igual a 1 para T < 0. Esto motivaba que el error, además de afectar al mes en cuestión, afectara a todo el año a través del índice de calor anual.
Apéndice 2: Mejoras al código VISUAL BALAN
A2-14 Bruno Pisani Veiga Tesis Doctoral
2.2.8. Análisis de sensibilidad
Esta opción permite evaluar la sensibilidad de los resultados del balance con respecto a determinados parámetros.
El funcionamiento de esta opción consiste en un bucle que asigna al parámetro elegido una serie de valores comprendidos en un rango especificado. El análisis de sensibilidad se realiza de forma separada para cada parámetro. Para cada uno de ellos el usuario de definir un rango de variación. Aunque el balance se calcula diariamente, la salida del análisis sólo muestra la sensibilidad de los resultados medios anuales.
Desde 2003 se ha ido modificado la presentación de los gráficos del análisis de sensibilidad para facilitar su lectura, mejorar las capacidades de edición y disminuir la posibilidad de interpretación errónea de resultados.
2.2.9. Gráficos de resultados
Se han mejorado los mecanismos de lectura de resultados en la interfaz de salida programada en Visual Basic. En algunos casos excepcionales, la interfaz no actualizaba las series de resultados de algunas subcuencas, y por consiguiente los gráficos de resultados medios podían ser erróneos. Se ha reprogramado la rutina de lectura de resultados para que se actualicen completamente los gráficos cada vez que el usuario solicita una nueva visualización.
2.2.10. Contraste de resultados con BALAN v10
La versión 10 de BALAN supuso una actualización de BALAN V8 (Samper y García-Vera, 1992). Como BALAN fue ampliamente contrastado, se decidió a su vez contrastarlo también con VISUAL BALAN V2. El contraste se efectuó para el balance hidrometeorológico en el aluvial de Andújar (Samper et al., 2004). Se realizó para 6 subcuencas de la zona de estudio.
Apéndice 2: Mejoras al código VISUAL BALAN
Bruno Pisani Veiga Tesis Doctoral A2-15
A diferencia de BALAN, VISUAL BALAN no incorpora la opción de fijar la frecuencia de riego, por lo que hubo que modificar el código para poder comparar resultados. Hecho esto, los resultados fueron idénticos con ambos códigos.