domingo, 25 de octubre de 2020

Simulación de embalse en el Valle del Lozoya con R

Como cierre al artículo 'Procesado de mapas raster con R', vamos a realizar un ejercicio de ciencia ficción como excusa para construir una animación 3D de cierta complejidad: simularemos la forma que tomaría el Valle del Lozoya, en plena Sierra de Guadarrama de Madrid, en el supuesto de levantar una gigantesca presa a la altura del actual embalse de Pinilla, situado en la entrada al valle.

En concreto buscamos representar el llenado de dicho embalse suponiendo que se alcanzará una cota máxima de 1.450m de altitud. Para lograr este "llenado" del embalse encerramos por los límites físicos de las presas la región del mapa de elevaciones en la que iremos aumentando la altitud para representar el nivel del agua:



Con la función matricial which() (ya he dicho alguna vez lo fan que soy de la misma), acompañada de sus perfectos complementos row() y col() (no confundir con nrow() y ncol()), modificar la elevación del terreno para "llenar" el embalse hasta una cota h solo en el área delimitada por los trazos en amarillo, en una sola instrucción y a velocidad de vértigo, resulta así de trivial:

indices=which(
  row(sierra)<790 &
  col(sierra)>336 &
  col(sierra)<(264-1084)/1190*row(sierra)+1084 &
  col(sierra)<(1190-900)/614*row(sierra)+900 &
  sierra<h)
sierra[indices]=h

La regla anterior equivale a situar sendas presas en los siguientes puntos:



El resultado con una vista del valle desde el noreste, coloreando en esta ocasión las cotas superiores a 1.450m, altitud máxima que alcanzará el nivel del embalse. Para tener en tono azul la cota correspondiente a la superficie del agua se modifica el mapa de colores exclusivamente para esa cota. Además se logra un efecto de transparencia combinando una imagen opaca con agua con otra correspondiente al embalse "vacío" (imprescindible hacer clic para verla en alta resolución):



Ahora usando los datos de elevación vamos a estimar la capacidad del nuevo super embalse, la superficie máxima que abarcará, así como la altura y longitud de la presa requerida para retener el agua. 

Empezamos por la capacidad acumulada para cada nivel de llenado. Esta gráfica nos explica visualmente la altura que requeriría la presa grande para alcanzar determinada capacidad de almacenamiento:



Calculamos la capacidad máxima del embalse y resulta de 24.632hm3, que compara con los modestos 38hm3 del embalse de Pinilla enclavado en el mismo lugar y los 425hm3 del embalse de El Atazar, el mayor de Madrid con diferencia. La superficie de lámina de agua con el embalse a máxima capacidad se estima en 115km2.

Sobre las dimensiones, la presa grande requeriría un frente de 390m de altura que coincidiría con la profundidad máxima del embalse, y que compara con los 300m de la mayor presa del mundo en el río Vakhsk en Tayikistán. Si este dato ya es casi insalvable, más irreal es la longitud que requeriría la presa grande de 4,6km (ya dijimos que era un ejercicio de ciencia ficción, para suerte de los habitantes del valle).

Finalizamos mostrando el mapa raster en 2D con el embalse lleno:



Y un fotomontaje con una panorámica que he tomado a orillas del embalse de Pinilla en Lozoya: las zonas magenta representan las dos presas tal y como se verían desde el pueblo antes de inundar el valle. Es una aproximación donde no se han tenido en cuenta las medidas exactas ni la perspectiva (hacer clic para ver la imagen a mayor tamaño):


~~~

Repositorio con el código R y archivos auxiliares (incluyendo los ficheros raster): GitHub.

No hay comentarios:

Publicar un comentario

Por claridad del blog, por favor trata de utilizar una sintaxis lo más correcta posible y no abusar del uso de emoticonos, mayúsculas y similares.