flujo de trabajo automatizado para la simulación de cambios ...

través de los cuales se alimenta de datos, un núcleo de procesamiento que .... UNIX/Linux, que utiliza una sintaxis específica para llevar a cabo tareas de.
6MB Größe 8 Downloads 89 vistas
FLUJO DE TRABAJO AUTOMATIZADO PARA LA SIMULACIÓN DE CAMBIOS POTENCIALES EN LA DISTRIBUCIÓN DE ESPECIES VEGETALES SEGÚN DISTINTOS ESCENARIOS DE CAMBIO CLIMÁTICO

Blas Benito de Pando Alumno de la 9ª Promoción del Máster UNIGIS [email protected] Director: Marc Compte

Tabla de contenidos PRESENTACIÓN....................................................................................................................................................................................................4 OBJETIVOS...........................................................................................................................................................................................................5 Objetivo del proyecto.........................................................................................................................................................................................5 Resultados esperados........................................................................................................................................................................................5 ANÁLISIS DE ANTECEDENTES............................................................................................................................................................................6 METODOLOGÍA.....................................................................................................................................................................................................6 Área de trabajo...................................................................................................................................................................................................6 Esquema conceptual del proceso de modelado.................................................................................................................................................7 Herramientas informáticas.................................................................................................................................................................................8 Fuentes de datos..............................................................................................................................................................................................11 Construcción de las variables ambientales.......................................................................................................................................................11 DESARROLLO DEL TRABAJO............................................................................................................................................................................13 Introducción.....................................................................................................................................................................................................13 Fase 0: Preconfiguración del entorno de trabajo..............................................................................................................................................13 Fase 1: Preparación de los registros de presencia...........................................................................................................................................14 Fase 2: Calibrado inicial, ensamblado y evaluación.........................................................................................................................................19 Fase 3: Recalibrado y proyección sobre los distintos escenarios.....................................................................................................................23 Fase 4: Análisis y publicación de los resultados...............................................................................................................................................24 RESULTADOS EXPERIMENTADOS....................................................................................................................................................................26 La base de datos de GRASS...........................................................................................................................................................................26 Los resultados..................................................................................................................................................................................................27 Información incluida en el informe de resultados.............................................................................................................................................28

CONCORDANCIA ENTRE RESULTADOS Y OBJETIVOS...................................................................................................................................37 CONCLUSIONES.................................................................................................................................................................................................38 Conclusiones generales...................................................................................................................................................................................38 Conclusiones metodológicas............................................................................................................................................................................38 MATERIAL ON-LINE.............................................................................................................................................................................................38 IDEAS PARA EL FUTURO....................................................................................................................................................................................38 AGRADECIMIENTOS...........................................................................................................................................................................................39 BIBLIOGRAFÍA.....................................................................................................................................................................................................40 ANEXOS...............................................................................................................................................................................................................40 Anexo 1: Algoritmos de modelado....................................................................................................................................................................40 Anexo 2: Evaluación estadística de modelos...................................................................................................................................................42 Anexo 3: Actores de Kepler..............................................................................................................................................................................44 Anexo 4: Código fuente de los scripts..............................................................................................................................................................45

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

PRESENTACIÓN La aplicación de las nuevas tecnologías de la información al tratamiento geográfico de datos de biodiversidad no es un campo nuevo, porque viene desarrollándose desde los comienzos de los Sistemas de Información Geográfica. Pero en los últimos años se está originando una expansión notable en sus aplicaciones, motivada por la reducción de costes de hardware, la emergencia del software libre, y el cada vez mayor interés por la conservación de los recursos biológicos. Como consecuencia de esta sinergia de factores, y del esfuerzo de investigadores que han comprendido la importancia de las nuevas tecnologías en su área de trabajo, se habla cada vez mas de una disciplina con entidad propia, la Ecoinformática (o Informática de la Biodiversidad), en la que se funden teorías de biología y ecología con los Sistemas de Información, especialmente con los enfocados al tratamiento de información geográfica. Dentro de esta disciplina se está asentando una “cultura” con carácter propio, orientada al estudio de la distribución geográfica de la biodiversidad: el Modelado de Distribución de Especies (en adelante, MDE). Basándose en el marco teórico del concepto “nicho ecológico”, esta disciplina depende del desarrollo e implementación de algoritmos diseñados para analizar las relaciones causa-efecto que se establecen entre la presencia de una especie y las variables ambientales que la condicionan. El resultado de un algoritmo de este tipo es un modelo numérico más o menos complejo según la técnica empleada, que se proyecta geográficamente en la forma de un mapa digital. En este mapa se representa mediante una escala de valores la idoneidad del hábitat para la especie o la probabilidad de presencia. Los MDEs tienen una serie de aplicaciones prácticas que justifican sobradamente su interés: cartografía de especies en zonas de difícil acceso, localización de poblaciones de especies en peligro, análisis de fragmentación de hábitat, selección de reservas, estudios biogeográficos, y más recientemente, simulación de los efectos potenciales del cambio global. En estos últimos años, el software de modelado ha evolucionado mucho, y existen algunos paquetes de gran calidad como MaxEnt, OpenModeller o Biomapper, que proporcionan las herramientas apropiadas para generar modelos de distribución. Sin embargo, estos programas algunas carencias,

TRABAJO DE FIN DE MASTER

porque no cubren todas las fases de trabajo necesarias para generar MDEs tal y como los requieren las actuales tendencias de la disciplina. En algunos de estos entornos de modelado se omite sistemáticamente una fase de gran importancia para garantizar la calidad de los resultados: la preparación de los datos de presencia de las especies (pares de coordenadas indicando localidades en las que se confirmó la presencia de individuos de la especie), dejando esta completamente en manos del investigador, cuando se trata de un trabajo laborioso y apenas normalizado. Una segunda limitación consiste en la aplicación de un único algoritmo para generar los MDEs (excepto OpenModeller, que se tratará en profundidad en una sección posterior), cuando actualmente se acepta que la mejor aproximación es generar varios modelos de la misma especie con diferentes algoritmos y ensamblarlos para obtener lo que se denominan superficies de consenso (Araújo y New 2007). Hasta la fecha no existe ninguna aplicación que genere y ensamble resultados de distintos algoritmos, por lo que el procedimiento debe hacerse manualmente operando con los mapas en software con características SIG. Un modelo de distribución, calibrado con las condiciones climáticas actuales, puede proyectarse hacia el futuro, si se dispone simulaciones climáticas para el periodo de proyección. Algunos de estos programas directamente carecen de esta capacidad de proyección (Biomapper). Otros como OpenModeller y MaxEnt si disponen de esta capacidad, pero no proporcionan herramientas para organizar y analizar los resultados de las proyecciones. Hasta el momento, aunque aún no se ha tratado en profundidad en este texto, ya puede percibirse que el proceso de modelado presenta múltiples fases que requieren la atención del investigador, y la operación casi manual durante determinadas secciones del trabajo. Cuando un proyecto de modelado implica el trabajo con muchas especies, el esfuerzo necesario se multiplica, y cuando los MDEs se van a proyectar sobre distintos escenarios de Cambio Climático, se vuelve directamente inabordable con los medios que un usuario normal de estos programas tiene a su disposición. Cuando los trabajos de modelado cobran estas dimensiones, una alternativa es recurrir a combinaciones de software de modelado, SIG y un entorno de scripting (para un ejemplo, ver Benito-Garzón 2006), pero se requieren ciertos conocimientos en lenguajes de programación.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

4

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

Recientemente las posibilidades en este campo han mejorado para los usuarios con escasos conocimientos en programación gracias al desarrollo de los programas para diseñar y ejecutar flujos de trabajo, que transforman sintaxis informática y líneas de código en un lenguaje visual, más asequible para usuarios sin experiencia. Como consecuencia de la emergencia de esta nueva tecnología, ahora es posible combinar programas SIG y programas de modelado mediante flujos de trabajo, para ejecutar, de modo automático, todas las tareas requeridas por un proyecto de modelado de cierta envergadura.

OBJETIVOS El objetivo general de este trabajo es ofrecer un puente de avance en la integración de los flujos de trabajo con los SIG y los MDE, y ofrecer un entorno de ejecución capaz de automatizar procesos complejos de modelado de distribución geográfica de especies.

Objetivo principal El objetivo principal consiste en diseñar y desarrollar un flujo de trabajo automatizado de software libre para simular de los cambios potenciales en la distribución de especies biológicas a consecuencia del Cambio Climático, utilizando como caso de estudio las plantas amenazadas del territorio de Andalucía.

Resultados esperados El flujo de trabajo desarrollado entrega los siguientes resultados: Modelos de distribución potencial actual y simulaciones de distribución potencial futura de especies vegetales sobre cuatro escenarios regionalizados de cambio climático para intervalos de 20 años dentro del periodo 2000-2100. Estos modelos se obtendrán a partir del ensamblado (calculando la mediana y la desviación estándar) de los resultados de ocho algoritmos diferentes implementados en MaxEnt y OpenModeller. Análisis de los modelos de distribución, incluyendo: influencia de las

TRABAJO DE FIN DE MASTER

variables ambientales en la distribución de la especie y análisis estadístico de la calidad de los modelos. Análisis gráfico de los efectos potenciales del cambio del clima sobre la especie, incluyendo: estimación del grado de estrés climático, análisis temporal del área de hábitat idóneo, análisis del número de parches de hábitat en cada intervalo, y estimas de migración altitudinal y latitudinal. Preparación automática y publicación de los resultados en web. Los resultados de un trabajo de estas características son útiles para la planificación proactiva de la gestión de especies amenazadas, porque ofrecen la posibilidad de adoptar medidas preventivas (creación de nuevas reservas, reforzamiento de poblaciones o introducción en nuevas localidades, planeamiento de corredores migratorios, etc.).

ANÁLISIS DE ANTECEDENTES Probablemente en nuestro país ha sido Marta Benito Garzón (BenitoGarzón 2006) la pionera en la proyección de modelos de distribución de especies biológicas sobre distintos escenarios de cambio climático pasados y futuros. En su tesis doctoral ha ofrecido una imagen tanto retrospectiva como prospectiva de la distribución espacial de las especies arbóreas más importantes de la Península Ibérica. Su desarrollo se basa en software libre, utilizando GRASS para análisis SIG, R para generar los modelos de distribución (utilizando redes neuronales, árboles de regresión y el algoritmo Random Forest como algoritmos de modelado), y como “cemento”, para permitir el flujo de datos entre los distintos paquetes y la automatización de tareas, distintos lenguajes como bash o perl. Este interesante trabajo corresponde a ese grupo de procedimientos que incluyen desarrollos propios, y largas horas de programación, ensayo y error, que difícilmente serían llevados a cabo por personal sin la cualificación adecuada. No se trata de un flujo de trabajo organizado visualmente, según el concepto que se va a manejar durante el presente estudio, sino de un conjunto de scripts de ejecución secuencial que llevan desde los datos iniciales hasta el resultado. Otra diferencia fundamental consiste en el número de algoritmos y la ausencia de un método de ensamblado de resultados; en el trabajo de Benito Garzón se generan tres modelos por especie, y se selecciona el mejor de ellos.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

5

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

Otro antecedente más directamente relacionado con este trabajo, puede encontrarse en el libro “Workflows for e-Science”, concretamente en el trabajo “Ecological Niche Modeling Using the Kepler Workflow System” (Pennington et al. 2007), en el que los autores presentan un flujo de trabajo diseñado sobre el software Kepler para llevar adelante todos los pasos necesarios en un proyecto de modelado de gran envergadura. En esencia, el presente trabajo y el de estos autores es similar, porque ambos siguen las convenciones más recientes en el campo de los MDEs, aunque la estructura y los métodos utilizados son muy diferentes. Pennington et al utilizan un único algoritmo de modelado (GARP, un algoritmo genético), mientras que en el presente trabajo se utilizarán varios diferentes, hasta un total de ocho. Por otra parte, los recursos informáticos son bien distintos; el grupo de Pennington trabaja en el Centro de Supercomputación de San Diego, y utiliza información distribuida de la red EcoGrid, planeada para análisis ecológicos a gran escala en los EEUU. En cambio el presente proyecto se basa en un PC de sobremesa, sin utilización de recursos externos. Por tanto, existe entre ambos proyectos únicamente existe una simetría conceptual, difiriendo bastante en cuanto a metodología.

METODOLOGÍA Área de trabajo Para probar el flujo de trabajo se utilizó como caso de estudio el territorio de la Comunidad Autónoma Andaluza. Las características del área de trabajo fueron las siguientes: Proyección: UTM, datum ED50, huso 30 (EPSG 23030). Coordenadas límite: norte: 4289200 sur:

3987000

este:

620400

oeste: 88000 Resolución: 800 x 800 metros 378 filas x 665 columnas

TRABAJO DE FIN DE MASTER

celdas totales:

251370

celdas efectivas:

136855

La resolución puede parecer grosera (porque lo es), pero teniendo en cuenta la carga computacional del proceso que se pretende llevar a cabo, es necesaria para permitir cierta fluidez en el periodo de desarrollo. El objetivo es poder aplicar el resultado final de este proyecto a resoluciones entre los 50 y 100 metros.

Esquema conceptual del proceso de modelado Para entender por qué son necesarias distintas fuentes de datos, distintas herramientas de software y su integración en un flujo de trabajo único, es necesario comprender la arquitectura conceptual del proceso de modelado propuesto en este proyecto. El procedimiento de modelado tiene dos entradas imprescindibles: Registros de presencia georreferenciados de las especies de trabajo, en forma de pares de coordenadas geográficas, con un formato de texto plano, según una estructura de columnas predeterminada para cada software de modelado. Mapas digitales de variables ambientales con influencia directa o indirecta en la distribución geográfica de las especies de trabajo. Dos tipos de variables se utilizan habitualmente: Variables topográficas: Son constantes a lo largo del tiempo cubierto por el proceso de modelado, como la pendiente o el índice topográfico de humedad, por ejemplo. Tienen influencia directa en la distribución de la especie, pero a una escala local (ámbito predictivo: de los cientos a los miles de metros). Cuanto mayor es la resolución espacial, mejor es la definición obtenida en el modelo de distribución resultante. Variables climáticas: Cambian durante el intervalo de tiempo que cubre el proceso de modelado, como la precipitación anual o la temperatura máxima del verano, por ejemplo. Estas variables influyen directamente en la distribución geográfica de las especies, pero su efecto se manifiesta a una escala mayor que la local (ámbito predictivo: de los miles a los cientos de miles de metros). El modelo de distribución obtenido de estas variables no es tan sensible a la resolución como en el caso de las varia-

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

6

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

bles topográficas. A partir de estas entradas, el proceso MDE que va a ejecutar el flujo de trabajo constará de cuatro fases: 1. Preparación de los registros de presencia de las especies: Se transformarán polígonos delimitando presencia de poblaciones de las especies en nubes de pares de coordenadas utilizando un criterio de distancia mínima entre pares, y una partición aleatoria de datos, para obtener un subconjunto de puntos de calibrado y otro de evaluación. 2. Calibrado inicial, ensamblado y evaluación de modelos: Se utilizará el conjunto de puntos de calibrado para entrenar los modelos de distribución según ocho algoritmos (ver Anexo 1). Los resultados de estos algoritmos se ensamblarán calculando la mediana de la idoneidad y la desviación estándar de los ocho resultados anteriores, y se someterán a evaluación estadística utilizando la prueba AUC (ver Anexo 2). 3. Recalibrado del modelo y proyección sobre distintos escenarios: Para hacer uso de toda la información disponible, se recalibrarán los modelos con todos los puntos de presencia disponibles. Los modelos resultantes se proyectarán sobre las condiciones climáticas simuladas para los distintos intervalos de tiempo (2000-2020, 2020-2040, 2040-2060, 2060-2080, 2080-2100) según los cuatro escenarios de cambio climático, y los resultados se ensamblarán según el mismo método mencionado en el punto 2. 4. Análisis de los resultados y explotación: Consistirá en un análisis numérico y gráfico de la evolución del área de ocupación potencial, número de parches de hábitat idóneo (medida de fragmentación del hábitat), y análisis de migración latitudinal y altitudinal de cada especie. La publicación de los resultados incluirá el formateo de los gráficos, la presentación de los mapas, y la preparación de animaciones, organizándose la información de modo automático en un documento html apropiado para su publicación en web.

Herramientas informáticas Las distintas etapas de procesamiento que exige el proyecto solicitan programas con distintas capacidades, que puedan integrarse, y cuyas funciones principales se pueden dividir, en cinco grupos: control de flujo,

TRABAJO DE FIN DE MASTER

procesamiento SIG, modelado de distribución, cálculo numérico y composición de gráficos. A continuación se detallan las distintas herramientas utilizadas, con una descripción general de cada una de ellas, y un comentario inicial sobre sus aplicaciones en este proyecto.

KEPLER De todos los programas utilizados, Kepler es el menos conocido, por lo que su descripción será algo más extensa que la del resto. Es necesario entender su filosofía de trabajo y lógica interna para comprender su elección, y su papel, dentro del proyecto. Kepler es un proyecto colaborativo, de código abierto (licencia BSD), que pretende proporcionar un “entorno de modelado y resolución de problemas”. más concretamente, se trata de un sistema para diseñar y ejecutar flujos de trabajo científico, utilizando una representación visual de los procesos que implican. Kepler da soporte al flujo de datos en distintos dominios técnicos y científicos, como la bioinformática, la ecoinformática y la geomática entre otros. FLUJO DE TRABAJO: red de procesos analíticos, que puede ser simple y lineal, o muy compleja y no lineal, en la que se introducen datos a través de un punto de entrada, se procesan secuencialmente o en paralelo en distintos núcleos de procesamiento, y se produce una salida de información.

Los actores El programa Kepler se basa en un paradigma de modelado orientado a actores. Cada uno de los componentes que ejecuta una función dentro de un flujo de trabajo (por ejemplo, una entrada de datos) es un actor (ver Figura 1). El actor es una unidad computacional que tiene puertos de entrada a través de los cuales se alimenta de datos, un núcleo de procesamiento que opera con los datos, y puertos de salida, que ofrece los datos transformados a un nuevo actor. Un actor puede ser configurado mediante sus parámetros, y se le pueden añadir puertos para aceptar nuevos tipos de entradas. Kepler incluye actores con capacidades matemáticas, estadísticas, procesamiento de señales, entrada, manipulación y salida de datos, conexiones

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

7

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

con otros programas como R, Matlab o Grass. Los actores transmiten información de unos a otros mediante canales y relaciones (ramificaciones de los canales). Distintos actores pueden combinarse en un único actor compuesto, que adoptará las funcionalidades que le confieren los distintos actores que lo forman.

TRABAJO DE FIN DE MASTER

Una función interesante de Kepler es la posibilidad de diseñar un Actor Compuesto, que permite anidar flujos de trabajo dentro de otros flujos de trabajo de nivel superior. Cada uno de estos niveles puede tener su propio Director, dependiendo de los requerimientos computacionales del nivel. En este proyecto se aprovecha esta característica para anidar procesos que ocurren un cierto número de veces dentro de un mismo flujo. Un flujo de trabajo de Kepler

Figura 1: Actor típico de Kepler con sus puertos de entrada y salida. Se trata de un actor String Replace que reemplaza una cadena de caracteres por otra en un flujo de texto. La cadena a reemplazar se introduce a través del puerto pattern, el reemplazo a través del puerto replacement, el texto completo a través stringToEdit, y el texto resultante se devuelve a través de output.

Teniendo en cuenta sus componentes, un flujo de trabajo típico de Kepler (Figura 2) estará formado por un director, que determina el modelo de computación, unos parámetros específicos del flujo, y una red de actores unidos entre sí por canales y relaciones.

El director Controla la ejecución del flujo de trabajo basándose en un modelo computacional concreto, y determina en que modo los actores se comunican entre sí. El modelo computacional de cada Director determina cuántas veces se ejecuta el flujo (iteraciones), si se ejecuta secuencialmente o en paralelo, y las características concretas del tipo de ejecución. Por ejemplo el Director SDF (Synchronous Dataflow Network) se ha diseñado para ejecutar flujos multihilo cuya secuencia de ejecución está predeterminada (se sabe en que momento se inicia cada paso del flujo). MODELO COMPUTACIONAL DE UN FLUJO DE TRABAJO: Imagine un flujo de trabajo sencillo con tres actores (entrada, procesamiento y salida). Por cada actor que emite datos, hay uno que los recibe, y cada actor comienza su trabajo cuando ha recibido datos del anterior. Este comportamiento está definido según un algoritmo de ejecución secuencial. Ese es el Modelo Computacional del flujo. Flujos de trabajo más complejos requieren distintos algoritmos de resolución que se implementan como distintos Modelos Computacionales en diferentes Directores. Piense en las necesidades de un flujo con iteraciones o ramificaciones condicionales, por ejemplo.

Figura 2: Un flujo de trabajo en Kepler. El actor Datos Meteorológicos da entrada a una base de datos meteorológica. Cada columna de la base de datos es un puerto de salida en el actor. Los canales llevan la información hasta un actor que utiliza el lenguaje estadístico R para generar un modelo lineal de los datos recibidos. Los datos resultantes se escriben a un fichero de texto (actor File Writer), se muestran en una ventana en pantalla (actor Display) y se representan gráficamente en un diagrama de dispersión (actor ImageJ).

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

8

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

La aparente sencillez de esta arquitectura y la facilidad de manejo del interfaz gráfico enmascaran las dificultades que ofrece el sistema al usuario novel. Los modelos de computación que ofrecen los distintos tipos de directores obedecen a reglas que en ocasiones no son intuitivas, es difícil conocer el comportamiento de un actor concreto con un director determinado, y no resulta fácil, en principio, conseguir iteraciones y loops dentro de la lógica que se esperaría en unas líneas de código escritas. Kepler es una auténtica plataforma visual de desarrollo de programas, y como cualquier lenguaje de programación, presenta una curva de aprendizaje prolongada. Una vez superadas estas dificultades, el programa proporciona características muy interesantes, que pretenden explotarse a lo largo de este proyecto. Kepler se ha utilizado en este proyecto para diseñar y ejecutar el flujo de trabajo, llevar a cabo determinadas tareas dentro del mismo (escritura de ficheros, organización de datos, control de iteraciones), y llamadas a ejecución para los programas necesarios. En el Anexo 3 se describen los actores más utilizados en este proyecto.

GRASS GIS GRASS (Geographic Resources Analysis Support System) es un programa especializado en el almacenamiento, análisis y explotación de información geográfica. Desarrollado inicialmente por el laboratorio CERL (U.S. Army Construction Engineering Research Laboratories) desde 1982, y liberado con licencia GPL en 1999, GRASS GIS es actualmente un proyecto oficial de OSGeo (Open Source Geospatial Foundation). GRASS tiene una gran capacidad de procesamiento raster (algo más limitada en el ámbito vectorial) y herramientas avanzadas para la visualización de datos geográficos. Pero sin duda, la característica más interesante, que determina su adopción como plataforma SIG para este proyecto, es su potente lenguaje de scripting, que se integra perfectamente con el lenguaje de programación bash en sistemas unix/linux. Esta integración permite ejecutar tareas de modo automático fácilmente a través de “batch-jobs” (scripts con secuencias de órdenes), creando loops para trabajo reiterativo sobre grupos de mapas. Otras características interesantes son su gran estabilidad y velocidad trabajando con raster de gran tamaño, y la diversidad de formatos de importación y exportación mediante las librerías de abstracción GDAL-OGR.

TRABAJO DE FIN DE MASTER

En el presente proyecto GRASS se ha ocupado del almacenamiento de toda la información geográfica, parte de la preparación de los registros de presencia, almacenamiento y ensamblado de modelos, y composición automática de mapas, gráficos y animaciones.

OpenModeller OpenModeller es un entorno amigable de modelado de distribución de especies, actualmente desarrollado por la entidad brasileña CRIA (Centro de Referência em Informação Ambiental) con la colaboración de otras instituciones. Está liberado bajo licencia GPL, y es uno de los programas de su género más desarrollado, ya que contempla gran parte de los procesos necesarios para generar modelos de distribución. Permite la utilización de distintos algoritmos para generar los modelos (unos 10, dependiendo de la versión), la evaluación estadística de los resultados, y la exportación de los modelos a distintos formatos. Desde el principio de su desarrollo está pensado para ser multiplataforma, y está dotado de herramientas que permiten el acceso al programa a través de la línea de comandos, facilitando su explotación mediante scripts.

MaxEnt MaxEnt es un software gratuito de código cerrado (el único sin licencia libre de este proyecto) diseñado para generar modelos de distribución utilizando un algoritmo que combina el aprendizaje automático con el principio de máxima entropía. Se utiliza para este proyecto, adicionalmente a OpenModeller, por sus buenos resultados, y el fácil acceso a las funcionalidades del programa a través de la línea de comandos, que permite su ejecución mediante scripts, o desde un actor modificado de Kepler.

GNU Octave GNU Octave es un lenguaje de cálculo numérico matricial similar a Matlab, pero libre y gratuito (licencia GPL). Es muy potente, y permite un rápido desarrollo de algoritmos de cálculo gracias a un lenguaje de programación sencillo y bien documentado. Se accede a sus funciones a través de la línea de comandos o de scripts. En este proyecto se han utilizado scripts de Octave para preparar los registros de presencia, y evaluar los modelos de distribución.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

9

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

R El lenguaje de cálculo estadístico R, liberado bajo licencia GPL, es con seguridad el lenguaje estadístico más utilizado en el ámbito académico. A sus funcionalidades se accede a través de la línea de comandos, scripts y algunos interfases gráficos como R-Commander o JGR. R destaca por la calidad de su motor gráfico y la enorme cantidad de funciones de cálculo de las que dispone. Kepler está especialmente preparado para conectar con R (la versión Windows de Kepler trae R incluida), y muchos actores utilizan expresiones en este lenguaje. En este proyecto se ha utilizado R para realizar algunos cálculos estadísticos y composición avanzada de gráficos.

Bash Bash es un intérprete libre (licencia GPL) de órdenes en sistemas UNIX/Linux, que utiliza una sintaxis específica para llevar a cabo tareas de distinta complejidad. En este proyecto se han utilizado scripts de Bash para llevar a cabo aquellas tareas para las que Kepler no dispone de actores específicos, especialmente edición de ficheros de texto. Entre otras tareas, se ocupa de lanzar las ejecuciones de los modelos de distribución, los batchjobs de GRASS y el formateo de ficheros y tablas de datos.

Fuentes de datos Este proyecto de modelado necesita cierto tipo y cantidad de datos iniciales, procedentes de diversas fuentes. Parte importante de la información geográfica primaria utilizada en este trabajo se ha obtenido de la Red de Información Ambiental de la Consejería de Medio Ambiente de la Junta de Andalucía, a través de un convenio de colaboración suscrito entre esta entidad y el grupo de investigación en el que desarrolla su trabajo el autor. Los datos meteorológicos y la simulaciones de Cambio Climático proceden de la Agencia Estatal de Meteorología (AEMET) y la Fundación para la Investigación del Clima (FIC): Mapa de límites administrativos de Andalucía, en formato vectorial shapefile de geometría poligonal. Mapas de poblaciones, vías de comunicación e hidrografía, en formato

TRABAJO DE FIN DE MASTER

shapefile. Modelo de elevaciones de 10 metros de resolución espacial, obtenido mediante fotorrestitución, a partir de ortofotomapas de alta resolución. El formato original es raster ESRI grid. Localización geográfica de poblaciones de plantas catalogadas por la Ley Andaluza de Flora y Fauna. Se trata de una cartografía de poblaciones muy precisa, compuesta por los técnicos de la Red Andaluza de Jardines Botánicos, en el marco del programa FAME de la Consejería de Medio Ambiente (Flora Amenazada). El formato original es vectorial, shapefile de geometría poligonal. Registros climáticos de la red de estaciones meteorológicas de la AEMET, obtenidos a través del Subsistema Clima de la Consejería de Medio Ambiente, en formato DBF, cubriendo el periodo 1980-2000. Simulaciones climáticas (temperatura y precipitación) del futuro según 4 escenarios de cambio climático generadas por la Fundación para la Investigación del Clima utilizando el método de Análogos FIC. Están accesibles vía web (www.aemet.es), y se trata de un extenso banco de datos en formato texto, con simulaciones diarias de temperatura máxima, mínima y precipitación para cada estación meteorológica del territorio español.

Construcción de las variables ambientales Las variables que se detallan a continuación son un subconjunto de un grupo mayor de variables de alta resolución generadas anteriormente por el autor para otros proyectos. Las que se han seleccionado para este trabajo siguen dos criterios: tienen entre sí una correlación menor a 0,8 (según coeficiente de correlación de Pearson), y se tienen evidencias de su importancia directa o indirecta en la distribución de plantas a escala local y regional. El modelo de elevaciones de Andalucía de 10 metros de resolución es demasiado pesado para manejarlo en el entorno del proyecto. Utilizando el módulo de GRASS r.resamp.stats, se reescaló hasta una resolución de 40 metros utilizando el método de agregación average. A partir de este modelo reescalado, se derivaron las siguientes variables topográficas: Gradiente de orientación este-oeste (TP_ES_OE): a partir de una reclasificación (usando r.recode) de un mapa de orientaciones (obtenido mediante r.slope.aspect), para obtener un gradiente con valores 100 en las

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

10

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

vertienes con orientación este, y valor 0 en las orientaciones oeste. Esta variable recoge influencias de la topografía en la distribución de las especies vegetales, no relacionadas con la insolación (exposición a vientos dominantes, por ejemplo). Exposición topográfica en un radio de 1000 metros (TP_EXPO): esta variable indica la diferencia de altitud entre una celda, y el promedio de altitud de las celdas circundantes en un radio de 1000 metros. Expresa numéricamente el grado de exposición de un punto cualquiera del territorio a los elementos atmosféricos. Las zonas expuestas como las cimas de montañas presentan valores positivos altos, mientras que las zonas resguardadas presentan valores negativos. Para calcular esta variable, se aplicó al modelo de elevaciones de 40 metros un filtro de medias circular en un radio de 25 celdas mediante el módulo r.neighbors, utilizando la función average, con una vecindad circular. A la capa resultante se le restó el modelo de elevaciones original, para obtener los valores de exposición.

TRABAJO DE FIN DE MASTER

predictores distintas variables según el descriptor: Predictores de Temperatura media mínima de invierno (CL_TMNI): elevación, distancia logarítmica a la costa, gradiente de orientación sur-norte, y radiación solar potencial media de invierno. Predictores de Temperatura media máxima de invierno (CL_TMNV): elevación y distancia logarítmica al mar Mediterráneo. Predictores de Temperatura media máxima de verano (CL_TMXV): elevación, distancia logarítmica a la costa, y radiación solar potencial media de verano. Predictores de Precipitación media anual (CL_PA) y precipitación media de verano (CL_PV): distancia lineal al Océano Atlántico, distancia lineal al mar Mediterráneo, distancia lineal a la costa, elevación media en un radio de 1000 metros y exposición topográfica.

Índice topográfico de humedad (TP_ITH): este índice refleja el comportamiento hidrológico del territorio, discriminando áreas según la deposición potencial de sedimentos. En ecología de plantas es importante porque refleja diferencias entre suelos profundos y poco profundos, o zonas potencialmente más húmedas. Para generar este mapa, se utilizó el módulo de GRASS r.topidx. Este algoritmo genera áreas nulas en zonas llanas de cierta extensión. Para solucionar este problema, se realizaron modelos a distintas resoluciones (40, 80, 160, 320, 640 y 1280 metros), y se agregaron en ese orden mediante la utilidad de superposición de mapas r.patch.

Los residuos de los mapas de temperatura se interpolaron mediante el algoritmo Inverse Distance Weighted, utilizando el módulo de GRASS v.surf.idw con sus opciones por defecto. Los residuales de precipitación se interpolaron mediante Regularized Tension Splines usando el módulo v.surf.rst, y aplicando un valor de tensión igual a 1000, por ser el que mejores resultados ofreció en las pruebas de validación. A cada mapa obtenido de la ecuación de regresión se le sumó su correspondiente mapa de residuales utilizando álgebra de mapas (r.mapcalc) para obtener el mapa final de cada variable.

Pendiente (TP_PEND): Se derivó el valor en grados a partir del modelo de elevaciones utilizando el módulo r.slope.aspect de GRASS.

Los mapas de temperatura y precipitación actual se calibraron con los registros reales de temperatura y precipitación del periodo 1980-2000 tomados de la red de estaciones meteorológicas de la AEMET.

Radiación solar potencial de invierno (TP_RSD_I): Esta variable se calculó mediante la función de GRASS r.sun. Este módulo aplica una simulación de insolación tomando como parámetros una fecha concreta (solsticio de invierno en este caso), y mapas de elevación, pendiente, orientación y latitud para ejecutar una simulación basada en la posición del sol y la configuración topografía del terreno. El resultado es un mapa en el que cada celda toma el valor de la suma de potencia solar que le llega durante dicho día. Los mapas de variables climáticas se generaron utilizando las técnicas de regresión múltiple con corrección de residuos descritas por Ninyerola y colaboradores (Ninyerola et al. 2000). Para la temperatura se utilizaron como

Los mapas de temperatura y precipitación futura se generaron utilizando los las estimaciones de Cambio Climático proporcionadas por la Fundación para la Investigación del Clima. Estos datos son estimaciones diarias para cada estación meteorológica de la AEMET, obtenidos de escenarios de cambio climático regionalizados mediante el método de análogos FIC. El conjunto de datos combina dos modelos de circulación global (ECHAM4 y CGCM2) con dos líneas evolutivas propuestas por el IPCC (A2 y B2). Como resultado de esta combinación, y teniendo en cuenta los mapas de condiciones actuales, se dispone de los siguientes conjuntos de variables: Un conjunto de calibrado, compuesto por las variables topográficas, y las

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

11

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

climáticas del periodo 1980-2000. 20 conjuntos de proyección, 5 consecutivos por cada escenario (en segmentos de 20 años). Cada uno lleva las variables topográficas, y las variables climáticas con los valores correspondientes a cada periodo y escenario.

DESARROLLO DEL TRABAJO Introducción Durante la fase de desarrollo del proyecto se han ido diseñando y probando secuencialmente los distintos módulos que finalmente han compuesto el flujo de trabajo. A continuación, sobre cada sección del flujo se expondrá una explicación inicial de los procesos de modelado a resolver, detallando sus requerimientos y los posibles problemas que pueden derivarse. En cada caso se detalla la implementación de la solución en la forma de flujo de trabajo en Kepler.

Fase 0: Preconfiguración del entorno de trabajo El entorno de desarrollo de este trabajo, además de todos los paquetes de software instalados, tiene una serie de requerimientos imprescindibles para que estos funcionen perfectamente: Sistema Linux (probado en Ubuntu Hardy Heron) con Java 1.5 o Java 6 instalado. Sobre el segundo, Kepler es más estable, pero aparece un bug que en ocasiones bloquea el teclado. Sobre el primero este bug no aparece, pero en ocasiones Kepler se cae sin motivo. La instalación de GRASS (versión 6.3.0), debido a un bug, exige, para el funcionamiento correcto de una función (v.type) cuando es llamada desde un script, que se copie la rutina v.type.sh desde /grass/etc/gui/scripts a /grass/scripts. R (versión 2.8.1), con las siguientes librerías instaladas: vioplot, ade4, gplots, geneplotter, RColorBrewer, onion, lattice, KernSmooth, ellipse, chplot, reshape, Cairo, Hmisc, pspline. Octave (versión 3.0.0).

TRABAJO DE FIN DE MASTER

OpenModeller: paquetes libopenmodeller, libopenmodeller-algorithms, openmodeller-console, en su versión 0.7.0-2. ImageMagick: programa libre de procesamiento de imágenes. Pdftk: programa libre de edición de ficheros pdf. rpl: aplicación para reemplazo de texto en múltiples ficheros. Un directorio dedicado para el proyecto (en adelante, DIRECTORIO RAIZ), en el que se sitúan los directorios siguientes: PROGRAMAS, que contiene los scripts, archivos de configuración y flujos de Kepler necesarios. PRESENCIA_SHP, que contiene los shapefiles con la presencia de las especies, nombrados con el nombre científico de la especie, sustituyendo los espacios por caracteres “_”. VARIABLES, que contiene las variables ambientales usadas para calibrado y proyección de modelos en formato BIL. Es muy importante que la resolución en x e y sean exactamente iguales (es un requerimiento de MaxEnt) Un directorio de mapas de GRASS, con una localidad configurada para la región de trabajo, en un sistema de referencia UTM (es un requerimiento de la rutina de Octave que calcula las distancias entre puntos de presencia). Se requieren dos mapsets, uno para la evaluación de modelos (en adelante, “mapset EVALUACION”) y otro para la proyección (en adelante, “mapset PROYECCION”).

Fase 1: Preparación de los registros de presencia Los modelos de distribución requieren como entrada localidades de presencia de la especie de trabajo. Estos datos generalmente se recogen con GPS, o se georreferencian de modo aproximado utilizando cartografía en formato analógico. En el caso que concierne a este proyecto, la información de flora amenazada se ha recogido en campo mediante dispositivos GPS, y, posteriormente, en un SIG de escritorio, se han delimitado mediante polígonos las poblaciones conocidas, utilizando el sistema de referencia UTM, datum ED50. Esta información está almacenada como shapefiles de geometría poligonal, no aprovechables directamente por los programas MDE. Para su utilización en OpenModeller y MaxEnt, los polígonos deben transformarse en pares de coordenadas, que deben tener una serie de

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

12

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

características: Baja autocorrelación espacial: puntos demasiado cercanos entre sí aportan información redundante al modelo. Un modo de disminuir esta redundancia por proximidad es garantizar una distancia mínima entre pares de coordenadas. Deben ser separados al azar en un conjunto de calibrado (proporción mayoritaria) y otro de evaluación, aplicando un proceso de partición aleatoria de datos. También es importante disponer de ambos conjuntos fusionados, para poder calibrar los modelos con toda la información disponible. Los pares de coordenadas deben estar formateados como ficheros de texto plano, según una estructura de columnas específica de cada programa de modelado. Debe existir un número mínimo de puntos que garantice cierta calidad en los modelos resultantes. Una única muestra con un número escaso de puntos no proporciona a ningún algoritmo la información suficiente para caracterizar el hábitat apropiado para una especie. Aunque el número mínimo depende del algoritmo, se acepta que es difícil obtener buenos resultados con menos de 30 registros de presencia.

Implementación La solución se ha implementado en un flujo de trabajo independiente llamado PRP (Preparación de Registros de Presencia) (ver Figura 3). El flujo tiene una serie de parámetros que deben ser rellenados por el usuario: DIR_RAIZ: La ruta al directorio de trabajo DIR_USER: La ruta al directorio de usuario DIR_GRASS_EV: La ruta al mapset EVALUACION. DIR_GRASS_PR: La ruta al mapset PROYECCION. RESOLUCION: Resolución de trabajo deseada para los mapsets de GRASS. Lo ideal es seleccionar la resolución nativa de las capas de variables ambientales. Si se selecciona una menor, se debe tener en cuenta que el método rápido de remuestreo de GRASS utiliza un algoritmo de “vecino más próximo” que compromete la calidad de los resultados. MIN_DIS: Distancia mínima entre pares de coordenadas de presencia de la especie. Idealmente, el doble de la resolución de trabajo, para garantizar la presencia de al menos una celda vacía entre punto y punto.

TRABAJO DE FIN DE MASTER

PARTICION: Porcentaje de los registros de presencia que se utilizará como conjunto de evaluación. Lo habitual es utilizar entre un 25 y un 50 por ciento de los puntos con este propósito. MIN_PRES: Número mínimo de registros de presencia necesarios para que una especie pueda pasar a la fase de modelado. Un número mínimo conservador es 30. El flujo de trabajo está compuesto por tres actores, dos de ellos compuestos: PRECONFIGURACION (Figura 4): Se encarga de preparar los directorios de trabajo, mover los ficheros necesarios y configurar un fichero de variables generales para los scripts de bash del flujo. También genera un listado con los shapefiles del directorio PRESENCIA_SHP, los cuenta, y pasa el resultado numérico al siguiente módulo, predeterminando el número total de iteraciones. PREPARA_XY (Figura 5): Este actor compuesto itera un número de veces igual al parámetro NUM_ESPECIES, proporcionado por el actor anterior. Está compuesto por tres actores: CONFIGURA_VARIABLES (Figura 6): Configura un fichero de variables propias de cada iteración, y lanza las iteraciones del PREPARA_XY cada vez que lee una ruta a un fichero shp de la lista de shapefiles. Es el motor que permite iterar al flujo completo una vez por cada especie de la lista. PREPARA_COORDENADAS (Figura 7): Este módulo ejecuta las siguientes tareas: Actor EXTRAE_XY: Transforma los polígonos de presencia en pares de coordenadas mediante un batch-job de GRASS (2 ejecuta EXTRAE COORDENADAS.sh) que, rasteriza los polígonos a la resolución de trabajo, vectorización de nuevo los polígonos rasterizados pero a una geometría de puntos, y exporta los pares de coordenadas resultantes a un fichero de texto. Actor compuesto PROCESA_XY, se encarga de las siguientes tareas mediante la ejecución de un script de Octave (8 EVALUA MODELOS.m):

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

13

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

Figura 3: Flujo de trabajo PRP. Está formado por dos actores compuestos que contienen flujos de trabajo completos (ver Figura 4 y Figura 5). El actor PRECONFIGURACION solo se ejecuta una vez. El actor Loop permite que PREPARA_XY se ejecute tantas veces como le indica el valor NUM_ESPECIES.

Disminución de la autocorrelación espacial de las muestras: Las coordenadas se procesan para aplicar el criterio de distancia mínima según el valor del parámetro MIN_DIS. Un algoritmo programado en Octave selecciona un punto, mide la distancia al punto más cercano, y si la distancia entre ellos es menor al valor de MIN_DIS, elimina el segundo, y continúa el proceso con un nuevo punto. Cuando no puede encontrar ningún punto con una distancia inferior al umbral, cambia al siguiente punto y continúa el proceso.

Figura 4: Actor compuesto PRECONFIGURACION. Este sub-flujo se ejecuta una sola vez, y prepara todo el entorno de trabajo.

Partición aleatoria de los datos: Separación al azar de las coordenadas en dos conjuntos (calibrado y evaluación), según el valor del parámetro PARTICION.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

14

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

Formateo de los ficheros de texto con las coordenadas para adaptarlos a los requerimientos de MaxEnt y OpenModeller. Escribe listados de especies aceptadas y descartadas. Envía parámetros al módulo que descarta las especies. DESCARTA_ESPECIES (Figura 8): Es una ramificación condicional que envía los datos de cada especie a un directorio de especies aceptadas (RESULTADOS) o de especies descartadas (ESPECIES DESCARTADAS) según su valor de número de presencias sea mayor o menor que el parámetro MIN_PRES.

Figura 5: Estructura del actor PREPARA_XY. El actor CONFIGURA_VARIABLES envía el nombre de la especie a PREPARA_COORDENADAS. Este ejecuta la parte importante de procesamiento del flujo. Una vez terminada, envía el número de presencias y la ruta en la que se guardan los resultados de la especie a DESCARTA_ESPECIES.

Figura 6: Actor compuesto CONFIGURA_VARIABLES. Este actor escribe un fichero de texto con valores de variables que serán necesarias en los scripts del flujo. Tiene un sistema de control (actores COMPRUEBA_FICHERO e INTERRUPTOR) que impide que el actor emita el nombre de la especie antes de que se complete la escritura del fichero de variables. Solo cuando el fichero de variables existe se manda el nombre de la especie al siguiente actor del flujo.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

15

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

Figura 7: Estructura interna del actor compuesto PREPARA_COORDENADAS. Las secciones principales están señaladas con rectángulos de color. Un actor fundamental es BORRA_LINEA, que borra una especie de la lista de especies, permitiendo al flujo empezar con una nueva especie en la siguiente iteración. El actor LISTAS_ESPECIES es una expresión de R a la que se le introduce un listado con las especies y su número de presencias. Devuelve dos listas, una con las especies que cumplen los criterios y otra con las que no.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

16

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

Figura 8: Actor compuesto DESCARTA_ESPECIES. Contiene una bifurcación condicional. El actor Comparator compara el valor NUM_PRESENCIAS que le llega con el valor del parámetro MIN_PRES determinado por el usuario. Si el valor de NUM_PRESENCIAS es mayor que MIN_PRES, se activa la ramificación ESPECIE_ACEPTADA, y los datos de la especie se escriben en el directorio de resultados. Si la comparación resulta negativa, los datos de la especie se escriben en el directorio ESPECIES_DESCARTADAS. Este actor tiene su propio modelo de computación implementado en el director DDF (dynamic dataflow).

Como resumen final, se relatan las entradas y salidas del módulo, y se muestra un ejemplo con los resultados (Figura 9): ENTRADAS:

Figura 9: Esquema gráfico del proceso realizado por el flujo de trabajo PRP. Este procedimiento, realizado de forma manual, consume gran cantidad de tiempo. Este es, según el conocimiento del autor, el primer intento de automatizar y normalizar esta fase del procesamiento de registros de presencia.

Directorio con ficheros shp de presencia de especies. SALIDAS: Árbol de directorios de trabajo organizado. Coordenadas separadas según MIN_DIS, particionadas según el valor del parámetro PARTICION, y debidamente formateadas para OpenModeller y MaxEnt, guardadas en un directorio con el nombre de la especie. Especies separadas en aceptadas y descartadas según el valor del parámetro MIN_PRES.

Fase 2: Calibrado inicial, ensamblado y evaluación. Esta fase es de gran importancia, porque permite conocer la calidad estadística de los algoritmos de modelado y el ensamblado resultante. Del valor de evaluación obtenido depende la aplicabilidad del modelo como herramienta de gestión en el espacio real. Los objetivos que debe cubrir el flujo de trabajo en esta fase son los siguientes: Calibrado de modelos según 8 algoritmos diferentes (para ampliar, ver

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

17

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

Anexo 1): Máxima entropía (ME), Distancia de Chebyshev (CH), Distancia de Mahalanobis (MH), Distancia de Manhattan (MN), Distancia Euclídea (EU), GARP (GA), Red Neuronal (NN), Support Vector Machines (VM). Ensamblado de los modelos calculando la mediana y la desviación estándar de la idoneidad de los resultados de los distintos algoritmos. Extracción de datos: distribución de valores, y comparación entre mediana y desviación estándar. Evaluación estadística de los modelos, una en un “ámbito local”, determinado por el rectángulo mínimo que acoge todos los registros de presencia de la especie, y otra de “ámbito global”, para todo el territorio de Andalucía. El objetivo es testar el funcionamiento de cada modelo sobre distintos ámbitos geográficos (ver Anexo 2 para ampliar los conceptos sobre evaluación). Representación gráfica de los resultados de la evaluación.

Implementación Para abordar estas necesidades de esta fase de trabajo, y de las siguientes, se ha diseñado un flujo de trabajo independiente del primero, denominado MODPLAN (Modelado de Distribución de Plantas, ver Figura 10). El flujo presenta dos parámetros comunes con el flujo PRP, y uno propio llamado PORCENTAJE_OMISION, que se explicará más adelante. El flujo consta de los siguientes actores compuestos: NUMERO_ESPECIES: Cuenta el número de especies que cumplen el criterio de presencias mínimas establecido en MIN_PRES en el flujo anterior (PRP). Este número se envía como parámetro al siguiente módulo, determinando así el número total de iteraciones del proceso (una por cada especie) (ver estructura en Figura 11). Además realiza otras tareas importantes para la sección del flujo que proyecta los modelos (se explicarán detalladamente más adelante). EJECUCION_MODELOS (Figura 12): Está a su vez compuesto por dos actores compuestos: NOMBRE_ESPECIE: Lee una a una las especies de la lista de especies seleccionadas. Por cada línea del fichero, lanza una iteración completa del siguiente actor (Figura 13).

Figura 10: Flujo de trabajo MODPLAN. NUMERO_ESPECIES solo se ejecuta en una ocasión. Para garantizar que EJECUCION_MODELOS se ejecuta tantas veces como especies deben procesarse, se coloca el actor Loop. El actor NUMERO_SELECCIONADAS muestra al usuario el número de especies que se van a procesar.

MODELADO (Figura 14): Es la sección del flujo que hace todo el trabajo importante en esta fase. También ejecuta las fases siguientes del proceso, pero se comentarán en la sección correspondiente. Esta sección del flujo ejecuta las siguientes tareas. Formateo de scripts para la ejecución de OpenModeller: OpenModeller requiere un fichero de configuración con las rutas de las entradas y salidas, y los parámetros del algoritmo. La primera sección del flujo prepara estos ficheros. Ejecución de los modelos. El actor EJECUTA_MODELOS, genera los modelos de distribución según los ocho algoritmos ejecutando el script

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

18

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

6 inicial MODELOS EVALUACION.sh. Cada modelo ejecutado produce dos resultados: un mapa digital con extensión .asc, que se importa a GRASS, y un fichero con la definición del modelo numérico.

Figura 12: Estructura del actor compuesto EJECUCION_MODELOS. NOMBRE ESPECIE pasa el nombre de la especie seleccionada a MODELADO, donde se usará como un parámetro.

Figura 11: Actor compuesto NUMERO_ESPECIES. Este actor compuesto cuenta con un sistema de control igual al observado en la Figura 6. El interruptor no deja pasar la señal hasta que el actor REESCRIBE SCRIPT 13 ha terminado su tarea. Muy probablemente hay una alternativa más elegante, pero esta funciona. Figura 13: Actor compuesto NOMBRE_ESPECIE. El actor ITERADOR2 configura su número de iteraciones según el valor de número de especies que llega desde NUMERO_ESPECIES (Figura 11). Cada vez que ITERADOR2 dispara, el actor LEE_LISTA lee un nombre de especie de la lista de especies seleccionadas (utilizando una orden de Bash), enviándolo al siguiente actor. ESPECIE_EN_PROCESO muestra al usuario el nombre de la especie que se está procesando.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

19

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

Ensamblado de modelos y exportación de mapas: El propio script 6 inicial MODELOS EVALUACION.sh lanza el batch-job de GRASS llamado 7 ejecuta MODELOS EVALUACION.txt, que importa los resultados de MaxEnt y OpenModeller, y los ensambla utilizando el módulo r.series con la función median. Igualmente calcula el mapa de desviación estándar, aplicando la función stddev. La función v.random se utiliza para generar dos conjuntos de puntos aleatorios (uno a escala global y otro local), con la idea es muestrear más intensamente el ámbito local que el global. Posteriormente extrae los valores de los puntos aleatorios y los puntos de evaluación sobre los resultados de los algoritmos usando el módulo v.what.rast y los exporta a tres tablas para la evaluación de los modelos (VALORES ALEATORIOS GLOBAL.txt, VALORES ALEATORIOS LOCAL.txt y VALORES PUNTOS EVALUACIÓN.txt). La orden d.mon se utiliza para generar automáticamente mapas de los modelos y el ensamblado a las escalas global y local, superponiéndoles los puntos de calibrado y los puntos de evaluación. Estos mapas en formato png se mueven a la carpeta RESULTADOS en el directorio de la especie. Evaluación de modelos: Los algoritmos utilizados para evaluar los modelos se detallan en el Anexo 2, así como una descripción de los gráficos resultantes. El actor EVALUA MODELOS lanza un script de octave (8 EVALUA_MODELOS.m) que realiza los tests estadísticos que calculan la precisión de los modelos. Composición de gráficos con los resultados: Los resultados de la evaluación, previo procesamiento, pasan al actor GRAFICOS, que lanza un script de R (9 GRAFICOS EVALUACION.r) que genera una representación gráfica de los datos de evaluación, y el gráfico de distribución del ensamblado en formato PDF. Este PDF se transforma en png mediante una orden del programa ImageMagick y se copia a la carpeta RESULTADOS en el directorio de la especie. Cálculo del umbral de corte del modelo. Para determinados cálculos posteriores (por ejemplo, cálculo del área de presencia potencial de la especie) es necesario transformar un modelo continuo (valores de 0 a 100) en modelo binario (0 y 1, indicando ausencia y presencia respectivamente). Para esta transformación se selecciona en el modelo continuo, según un criterio más o menos objetivo, un valor de idoneidad umbral por encima del cual todas las celdas se recodifican con valor 1, mientras que las celdas por debajo se recodifican con valor 0. Este umbral representa el límite teórico entre hábitat óptimo y sub-óptimo. En

TRABAJO DE FIN DE MASTER

este caso el criterio lo determina el usuario a través del parámetro PORCENTAJE_OMISION. Este valor indica el porcentaje máximo de puntos de evaluación que pueden quedar excluidos del área de presencia del modelo binario. Se interpreta como la proporción de localidades de presencia que el usuario considera que se encuentran fuera de las condiciones apropiadas para la especie. Un valor típico sería 5, indicando que el 95% de las poblaciones conocidas de la especie se encuentran dentro de su óptimo ecológico. Un valor conservador puede ser 0, con el que se asume que todas las poblaciones están dentro del óptimo. El valor del parámetro se pasa a un actor R (CALCULA_UMBRAL) que, utilizando la tabla con los valores sobre el ensamblado de los puntos de evaluación, calcula el cuantil correspondiente y lo exporta a un fichero de texto plano. Como resumen final, se relatan las entradas y salidas esta sección del flujo: ENTRADAS: Listado con especies que superan el criterio MIN_PRES. Ficheros formateados con las coordenadas de presencia. Variables ambientales de calibrado. SALIDAS: Resultados de los ocho algoritmos de modelado. Mediana de la idoneidad del hábitat y desviación estándar. Análisis gráfico de distribución de valores de los ensamblados. Análisis gráfico de los resultados de la evaluación de modelos. Mapas de los resultados de los algoritmos, los ensamblados y dos mapas de la distribución conocida de la especie. Ficheros de texto con todos los datos numéricos expresados en los gráficos.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

20

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

Figura 14: Actor compuesto MODELADO: Sección del flujo de trabajo incluido dentro del actor compuesto MODELADO que ejecuta y evalúa los modelos iniciales (FASE 2 del proceso de modelado). Junto al director puede observarse el parámetro ESP_SELECCIONADA, que “muestra” el nombre de la especie en curso al resto de actores dentro del flujo. La primera sección del flujo rellena la cabecera del fichero de configuración para OpenModeller, que tiene una estructura un tanto incómoda para su procesamiento automático. El actor UNE PARAMETROS une esta cabecera una vez terminada con los ficheros de parámetros de los algoritmos. Los ficheros resultantes se usan en EJECUTA MODELOS para generar los modelos. Los actores PDF2PNG convierten los resultados de R en formato PDF a PNG para el informe final de la especie.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

21

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

Fase 3: Recalibrado y proyección sobre los distintos   escenarios En esta fase se vuelven a calibrar los modelos de distribución, pero aprovechando en esta ocasión todos los puntos de presencia de la especie disponibles. Los modelos numéricos resultantes (ficheros xml con las definiciones de los modelos en OpenModeller y fichero de texto plano con los coeficientes de la ecuación en MaxEnt) se utilizan para proyectarlos sobre las condiciones climáticas simuladas para el futuro. Cada resultado se importa a GRASS para generar el ensamblado correspondiente. Durante esta fase se muestrean los ensamblados con los puntos aleatorios y los puntos de presencia para utilizar estos datos en la fase de análisis de los resultados. Este proceso se repite para cada escenario e intervalo de tiempo dentro de cada escenario, lo que en nuestro caso supone 20 iteraciones (4 escenarios x 5 intervalos de tiempo dentro de cada escenario).

Implementación Esta fase está dividida en dos secciones, recalibrado y proyección, ejecutadas por sendos actores dentro del actor compuesto EJECUCION_MODELOS (ver Figura 15).

TRABAJO DE FIN DE MASTER

za el batch-job de GRASS 12 ejecuta MODELOS CALIBRADO.txt que ejecuta las siguientes tareas: Genera el ensamblado (mediana y desviación estándar). Extrae los valores de los puntos aleatorios y de los puntos de presencia, guardándolos en una tabla que se encargará de almacenar muestreos de todos los modelos (los modelos recalibrados y los proyectados). Cálculo del área de ocupación potencial de la especie: Utilizando el valor umbral calculado en la fase anterior por el actor CALCULA_UMBRAL, se utiliza r.recode y un fichero de recodificación RECODE ENSAMBLADO CONTINUO para recodificar el ensamblado de continuo a binario. A la superficie resultante se le aplica un filtro de moda con un kernel de 3x3 celdas mediante el módulo r.neighbors para eliminar celdas aisladas. Posteriormente se cuenta el número de celdas con valor 1 y se exporta el resultado a un fichero de texto. Cálculo del número de parches de hábitat idóneo: La superficie binaria obtenida en el paso anterior se vectoriza (módulo de GRASS r.to.vect), y la tabla del vector resultante, que tiene una entrada por cada polígono vectorizado, se exporta a un fichero de texto. Este fichero tiene una columna llamada “cat”, con un número identificador para cada polígono. Una orden de bash (tail) lee la última línea del fichero de texto, y exporta el número “cat” a un nuevo fichero de texto. Este número es el total de parches de hábitat idóneo correspondiente al ensamblado procesado. Exportación de imágenes png del ensamblado. Proyección: El actor PROYECCION_MODELO lanza el script 13 inicia PROYECCION.sh. Este script utiliza las definiciones de los modelos para proyectarlos sobre las nuevas condiciones. Está programado de forma que itera sobre la lista de escenarios y periodos de tiempo, y actúa del siguiente modo en cada iteración:

Figura 15: Actores que ejecutan el recalibrado y proyección de modelos. Ambos actores se encuentran dentro del flujo EJECUCION_MODELOS.

Recalibrado: El actor CALIBRADO_MODELO lanza la ejecución del script 11 inicia MODELOS CALIBRADO.sh. Este script calibra los algoritmos con todos los puntos de presencia, y guarda las definiciones de los modelos para su posterior proyección. Una vez acabada la ejecución, lan-

Proyecta las definiciones de los modelos sobre las variables del escenario correspondiente a la iteración. Lanza el batch-job de GRASS 14 ejecuta PROYECCION.txt. Este batch hace con cada escenario exactamente las mismas tareas que el anterior (12_ejecuta_MODELOS_CALIBRADO). Como resumen final, se relatan las entradas y salidas esta sección del flujo: ENTRADAS:

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

22

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

Puntos de presencia de la especie. Variables ambientales del presente y el futuro. SALIDAS: Archivos de los modelos numéricos de OpenModeller y MaxEnt. Ensamblados de idoneidad y desviación estándar del presente y el futuro. Mapas en formato png de los ensamblados. Ficheros de texto con el número de celdas de hábitat idóneo en cada escenario. Ficheros de texto con el número de parches de hábitat idóneo en cada escenario. Tabla con los valores de idoneidad y desviación estándar de los puntos aleatorios y de presencia.

Fase 4: Análisis y publicación de los resultados En esta fase final del flujo de trabajo se van a analizar en detalle los resultados, ofreciendo gráficas y mapas que los describan. Los modelos proyectados se analizarán teniendo en cuenta varios puntos de vista: variaciones de la idoneidad del hábitat, migración altitudinal, migración latitudinal, y evolución del área potencial y número de parches de hábitat idóneo. Con el objetivo es disponer, para cada especie, de un documento que contenga organizada toda la información relevante del proceso de modelado, se preparó una plantilla html sobre la que posteriormente insertar automáticamente los distintos elementos resultado del análisis.

Análisis de los resultados La primera fase de análisis se realiza en GRASS. El actor ANALISIS (ver Figura 16) lanza la ejecución del script de bash 15 inicia ANALISIS FINALES.sh. Este borra una serie de ficheros temporales que ya no son útiles, y lanza el batch-job de GRASS 16 ejecuta ANALISIS FINALES.txt. El script se encarga de: Exportar y formatear datos que serán procesados en R (valores de los puntos aleatorios para todos los ensamblados).

TRABAJO DE FIN DE MASTER

Comparar el modelo de evaluación con el modelo recalibrado mediante una resta, para comprobar la distribución espacial de los cambios en idoneidad que supone recalibrar el modelo con todos los puntos de presencia disponibles. Genera un mapa de persistencia: el script suma todos los modelos binarios que se han ido generando (para extraer número de celdas y número de parches de hábitat idóneo) a partir de los ensamblados y transforma el resultado en un valor de porcentaje. Este mapa de persistencia indica las áreas en las que, durante más tiempo, se van a conservar condiciones apropiadas para la biología de la especie. Exporta el mapa de comparación y el mapa de persistencia a formato png. Llegados a este punto, para realizar el análisis, el flujo de trabajo ha entregado los siguientes datos: Tabla VALORES_PUNTOS.txt. Se ha exportado del fichero vectorial que contiene los puntos de presencia de la especie, los puntos aleatorios del ámbito global y los puntos aleatorios del ámbito local. La tabla contiene, entre otros, los siguientes grupos de campos: Valores de idoneidad de los algoritmos de las fases de evaluación y recalibrado. Valores de idoneidad y desviación estándar de los ensamblados de las fases de evaluación, recalibrado y proyección (un campo de idoneidad y otro de desviación estándar por cada escenario). Valores de las variables ambientales utilizadas para calibrar los modelos. Fichero UMBRAL_CORTE_ENSCON.txt, con el valor apropiado para transformar el modelo continuo en binario. Cuatro ficheros AREA_EC_(nombre escenario).txt, con el número de celdas de hábitat idóneo correspondientes a cada escenario. Cuatro ficheros PARCHES_EC_(nombre_escenario).txt, con el número de parches de hábitat idóneo para cada escenario. Estos ficheros son procesados por el actor GRAFICOS de la siguiente sección del flujo (ver Figura 16). Se trata de un script de R (17 GRAFICOS ANALISIS FINALES.r) que lee los datos, los organiza, y genera las gráficas descriptivas correspondientes, que se discutirán en la sección de resultados.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

23

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

Cada salida gráfica de R es un fichero PDF con el gráfico en cuestión, que se mueve al directorio de resultados de la especie, se transforma en PNG mediante una orden de ImageMagick para el informe final, y se guarda el PDF, para mantener una copia del gráfico en su versión de alta calidad.

Informe de resultados Para hacer accesible la información resultante del flujo, se ha optado por un documento con una estructura basada en HTML, de forma que los resultados puedan colgarse en un servidor web sin el menor esfuerzo. La estructura diseñada consta de un primer documento denominado INICIO.html. Es la portada principal de sitio, y posee un índice que da acceso a los resultados de cada especie. El segundo documento, denominado PLANTILLA.html, es el informe sobre el que se insertan los resultados (mapas y gráficos). Presenta una estructura secuencial sencilla, y la única particularidad la suponen las animaciones. Presentar series temporales de modelos de distribución como imágenes estáticas ocupa mucho espacio y no resulta demasiado informativo, por lo que se ha seleccionado una aplicación especialmente diseñada por Barry Rowlingson (Universidad de Lancaster), en javascript, para generar animaciones interactivas en sitios web. Esta pequeña aplicación permite mostrar en el informe las series temporales de idoneidad del hábitat y desviación estándar como animaciones con un control de velocidad, que mejoran la experiencia del usuario en la consulta de los datos. El flujo de trabajo tiene una pequeña sección dedicada a dar formato al informe (ver Figura 17). Esta sección consta del actor PREPARA INFORME, que lanza el script de bash 18 ORGANIZA INFORME.sh. Este script mueve el archivo PLANTILLA.html al directorio INFORME y lo renombra con el nombre de la especie. También mueve los gráficos y mapas de la especie al mismo directorio, crea vistas previas reducidas usando una orden de ImageMagick y prepara los directorios de las animaciones, renombrando y moviendo los mapas de los ensamblados. El resto de la sección del flujo termina de formatear el fichero insertando el nombre y la ficha de la especie (un fichero de texto plano sobre la biología de la especie que el usuario debe situar en un directorio concreto después de ejecutar el flujo preparatorio PRP).

Figura 16: Sección del flujo que se encarga del análisis de datos. Consta de dos actores que ejecutan scripts (ANALISIS y GRAFICOS2), y una serie de ramas que procesan los PDF resultantes de R para transformarlos en PNG y guardarlos en los directorios correspondientes.

Figura 17: Sección del flujo que formatea el informe html.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

24

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

RESULTADOS EXPERIMENTADOS

nombre_especie_DE (raster): Desviación estándar de la idoneidad del hábitat.

En esta sección se van a detallar los resultados que entrega el flujo de trabajo.

nombre_especie_PRESENCIA (vector, tipo polígono o punto): Corresponde con el shapefile original de la especie.

Los resultados del flujo de trabajo pueden clasificarse en varios niveles de aplicabilidad y complejidad. Algunos tienen un carácter definitivo, como el informe html, diseñado para su difusión en internet, mientras que otros son útiles si es necesario realizar un estudio más exhaustivo sobre una especie concreta (la base de datos de GRASS resultante del proceso y las tablas de datos utilizadas para los análisis gráficos, por ejemplo).

nombre_especie_CALIBRADO (vector, tipo punto): Puntos de calibrado.

La base de datos de GRASS Durante todo el proceso ejecutado por el flujo de trabajo, GRASS, además de realizar operaciones, va almacenando todos los resultados importantes (los intermedios se han ido eliminando sobre la marcha). Como consecuencia, al finalizar la ejecución se dispone de un banco de datos muy valioso para otros análisis más concretos, como podría ser el trabajo sobre una población determinada de una de las especies modeladas. Esta información ocupará un gran volumen en el disco duro (varios cientos de Gigabytes al trabajar a alta resolución con alto número de especies), y no está pensada para ser difundida, sino para ser explotada por el propio operador del flujo de trabajo. Los resultados se almacenan por motivos de organización en dos mapsets: EVALUACION y PROYECCION. En el mapset EVALUACION se almacenan las siguientes capas para cada especie: nombre_especie_CELDAS (raster): Las celdas del territorio con poblaciones conocidas de la especie. Es el mapa de presencia de la misma a la resolución de trabajo.

nombre_especie_AMBITO (vector, tipo polígono): Mínimo rectángulo (más 2000 metros de margen) que acoge todas las poblaciones conocidas de la especie. nombre_especie_EVALUACION (vector, tipo punto): Puntos de evaluación. En el mapset PROYECCION se almacena el siguiente material: nombre_especie_EC_2000 (raster): Mediana de idoneidad para el mismo periodo. nombre_especie_DE_2000 (raster): Desviación estándar de la idoneidad del hábitat correspondiente al periodo de calibrado. nombre_especie_EC_escenario_periodo (raster): Mediana de idoneidad de una proyección. nombre_especie_DE_escenario_periodo (raster): Desviación estándar de la idoneidad de una proyección. nombre_especie_PERSISTENCIA (raster): Mapa de persistencia de la especie, resultante de la suma de todas las proyecciones transformadas en modelos binarios. nombre_especie_DIFERENCIAS_EC (raster): Mapa de diferencias en idoneidad entre nombre_especie_EC_2000@PROYECCION y nombre_especie_EC@EVALUACION. nombre_especie_VALORES_PUNTOS (vector, tipo punto): Contiene los puntos aleatorios de los ámbitos global y local, y los puntos de presencia de calibrado y evaluación. Para cada punto tiene campos que recogen los valores de idoneidad y desviación estándar de todos los modelos, y los valores de las variables ambientales.

nombre_especie_iniciales_algoritmo (raster): Siendo las iniciales: CH, EU, GA, ME, MH, MN, NN, VM. Son los resultados de cada uno de los 8 algoritmos de modelado.

Los resultados gráficos

nombre_especie_EC (raster): Mediana de la idoneidad del hábitat.

En el directorio RESULTADOS, en una carpeta con el nombre de la

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

25

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

especie, se almacenan los resultados que va generando el flujo. A continuación se detalla la estructura de carpetas de una especie. carpeta CALIBRADO. Contiene resultados relacionados con el modelo recalibrado. Todos son gráficos generados por R en el actor GRAFICOS de la última sección del flujo. ANALISIS_MODELO.pdf DIFERENCIAS_CALIBRADO_2_pdf DIFERENCIAS_CALIBRADO_EVALUACION_1.pdf REQUERIMIENTOS_ECOLOGICOS.pdf carpeta EVALUACION HISTOGRAMA_EC.txt: valores del histograma del modelo inicial de idoneidad. PUNTOS_CALIBRADO_nombre_especie.txt: coordenadas de los puntos de calibrado devueltas por el flujo de trabajo PRP. PUNTOS_EVALUACION_nombre_especie.txt: coordenadas de los puntos de evaluación devueltas por el flujo de trabajo PRP. UMBRAL_CORTE_ENSCON.txt: Valor del umbral de corte del ensamblado de idoneidad. carpeta MODELOS: definiciones de los modelos de evaluación de OpenModeller y MaxEnt. carpeta RESULTADOS AUC_GLOBAL_VALORES.txt: valores de evaluación en el ámbito global devueltos por actor EVALUA_MODELOS. AUC_LOCAL_VALORES.txt: valores de evaluación en el ámbito local. HISTOGRAMAS.pdf: gráfico de R con la distribución de valores del ensamblado de idoneidad de evaluación en el ámbito local. GRAFICOS_EVALUACION.pdf: gráfico de R que resume los valores de evaluación. carpeta PRESENCIA CALIBRADO_nombre_especie.csv: puntos de calibrado formateados para MaxEnt. CALIBRADO_nombre_especie.txt: puntos de calibrado formateados

TRABAJO DE FIN DE MASTER

para OpenModeller. PRESENCIAS_nombre_especie.csv: puntos de presencia completos para MaxEnt. PRESENCIAS_nombre_especie.txt: puntos de presencia completos formateados para OpenModeller. carpeta PROYECCION carpeta MODELOS: definiciones de los modelos recalibrados de MaxEnt y OpenModeller. ANALISIS_ENSAMBLADO_CONTINUO.pdf: gráfico de R que resume el comportamiento de los modelos en las localidades de presencia de la especie. ANALISIS_FUTURO_ESPECIE.pdf: gráfico de R que muestra el comportamiento potencial de la especie ante los distintos escenarios. carpeta RESULTADOS: contiene todas las imágenes que van al informe html, por lo que se comentan a continuación.

Información incluida en el informe de resultados El informe de resultados está diseñado para difundir a través de Internet la información que proporciona el flujo de trabajo. Está dividido en cuatro secciones que responden a distintas cuestiones. A continuación se detallan los resultados que en él aparecen.

Sección 1: Distribución actual y requerimientos ecológicos Los resultados mostrados en esta sección tratan de responder a esta cuestiones: ¿cual es la distribución de la especie?, ¿cuales son sus requerimientos ecológicos?, ¿es una especie generalista o especialista?. Foto y ficha de la especie. Una vez ejecutado el flujo PRP, el usuario, a partir de la lista de especies seleccionadas, puede preparar en un directorio (MATERIAL_ESPECIES, con las carpetas FICHAS y FOTOS) fichas de texto plano con información relevante sobre la biología de la especie (nombrado según la estructura Nombre_especie.txt) y una imagen de la misma (Nombre_especie.jpg). Ambas son situadas por el flujo al principio del informe. Mapa de distribución general. Se trata de un mapa del relieve de Anda-

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

26

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

lucía con la distribución de la especie y su ámbito de presencia indicados en color rojo (Figura 18). Se genera a partir del mapa RELIEVE contenido en el mapset MATERIAL.

Figura 18: Ejemplo de mapa de distribución general de la especie ofrecido en el informe de resultados.

Figura 19: Detalle del mapa de localización de poblaciones. Se muestran como puntos rojos localidades de presencia de la especie.

Mapa de localización de poblaciones. Este mapa ofrece una visión más precisa de la localización concreta de las poblaciones de la especie (ver Figura 19). Se limita al ámbito de presencia de la especie, tiene una alta resolución, y muestra los límites de los términos municipales, la red hidrográfica, vías de comunicación, y las poblaciones, todos con su etiquetado correspondiente. Por las limitaciones de GRASS en este sentido no ha sido posible generar automáticamente una leyenda con todos los elementos. Aún así, el mapa es suficientemente comprensible como para localizar con cierta exactitud las poblaciones en el campo.

Diagramas de requerimientos ecológicos. En este diagrama se comparan la distribución de valores sobre cada una de las variables ambientales de los puntos de presencia y los puntos aleatorios del ámbito global (ver Figura 20). El objetivo es conocer en que rangos de cada variable se concentran los puntos de presencia de la especie (una medida de sus requerimientos ecológicos), y compararlos con los valores de la variable para todo el territorio de trabajo. Para facilitar la comparación se han añadido líneas de referencia correspondientes al promedio de cada grupo. Este diagrama permite conocer si la especie es especialista (promedios muy separados) o generalista (promedios próximos), y los rangos de presencia conocidos.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

27

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

Figura 20: Ejemplos de diagrama de requerimientos ecológicos. En el informe de resultados se genera este diagrama para cada variable utilizada para calibrar los modelos. En naranja se muestra la distribución de los puntos de presencia de la especie. La curva negra representa la distribución de la variable en el territorio de estudio. Las líneas verticales muestran los promedios de cada grupo.

Sección 2: Evaluación del modelo de distribución En esta sección, las cuestiones a responder son las siguientes: ¿cual de los algoritmos funciona mejor?, ¿como se distribuyen por el territorio la idoneidad y su desviación estándar?, ¿existe una relación entre la mediana de idoneidad y la desviación estándar?. Las siguientes figuras tratan de dar las respuestas: Resultados de los algoritmos. Teniendo conocimiento sobre la distribución de la especie, y sobre como se interpretan los modelos de distribución, es posible determinar con una simple visualización, qué algoritmo funciona mejor. En esta sección se muestran capturas de los resultados (ver Figura 21), en el ámbito global y local, mostrando superpuestos los puntos de calibrado (símbolo “o”) y los puntos de evaluación (símbolo “x”).

Figura 21: Resultados de los algoritmos. Se muestran las capturas de los resultados de GARP y MaxEnt. Observando la distribución de los valores de idoneidad del hábitat en ambos modelos y la situación de los puntos de presencia de la planta (en naranja), es fácil determinar cual de ellos está funcionando mejor.

Resultados de los ensamblados. En el informe se muestran mapas similares a los anteriores, pero a una mayor resolución de imagen, de ambos componentes del ensamblado (Figura 22).

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

28

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

Figura 23: Histograma del ensamblado. Indica el número total de celdas del ámbito local ocupadas por cada valor de mediana de idoneidad.

Figura 22: Ensamblados. Debe notarse que la especie no se encuentra en todas las áreas con algún valor de idoneidad del hábitat. Para cada especie existe un umbral de la escala por debajo del cual es muy poco probable que la especie esté presente.

Distribución de los valores de idoneidad en el ámbito local. Se trata de un gráfico que muestra, dentro del ámbito de presencia de la especie, la distribución de valores de idoneidad, expresada en número de celdas (Figura 23). Los puntos se relacionan entre sí mediante una ecuación polinomial ajustada en R. Gráfica de evaluación de resultados. Imagen del análisis gráfico de los resultados de la evaluación estadística de los modelos. Se discute en profundidad en el Anexo 2.

Sección 3: Modelo de distribución Esta sección corresponde con la fase de recalibrado del modelo utilizando todos los puntos de presencia disponibles. Ensamblado recalibrado. Se vuelven a mostrar las capturas del nuevo ensamblado generado con todos los puntos de presencia, por ser el modelo de distribución “final” aceptado para la especie según la metodología propuesta. Diferencias entre los ensamblados de idoneidad de evaluación y recalibrado: comparación en tres ámbitos geográficos. A partir de los valores de los puntos aleatorios del ámbito global, los puntos aleatorios del ámbito local y todos los puntos de presencia de la especie, se comparan mediante un diagrama de cajas los modelos de evaluación y recalibrado (ver Figura 24), para buscar diferencias significativas entre ambos. La si-

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

29

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

tuación ideal es que no haya diferencias entre las cajas de ambos modelos, pero lo cierto es que durante las pruebas del flujo se han detectado diferencias reseñables entre el modelo generado con los datos partidos según el parámetro PARTICION y el modelo generado con todos los puntos de presencia. Este gráfico ayuda a comprender la incidencia de esta cuestión en el resultado final del modelo.

TRABAJO DE FIN DE MASTER

tos a los valores de idoneidad y desviación en las poblaciones conocidas de la especie. Mapa de diferencias entre los ensamblados de idoneidad. Muestra el resultado de la sustracción de valores de idoneidad entre el modelo recalibrado y el modelo de evaluación (Figura 26). Permite conocer con detalle la distribución geográfica de las diferencias, mostrando en distintos tonos e intensidades la ganancia o pérdida de idoneidad del modelo recalibrado respecto al de evaluación.

Figura 24: Comparación de modelo de evaluación y recalibrado en tres ámbitos geográficos. La primera pareja de cajas representa el ámbito global. Las iniciales “Ev” representan el modelo de evaluación, y las “Ca” representan al modelo recalibrado. En las cajas se representa la mediana de los datos (línea negra central), el error estándar de la mediana (cuña sobre y bajo la mediana), la desviación estándar (límites de la caja), máximo y mínimo (líneas discontinuas) y outliers (puntos externos).

Diferencias entre los ensamblados de idoneidad de evaluación y recalibrado: comparación de idoneidad vs. desviación en las localidades de presencia de la especie. Este gráfico pretende incrementar la resolución de la comparación entre modelos, centrándose en las localidades de presencia conocida de la especie, pero comparando al mismo tiempo los dos componentes del ensamblado en un gráfico bivariante (ver Figura 25). Permite conocer con detalle hasta que punto afecta la partición de da-

Figura 25: Comparación de valores de los ensamblados de evaluación y recalibrado en las localidades de presencia de la especie. En el eje x se presenta la mediana de idoneidad y en el y la desviación estándar. El color verde representa el modelo de evaluación, y el naranja el modelo recalibrado. Los polígonos envuelven los valores de las localidades de presencia. El centro de una cruz representa el valor promedio, y la extensión de los ejes la desviación estándar de los datos. En los márgenes se muestran las distribuciones relativas. En una situación ideal, ambos modelos deberían coincidir aproximadamente.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

30

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

del ensamblado. A las animaciones se accede a través de una tabla (ver Figura 28). Cada animación permite al usuario controlar la velocidad de animación, o navegar manualmente entre los distintos frames (ver Figura 29).

Figura 26: Mapa de diferencias de idoneidad entre el modelo recalibrado y el modelo de evaluación. En tonos verdes se muestran las áreas en las que el modelo recalibrado presenta mayor idoneidad, mientras que la intensidad muestra el grado de la diferencia. En tonos rojos se muestran las áreas en las que el modelo final presenta menor idoneidad que el modelo de evaluación. La situación ideal es aquella en la que el modelo recalibrado incrementa sus valores de idoneidad en las áreas de presencia conocida de la especie y la disminuye en todas aquellas en las que no se dan las condiciones apropiadas para la misma.

Curvas de respuesta del modelo. La siguiente gráfica (Figura 27) muestra la relación de la variable idoneidad del modelo final con los valores de cada una de las variables ambientales utilizadas para calibrarlo. Esta relación se muestra en los tres ámbitos geográficos: global, local y localidades de presencia de la especie. Estas relaciones ayudan a comprender la naturaleza del modelo de distribución separándolo en componentes discretos (las variables), y la relevancia de cada una de las variables.

Figura 27: Ejemplo de curva de respuesta. La nube suavizada representa todos los puntos de muestreo disponibles (aleatorios global, aleatorios local y puntos de presencia). La intensidad es indicador del número de puntos que existen con cada combinación de valores idoneidad y la variable. En este caso, una gran proporción presentan una idoneidad en torno a 30 y una precipitación media anual en torno a 500 mm. Las líneas muestran el ajuste polinomial de tendencia de cada uno de los grupos de puntos. En una situación ideal las tres líneas deben coincidir, y tener una pendiente (positiva o negativa) apreciables. Tres líneas con pendiente igual a cero indican una variable sin importancia en el modelo de distribución.

Sección 4: Efectos potenciales del Cambio Climático En esta sección se abordan las siguientes cuestiones: ¿Como varía en el tiempo y en los distintos escenarios la distribución geográfica de la idoneidad y la desviación estándar?, ¿cual va a ser la tendencia en idoneidad del hábitat en las poblaciones conocidas de la especie?, ¿cómo van a evolucionar la superficie y el número de parches de hábitat idóneo?, ¿puede migrar altitudinal y horizontalmente la especie?. Animaciones de variación temporal de idoneidad y desviación estándar. En el informe se muestran 8 animaciones interactivas, que ofrecen una vista muy intuitiva de las variaciones temporales en ambos aspectos

Figura 28: Tabla de acceso a las animaciones. Cada imagen es un hipervínculo que lleva a la animación deseada.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

31

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

los cuatro escenarios representados en los violin-plot tratados anteriormente (Figura 31). Indica una tendencia general de la especie ante el calentamiento del clima.

Figura 29: Interfaz de la animación. Cada animación tiene su propio control de navegación (deslizador principal), control de reproducción (botones) y control de velocidad (deslizador secundario).

Evolución de idoneidad del hábitat en las poblaciones conocidas de la especie según los distintos escenarios. Un violin-plot por cada escenario, en los que se puede observar la distribución de los valores de idoneidad en las localidades de presencia de la especie, tomando como referencia una “zona roja” que indica el umbral por debajo del cual las condiciones del hábitat son poco compatibles con el desarrollo de poblaciones viables de la especie (ver Figura 30). La forma del violin-plot muestra la densidad relativa de puntos de presencia para cada grado de idoneidad. Evolución de idoneidad del hábitat en las poblaciones conocidas de la especie independiente de escenarios. Se trata de una agregación de

Figura 30: Evolución de idoneidad de las localidades de presencia. Se muestra un ejemplo con uno de los cuatro escenarios. Cada violin representa un periodo de tiempo. La forma del violin indica la distribución de valores de idoneidad de los puntos de presencia. El valor sobre la línea horizontal roja, el umbral de idoneidad mínima para la especie. El espacio bajo la línea roja indica una zona de peligro relativo, por empeoramiento de las condiciones para la especie. El valor de idoneidad promedio se refiere a todo el periodo. Sirve para comparar el efecto entre distintos escenarios (cuanto mayor es la idoneidad promedio de un escenario, menor es el efecto negativo de este sobre la especie). Según este ejemplo, después del 2060 ninguna localidad de presencia conocida de la especie mantendrá condiciones idóneas.

Distribución de valores de idoneidad de las localidades de presencia en dos puntos de control. Se analizan en dos gráficas los puntos de control 2060 y 2100 para comparar la distribución relativa de valores de idoneidad de cada uno de los escenarios (ver Figura 32). Es una información complementaria útil para conocer qué escenarios tienen efectos más severos sobre la biología de la especie.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

32

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

Evolución temporal del área de hábitat idóneo según los distintos escenarios. A partir de las transformaciones de los modelos de idoneidad de continuo a binario utilizando el valor umbral de idoneidad de la especie, se calcula el área de hábitat apropiado para la especie. Esta es la representación gráfica de los datos, comparando entro los distintos escenarios (Figura 33). Evolución temporal del número de parches de hábitat idóneo según los distintos escenarios. La Figura 34 muestra la evolución de la fragmentación del hábitat de la especie según los distintos escenarios.

Figura 31: Evolución de idoneidad de las localidades de presencia independiente de escenario. Se interpreta como la tendencia general (indicada por la línea gris). Se muestran como referencias los máximos y mínimos absolutos (líneas discontinuas) y los promedios máximos y mínimos (líneas continuas). El valor de tendencia anual se refiere a pérdida de idoneidad media al año de las poblaciones conocidas de la planta. Es un indicador del ritmo de degradación del hábitat.

Figura 33: Evolución del área de hábitat idóneo para la especie, comparando los distintos escenarios.

Figura 32: Comparación de idoneidad de los puntos de presencia en dos puntos de control (2060 y 2100). La curva gris representa la distribución actual de valores. La línea de referencia discontinua indica el umbral de idoneidad mínima. Las curvas representan los distintos escenarios. Cuanto mayor sea la tendencia de una curva hacia la izquierda, mayor será el efecto negativo del escenario que representa sobre la biología de la especie.

Análisis temporal de la migración altitudinal potencial. En la Figura 35 se expresa el potencial migratorio altitudinal de la especie, mostrando las series temporales de elevación promedio del hábitat idóneo en cada escenario. Para hacer el cálculo se consultan en la tabla VALORES PUNTOS, una vez por cada escenario y periodo de tiempo, los valores de elevación de aquellos puntos con una idoneidad del hábitat igual o superior al umbral de la especie, para cada periodo y escenario, se calcula el promedio y se dibuja el dato. Con esta metodología se obtiene una estimación, no es un cálculo preciso. Esta es una de las secciones de cálculo que podrían mejorar su implementación en futuras versiones del flujo de trabajo.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

33

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

Figura 34: Evolución temporal del número de parches de hábitat idóneo. Se le asigna la misma leyenda que la contenida en la Figura 33.

TRABAJO DE FIN DE MASTER

Análisis gráfico del potencial de migración horizontal. Se trata de determinar cual puede ser la tendencia migratoria de la especie en latitud y longitud. El gráfico (ver Figura 36) representa en el centro un espacio de coordenadas geográficas el centro de gravedad (aproximación del centroide geométrico) de las áreas de hábitat idóneo de la especie. Para calcularlo, se selecciona la columna de la tabla VALORES PUNTOS correspondiente al modelo de idoneidad recalibrado, se seleccionan los puntos con un valor de idoneidad igual o superior al umbral, y se promedian sus valores de latitud y longitud (se está calculando el centroide de una nube de puntos). Como un cuadrado rojo se representa el centro de gravedad de las zonas de hábitat idóneo, que se ha obtenido promediando los valores de las coordenadas x e y de todos aquellos puntos, independientemente del escenario o periodo de tiempo, que en algún momento tienen un valor de idoneidad igual o superior al umbral. La línea que une ambos puntos representa el vector de migración. Se ofrece un valor del intervalo de tiempo considerado (en algunas especies puede ser menor al periodo completo de estudio si la especie puede desaparecer antes del final del periodo), un valor de distancia máxima de migración en metros, y un ritmo de migración anual (metros/año). Debe notarse que es solo una aproximación que trata de agregar los resultados posibles de los cuatro escenarios. Además, un cambio en el centro de gravedad entre dos periodos consecutivos no siempre significa un desplazamiento real de las poblaciones. La desaparición de un área de hábitat idóneo puede hacer que el centro de gravedad cambie, aunque ninguna de las demás áreas idóneas se haya desplazado (migración aparente). La información que proporciona esta sección puede completarse añadiendo las máximas coordenadas x e y del periodo inicial y del periodo final, para constatar si la migración ha sido real o aparente. Mapa de persistencia. Durante todo el periodo de análisis, determinadas regiones van a mantener unas condiciones ambientales adecuadas para la especie durante más tiempo que otras. Estas áreas de persistencia son útiles para aplicaciones en gestión proactiva de especies amenazadas, porque permiten enfocar los esfuerzos de conservación. Para calcular el mapa de persistencia, los modelos de idoneidad de todos los periodos y escenarios se transforman en binarios utilizando el valor umbral de idoneidad propio de la especie. Posteriormente se suman, y se transforma el resultado en porcentaje. El resultado es un mapa como el de la Figura 37.

Figura 35: Migración altitudinal potencial. Muestra la tendencia temporal de los promedios de elevación de las zonas con hábitat idóneo para la especie. Se indica en un cuadro el máximo ascenso potencial, y un valor promedio con respecto a ese máximo.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

34

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER

CONCORDANCIA ENTRE RESULTADOS Y   OBJETIVOS Teniendo en cuenta los objetivos planteados y las pruebas realizadas con el flujo de trabajo resultante, el autor considera que se han alcanzado los objetivos mínimos del proyecto satisfactoriamente.

Figura 36: Vector potencial de migración horizontal. Representa una tendencia general de migración real o aparente de las zonas con hábitat idóneo para la especie. En este caso, las condiciones apropiadas para la especie migran 27 kilómetros hacia el oeste.

Figura 37: Mapa de persistencia. El valor de una celda equivale al porcentaje total de modelos que indican condiciones apropiadas para la especie para todo el periodo considerado, y todos los escenarios. Las áreas con un valor mayor de persistencia son las que con mayor seguridad van a mantener condiciones apropiadas para la especie durante mayor tiempo.

Es cierto que en principio se plantea un único flujo de trabajo capaz de ejecutar todas las tareas. Pero lo cierto es que la preparación de los registros de presencia que actualmente realiza el flujo PRP pueden considerarse un proceso inicial aparte de las simulaciones de cambio en la distribución de las especies. Y esto es así porque, a priori, el usuario del flujo no conoce qué especies cumplen los requisitos mínimos necesarios para ser modeladas con garantías de éxito. El flujo PRP proporciona, una vez ejecutado, proporciona un listado con las especies que cumplen los criterios. Este listado da la oportunidad al investigador reconsiderar criterios, y añadir o descartar especies a voluntad, antes de iniciar las simulaciones, que suponen un coste de tiempo importante. Un objetivo implícito del flujo es simplificar, desde el punto de vista del usuario, todos los pasos intermedios y manuales de un proceso de modelado. Ahora, generar modelos de distribución para cientos de especies y publicar los resultados queda a muy pocos clicks de ratón. Solo es necesario configurar el entorno de ejecución, abrir el flujo de Kepler, y pulsar en el botón Run Model. La ganancia en cuanto a tiempo de preparación, procesamiento, organización y publicación de datos es indudable. El flujo de trabajo diseñado ofrece una metodología basada en un estudio bibliográfico profundo y en la experiencia del autor en el área de los modelos de distribución. Por tanto, el sistema ofrece a un usuario novel la posibilidad de generar modelos de un nivel técnico alto y metodológicamente consistentes sin necesidad de pasar por una ardua fase de aprendizaje en cuanto a manejo e integración de software. Pero es fundamental un importante “background” en técnicas de modelado, sobre todo porque facilita la interpretación de los resultados, evitando aplicaciones aventuradas. El trabajo ha podido desarrollarse íntegramente en software libre, excepto el paquete MaxEnt, que es gratuito pero de código cerrado. Es una parte

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

35

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

perfectamente omitible, porque OpenModeller implementa su propio algoritmo de máxima entropía (aunque ofrece resultados muy inferiores). Sin embargo, se ha incluido porque la calidad de sus resultados compensa con creces su carácter no libre.

CONCLUSIONES A lo largo del proyecto se ha desarrollado un flujo de trabajo basado en software libre que automatiza y estandariza completamente un proceso complejo de modelado, que implica la simulación de cambios en la distribución geográfica de especies vegetales ante distintos escenarios de cambio climático utilizando una metodología consistente basada en el ensamblado de resultados de distintos algoritmos.

Conclusiones generales Actualmente la comunidad científica diseña y produce herramientas de software libre que, combinadas, permiten diseñar y ejecutar procedimientos de modelado ecológico muy complejos a usuarios con un nivel medio de conocimientos informáticos. Antes de acometer una tarea compleja que requiera un procesamiento largo e intensivo de datos, es necesario investigar las posibilidades y herramientas disponibles, aprender a utilizarlas, para finalmente, diseñar el sistema de trabajo, desarrollarlo y ejecutarlo. La emergencia del software libre “da alas” a la ecoinformática.

TRABAJO DE FIN DE MASTER

GRASS le da una gran capacidad para integrar geoprocesos en sus flujos de trabajo. En un software SIG, una característica importante es la posibilidad de acceso completo a las funcionalidades a través de un lenguaje de scripting. La automatización de procesos complejos mediante scripts es el único modo de conseguir líneas de trabajo realmente productivas.

MATERIAL ON­LINE Una versión de ejemplo del informe de resultados puede verse en la siguiente dirección: http://botanica2.ugr.es/modplan/INICIO.html Los flujos de trabajo pueden abrirse para su visualización (y ejecución si el entorno está preparado para ello) abriendo Kepler, menú File, Open URL, escribiendo las siguientes direcciones para cada flujo: http://botanica2.ugr.es/modplan/PRP.xml http://botanica2.ugr.es/modplan/MODPLAN.xml El material que permitirá ejecutar Kepler en un equipo bien configurado puede descargarse de la siguiente dirección: http://botanica2.ugr.es/modplan/MATERIAL_MODPLAN.tar.gz

GRASS, por sus características (coste cero, código libre, extensibilidad, velocidad de ejecución, simplicidad en el lenguaje de scripting, y capacidad de trabajo con capas de gran tamaño) debería ser un SIG de elección en el ámbito académico.

El manual de usuario del flujo de trabajo puede descargarse a través del siguiente enlace:

Conclusiones metodológicas

IDEAS PARA EL FUTURO

El programa de diseño y ejecución de flujos de trabajo Kepler permite gracias a su flexibilidad utilizarlo como base para la ejecución de líneas complejas de procesamiento de datos. Su capacidad de lanzar batch-jobs de

http://botanica2.ugr.es/modplan/MANUAL_MODPLAN.pdf

El desarrollo del sistema de modelado no acaba aquí. Forma parte del núcleo de la tesis doctoral del autor, y va a seguir creciendo, implementando nuevas funcionalidades, según los requerimientos de la investigación en

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

36

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

curso. A continuación se detallan algunas mejoras que deberían implementarse en las siguientes versiones del sistema. La configuración inicial del sistema es relativamente compleja. Muchos “packages” de R, un pequeño “hacking” en GRASS para solucionar un bug, y algunos programas secundarios como ImageMagick o pdftk son necesarios para el funcionamiento del flujo. Una posibilidad es distribuir junto con el sistema un script de configuración que prepare el entorno automáticamente, aunque será en versiones posteriores cuando se implemente. Una cuestión que queda pendiente es dotar al sistema de una mayor flexibilidad para seleccionar el número de algoritmos de trabajo, controlar los intervalos de tiempo que se modelan, los escenarios o las variables de calibrado. Lo cierto es que las secciones del flujo dedicadas exclusivamente al modelado funcionan sin problemas con cualquier número de algoritmos, escenarios, variables y periodos de tiempo. Es la fase de edición de los resultados la que no está adaptada, y es algo que pretende implementarse en un futuro cercano. Sin embargo, para usuarios con escasos conocimientos en modelado de distribución, esta flexibilidad suele suponer un problema, por lo que no se ha ahondado en ella en la versión del flujo disponible on-line. La implementación de otros métodos de ensamblado está contemplada. De hecho, la versión inicial del flujo de trabajo descrito ya proporcionaba un segundo método de ensamblado, que se ha descartado para evitar una complejidad innecesaria en la exposición de resultados. Este método si está plenamente funcional en otra rama de desarrollo de la aplicación.

TRABAJO DE FIN DE MASTER

biología de la especie. Un proyecto de ampliación de los análisis de los modelos que se está barajando consiste en un análisis automático de las rutas migratorias más probables que puede seguir cada especie. Utilizando los modelos como superficies de fricción, y con la idea de que cuanto más idóneo es el hábitat, menor es la fricción a la dispersión, puede implementarse un método automático en GRASS para generar las líneas de flujo migratorio. Esto es directamente aplicable en gestión, porque proporcionaría información valiosa para el diseño de pasillos migratorios. También se está trabajando en un análisis final, una vez modeladas todas las especies, que contemple dos vertientes: Una vertiente técnica, que permita comparar entre sí métodos de modelado y ensamblado, una suerte de laboratorio de pruebas para testar metodologías. Una vertiente biológica, basada en el ensamblado de resultados de las especies individuales para trabajar a nivel de biodiversidad. Esto permitiría conocer con cierta aproximación el comportamiento general de la biodiversidad vegetal ante distintos escenarios de cambio climático. Otros 100 autores encontrarían otras 100 funciones que implementar. Será el interés posterior de otras personas en los resultados de este proyecto el que lo haga crecer o morir. Por la parte del autor, las novedades descritas cubrirían con creces los objetivos planteados en un principio.

AGRADECIMIENTOS

Otra cuestión pendiente es mejorar el cálculo de la migración vertical y horizontal. Los métodos implementados no son los más precisos posibles, aunque si son buenos indicadores de las tendencias de la especie en ambos aspectos.

Este trabajo no hubiera sido posible sin la paciencia y el cariño de Ana, que ha cuidado de mí durante el desarrollo del proyecto.

La estructura y presentación del documento html que presenta los resultados muy probablemente pueden mejorarse. Los escasos conocimientos del autor en el lenguaje html y alguna disfunción en cuanto a la capacidad para seleccionar gamas de color complementarias explican perfectamente esta situación. Un proyecto próximo es mejorar la presentación, y segregar la información en dos niveles: uno técnico, referido a los modelos en sí, y otro biológico, referido a los efectos potenciales del cambio del clima en la

Mi mas sincero agradecimiento a los desarrolladores de OpenModeller, MaxEnt, Kepler, GRASS, R, GNU Octave, pdftk, ImageMagick, Bash, Linux, y cualquier otra línea de código en la que me haya apoyado incluso sin saberlo. Los que desarrollan software libre son los que de verdad ponen a nuestra disposición los recursos para avanzar hasta quién sabe donde.

Al Dr. Julio Peñas, mi “jefe”. Con gran paciencia y confianza paciencia, me ha dado carta blanca para llevarlo a cabo.

Al profesorado y coordinación de estudiantes de UNIGIS Girona, compa-

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

37

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

ñeros durante dos años y medio de largo viaje. He crecido por el camino gracias a su excelente trabajo. A la Consejería de Innovación, Ciencia y Empresa de la Junta de Andalucía (proyecto RNM 1067), porque financia mi periodo de formación como investigador, y me ha introducido en un mundo que me apasiona. A la Red de Información Ambiental de la Junta de Andalucía y la Agencia Estatal de Meteorología, por proporcionar datos de fundamental importancia para el desarrollo del proyecto.

BIBLIOGRAFÍA

TRABAJO DE FIN DE MASTER

Pennington DD, Higgins D, Peterson AT, Jones MB, Ludascher B, Bowers S 2007. Ecological Niche Modelling Using the Kepler Workflow System, en Workflows for e-Science. Editores: Taylor IJ, Deelman E, Gannon DB, Shields M. Editorial Springer, Londres. Phillips SJ, Anderson RP, Schapire RE. 2006. Maximum entropy modeling of species geographic distributions. Ecological Modelling, 190: 231-259. URL: www.osgeo.org/files/journal/final_pdfs/OSGeo_vol1_openModeller.pdf Sutton T, Giovanni R, Siqueira MF. Introducing openModeller - A fundamental niche modelling framework. OSGeo Journal Volume 1. ISSN 1994-1897. url: www.osgeo.org/files/journal/final_pdfs/OSGeo_vol1_openModeller.pdf

Araújo MB, New M. 2007. Ensemble forecasting of species distributions. Trends in Ecology and Evolution 22: 42-47.

Software

Benito-Garzón M. 2006. El efecto del cambio climático sobre las distribuciones de los bosques ibéricos: pasado, presente y futuro.

MaxEnt: www.cs.princeton.edu/~schapire/maxent/

Eaton JW. 2002. GNU Octave Manual. Ed. Network Theory Limited. isbn 0-9541617-2-6. url: www.gnu.org/software/octave/

Kepler: https://kepler-project.org/

Fundación para la Investigación del Clima. 2006. Generacion de Escenarios de Cambio Climático en Andalucía. url: www.juntadeandalucia.es/medioambiente/web/Bloques_Tematicos/Sostenibilidad/Estrategia_andaluza_cambi o_climatico/escenarios_de_cambio_climatico_regionalizados/informe_escenarios_2006.pdf

OpenModeller: openmodeller.sourceforge.net/ Octave: www.gnu.org/software/octave/ R: cran.r-project.org/ GRASS: grass.osgeo.org Bash: www.gnu.org/software/bash/bash.html

GRASS Development Team, 2008. Geographic Resources Analysis Support System (GRASS) Software, Version 6.3.0. url: http://grass.osgeo.org

ImageMagick: www.imagemagick.org

Kepler User Manual. URL: https://code.kepler-project.org/code/keplerdocs/trunk/outreach/documentation/shipping/UserManual.pdf

pdftk: www.accesspdf.com/pdftk/

R Development Core Team (2008). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, url: www.R-project.org Ramey C, Fox B. The GNU bash Reference Manual. isbn 0-9541617-7-7. url: http://www.network-theory.co.uk/docs/bashref/ Ninyerola M, Pons X, Roure JM. 2000. A methodological approach of climatological modelling of air temperature and precipitation through GIS techniques. International Journal of Climatology. 20: 1823-1841.

Animaciones web: www.maths.lancs.ac.uk/~rowlings/Chicas/DIY/

ANEXOS Anexo 1: Algoritmos de modelado En este anexo se ofrecen detalles de forma somera sobre la lógica interna de los distintos algoritmos de modelado. Para una descripción más profunda se debe acudir a la bibliografía recomendada.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

38

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS Los algoritmos utilizados en este proyecto pueden clasificarse en dos grupos: métricas de similaridad ecológica (distancias euclídea, de Mahalanobis, Manhattan y Chebyshev), métodos de aprendizaje artificial (GARP, MaxEnt, Neural Networks y Support Vector Machines). Los métodos de similaridad ecológica generan, a partir de los valores estandarizados de n variables ambientales, un espacio de n dimensiones (llamado espacio ecológico). Dentro de ese espacio se sitúan los puntos de presencia de la especie, y puntos que representan a cada una de las celdas del territorio. El grado de similaridad ecológica de una celda se obtiene midiendo la distancia entre el punto que la representa y los puntos de presencia de la especie. Dependiendo de la configuración del algoritmo, puede medirse la distancia hasta el centroide de todos los puntos de presencia, el punto más cercano, o un grupo de número determinado de puntos más cercanos. La lógica matemática utilizada para medir la similaridad ecológica determina el nombre del algoritmo. La Distancia Euclídea (siglas EU en el flujo) mide al recorrido más corto entre el punto que representa a la celda y el punto de presencia de la especie más cercano, según la geometría más convencional e intuitiva. La Distancia de Chebyshev (siglas CH en el flujo) ofrece como resultado la máxima distancia posible entre dos puntos, en cualquier dimensión de los ejes de coordenadas. Se conoce también como distancia del tablero de ajedrez. La Distancia de Mahalanobis (siglas MH en el flujo) es similar a la euclídea, pero tiene en cuenta la correlación entre las variables a la hora de ponderar la medida. La Distancia de Manhattan (siglas MN en el flujo) es la suma de las diferencias absolutas de las coordenadas de los dos puntos entre los que se quiere medir la distancia. Los cuatro algoritmos pueden configurarse según dos parámetros: Puntos más cercanos: número de puntos de presencia tomados como referencia para medir la distancia. Pueden ser todos o varios, y entonces la distancia se calcula utilizando el centroide de los puntos, o puede ser uno, en cuyo caso se mide la distancia al más cercano. Máxima distancia: es un parámetro de referencia que indica una distancia umbral a partir de la cual ya no se mide la distancia, por considerarse suficientemente alejadas de las condiciones apropiadas para la especie. Para cada uno de estos algoritmos pueden configurarse estos parámetros en el flujo modificando los valores del fichero de parámetros en el directorio SCRIPTS. Los métodos de aprendizaje artificial utilizan algún tipo de lógica heurística para determinar la distribución potencial de la especie. Los métodos aquí aplicados siguen lógicas muy diferentes.

TRABAJO DE FIN DE MASTER GARP (Genetic Algorithm for Ruleset Prediction, siglas GA en el flujo) es un algoritmo genético. Utiliza un mecanismo similar a la evolución genética biológica para desarrollar un conjunto de reglas válidas para predecir la distribución de la especie. La mecánica de GARP es un tanto oscura (incluso para los que lo conocen bien), pero se tratará de plasmarla brevemente. Una ejecución de GARP comienza con una población de reglas generadas al azar (una regla podría ser: la especie está presente entre los 500 y los 800 milímetros de precipitación anual). GARP genera un modelo de distribución con cada regla, los evalúa todos, y a la siguiente generación solo pasan aquellas reglas que han superado un cierto valor de evaluación. El proceso vuelve a repetirse un cierto número de veces hasta que se alcanza un cierto criterio de parada (todas las reglas por encima de cierto valor de evaluación). Con todas las reglas resultantes, GARP genera un fichero de reglas con el que crea el mapa de distribución definitivo. GARP añade un proceso de mutación y recombinación de reglas estocástico en el paso de una generación a otra, por lo que el resultado no es determinista. Una sola simulación de GARP es una superficie binaria de presencia-ausencia. Para generar una superficie continua, se generan “n” modelos y se suman. Las Redes Neuronales Artificiales (NN en el flujo) son conjuntos interconectados de neuronas artificiales organizados en capas, que tienen como objetivo proporcionar respuestas a un problema concreto del mismo modo que lo haría un cerebro humano. La red neuronal del algoritmo tiene tres capas. En la capa de entrada la red tiene tantas neuronas como variables ambientales se usan para calibrar el modelo. En la segunda un número de neuronas determinado empíricamente, y una sola neurona en la capa de salida. El algoritmo de aprendizaje de la red se basa en un mecanismo de retropropagación. A la red se le “muestran” los puntos de presencia de la especie y puntos aleatorios (con sus respectivos valores sobre las variables ambientales), y se le pide que clasifique un punto cualquiera como presencia o ausencia. La red clasifica el punto, y compara el resultado con la realidad. La diferencia entre la predicción de la red y la realidad da lugar a un reajuste en la ponderación de las conexiones entre neuronas “aguas arriba”. Esta operación se sigue repitiendo hasta que el error posible queda por debajo de cierto grado de tolerancia. Este algoritmo es de reciente incorporación en OpenModeller, y sus resultados aún están poco probados. El algoritmo de Máxima Entropía (ME en el flujo) es un método de propósito general diseñado para generar predicciones a partir de información incompleta. MaxEnt utiliza un mecanismo de inteligencia artificial para buscar iterativamente la distribución de probabilidad de presencia de la especie más uniforme posible (con la máxima entropía). Esta ecuación se proyecta al espacio geográfico con un rango de valores de 0 a 100 que expresa en valores relativos la idoneidad del hábitat para la especie. MaxEnt está muy extendido en el ámbito académico por la calidad de los resultados que proporciona y el sencillo uso de su interfaz. Los Support Vector Machines (VM en el flujo) son métodos de aprendizaje artificial diseñados para clasificar grupos. El algoritmo toma como entrada dos vectores

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

39

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS de datos (presencias y puntos aleatorios) en un espacio de n dimensiones determinado por las variables ambientales. El quid de la cuestión está en generar un hiperplano (el equivalente de un plano en un espacio de n dimensiones) que maximice las diferencias entre ambos vectores. Cuanto mayor es la distancia entre un objeto concreto y el hiperplano, mayor será la seguridad de pertenencia al grupo a ese “lado” del hiperplano.

Anexo 2: Evaluación estadística de modelos El objetivo de este anexo es describir los métodos de evaluación aplicados a los modelos de distribución en el flujo de trabajo, y explicar el contenido de la salida gráfica asociada a dicho análisis. La evaluación estadística de los modelos de distribución es un paso fundamental para obtener información objetiva sobre su fiabilidad, sobre todo cuando se trabaja con especies poco conocidas por el usuario. En este caso se trata de medir el poder de discriminación del modelo, basándonos en los valores de los puntos de evaluación y de n puntos aleatorios sobre el modelo. En esta evaluación tiene mucha importancia la escala geográfica de la evaluación. La evaluación de modelos se realizará a las dos escalas comentadas a lo largo de este trabajo: escala local y global. En el caso de especies muy extendidas geográficamente, ambas escalas pueden coincidir, con lo que no sería necesaria esta distinción. Pero no se ha implementado ningún mecanismo de control al respecto. El procedimiento de evaluación es efectuado en Octave, mediante el script 8 EVALUA MODELOS.m, diseñado para evaluar los modelos según un método habitual en la cultura de los MDEs: Área bajo la curva ROC (AUC). Área bajo la Curva ROC (AUC): Es un método estándar de evaluación, que normalmente se aplica a modelos de distribución que utilizan como entrada presencias y ausencias. En el caso que nos ocupa, siendo modelos basados solo en presencia, se sustituyen las ausencias por puntos generados al azar. Un único cálculo de curva ROC implica calcular, para cada valor de idoneidad del modelo los siguientes valores: Sensibilidad: es la fracción de aciertos del modelo discriminando registros de presencia (incluyéndolos en el modelo). Si de un total de 10 registros de presencia, el nivel de idoneidad 80 engloba 7 registros, la sensibilidad asociada es 0,7. Especificidad: es la fracción de aciertos del modelo discriminando registros aleatorios (excluyéndolos del modelo). Si de un total de 10 registros aleatorios, el nivel de idoneidad 80 engloba 4 registros, la especificidad asociada es 0,4. Para calcular la curva ROC se dibujan en una gráfica los valores de Sensibilidad y 1-Especificidad correspondientes a cada nivel de idoneidad del modelo, y se unen

TRABAJO DE FIN DE MASTER mediante líneas. Posteriormente se calcula mediante un método geométrico el área que queda por debajo de de la curva para obtener el valor AUC. Si AUC está cercano a 1, el modelo tiene una alta capacidad para discriminar presencias y puntos aleatorios. Si AUC está cercano a 0,5, el modelo no es capaz de discriminar entre ambos tipos de registros más allá de lo esperado por azar. Estrictamente, AUC indica la probabilidad de que, tomados al azar un punto de evaluación y un punto aleatorio, el punto de evaluación tenga, sobre el modelo evaluado, un valor de idoneidad mayor que el punto aleatorio. Como la posición concreta de los puntos aleatorios tiene importancia en el cálculo del valor AUC, se utilizan miles de puntos aleatorios, y se calcula AUC miles de veces, manteniendo siempre los puntos de evaluación, pero reemplazando cada vez los puntos aleatorios. Cuando se comparan varios modelos, como veremos a continuación, se dispone de varios miles de valores de AUC, por lo que resulta una comparación estadísticamente robusta. Para combinar los valores de AUC obtenidos para los dos ámbitos geográficos, se calcula un Índice Compuesto, en el que los resultados de la evaluación local se ponderan al doble que los de la evaluación global, y de forma que el máximo posible en la suma de ambos sea igual a 1, para mantener la escala de referencia original entre 0 y 1 Correlación entre mediana de idoneidad y desviación estándar del ensamblado En este proyecto se explora también como un potencial índice de fiabilidad la correlación que existe entre la mediana de idoneidad de los modelos, y el valor de desviación estándar. La desviación estándar es más baja en aquellos lugares para los que los modelos coinciden en sus valores de idoneidad. Al contrario, la desviación es alta en aquellos lugares en los que hay desacuerdo entre los modelos. La idea que se explora es la siguiente: cuanto mayor es el promedio de idoneidad y menor es la desviación estándar en los lugares en los que la especie está presente, más robusto es el ensamblado (porque está determinando el grado de idoneidad con menor dispersión). Esta relación se calcula haciendo un análisis de regresión lineal entre los valores de EC y los valores de DE en las localidades con puntos de evaluación. La medida de robustez es el coeficiente de correlación de Pearson obtenido del análisis de correlación. Los resultados de los distintos tests se muestran en la Figura 38. Los gráficos AUC local y AUC global muestran la distribución de los valores de AUC en sus respectivos ámbitos geográficos. Las líneas horizontales rojas (solo visibles en el primero de ellos en este caso) muestran el límite inferior de fiabilidad (0,5), la línea verde indica el valor promedio del conjunto, y la línea negra marca la mejor mediana del conjunto. Según el valor de AUC local en este gráfico, el modelo que mejor discrimina las presencias de la especie de los puntos aleatorios a escala local es MaxEnt

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

40

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS (ME), seguido de Support Vector Machines (VM) y el ensamblado (EC). El peor modelo en este sentido sería GARP (GA). Según el gráfico de AUC global, son ME y EC los mejores modelos, mientras que el peor, a esta escala, es la Distancia de Chebyshev (CH).

TRABAJO DE FIN DE MASTER ambos, indicando que en este ensamblado, los valores de idoneidad de los distintos modelos presentan una menor dispersión cuanto mayor es la idoneidad.

Anexo 3: Actores de Kepler Kepler tiene un gran número de actores en su biblioteca de componentes, y en este proyecto realmente se ha utilizado una pequeña proporción de ellos. En la Figura 39 se muestran los actores de Kepler más utilizados en el flujo de trabajo y se esbozan sus funciones. File Reader: Lee un fichero de texto accediendo a él a través de una ruta local o una URL (puerto fileOrURL), con lo que el contenido del fichero pasa al flujo de trabajo a través del puerto output. Text File Writer: Lee un flujo de texto entrante (puerto string), lo escribe en la ruta indicada a través de fileToWrite, y emite la ruta del fichero escrito (puerto fileWritten). String Replace: Reemplaza una cadena (pattern) por otra (replacement) en un flujo de texto (stringToEdit), emitiendo la cadena con el texto reemplazado (output). Display: Muestra en una ventana la información que le llega a través de input. Repeat: Lee y repite un paquete un número determinado de veces predeterminado por el usuario. Similar a un loop en un lenguaje de programación convencional. Composite actor: Diseñado para contener flujos de trabajo completos. Array Accumulator: Recibe elementos aislados y los devuelve como una cadena. Array Sort: Ordena un listado de elementos según un criterio predeterminado por el usuario. Expression To Token: Recibe como entrada una expresión (e.j. 2+2) y devuelve el resultado. Comparator: Lee dos valores (left y right), y los compara entre sí según el criterio seleccionado por el usuario. Si el criterio se cumple emite un TRUE, y si no se cumple, emite un FALSE.

Figura 38: Gráficos de evaluación incluidos en el informe de resultados.

Ramp: Es equivalente a un bucle “for loop” de un lenguaje de programación convencional. Genera valores en cada iteración según el valor de paso step.

El gráfico Índice compuesto muestra la contribución relativa de cada componente del índice según un código de colores. En este caso es ME el modelo con mejores resultados, seguido de VM y EC.

Boolean Switch: A través de control recibe un token booleano (TRUE o FALSE). Dependiendo del valor recibido, envía el input por la salida correspondiente. Es un actor de control de flujo utilizado para implementar ramificaciones condicionales (equivalente a un “if”).

En el gráfico Relación entre idoneidad y desviación cada punto naranja representa un registro de evaluación y sus valores correspondientes de mediana de idoneidad y desviación estándar. El resultado muestra correlación negativa entre

Directoriy Listing: Lee un directorio (directoryOrURL) e introduce en el flujo de trabajo una lista de los elementos del directorio.

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

41

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

TRABAJO DE FIN DE MASTER Is Present: Comprueba la existencia de un fichero en el PC. Si el fichero está presente emite un TRUE, y si está ausente un FALSE. DDF Boolean Select: Recibe dos entradas (trueInput y falseInput) y un token booleano de control. Emite la entrada correspondiente con el token que recibe. Es un actor difícil de manejar, con un comportamiento poco intuitivo, y que solo funciona con el director DDF. Sus aplicaciones entran en el área de “avanzadas”. Permite la ramificación condicional de un flujo de trabajo.

Anexo 4: Código fuente de los scripts En este proyecto los scripts son los que hacen en trabajo “duro”. Para facilitar su interpretación, todos llevan un prefijo numérico, según su orden de ejecución dentro del flujo. A continuación se describen brevemente, y se muestran las secciones de código más interesantes. Pulsando sobre el título con el nombre del script puede accederse a la versión completa del código resaltado para su visualización en un navegador web.

Flujo PRP 1_inicia_EXTRAE_COORDENADAS.sh Este script es ejecutado por el actor EXTRAE_XY, y lanza la ejecución de un batch-job de GRASS, pasándole las variables del fichero VARIABLES.

Figura 39: Actores de Kepler utilizados en este proyecto.

String Constant: Contiene una cadena de texto, generalmente una ruta, una expresión o una orden, y la emite a través de output. Se utiliza, entre otras cosas, para pasar órdenes al siguiente actor. External Execution: Permite llamar a una aplicación externa o a un script. Acepta un comando (command) y un directorio de trabajo para ejecutar su tarea. Se utiliza para llamar los scripts de Bash, R, Octave y GRASS. Expresión de R: Los actores R son muy flexibles, y pueden modificarse a voluntad alterando el código y los puertos. El que se muestra lee una tabla, pero pueden hacer casi cualquier cosa. Sin embargo, no ha sido posible utilizarlos para generar los gráficos del flujo. Se ha mostrado más potente la posibilidad de invocar los scripts de R mediante External Execution.

#indica el batch-job de GRASS que se va a ejecutar export GRASS_BATCH_JOB=$DIR_RAIZ/PROGRAMAS/SCRIPTS/2_ejecuta_EXTRAE_COORDENADAS.txt # inicia el batch-job de GRASS en el mapset EVALUACION grass63 -text $DIR_GRASS_EV

2_ejecuta_EXTRAE_COORDENADAS.txt Este script realiza la secuencia de rasterización y vectorización de polígonos diseñada para transformarlos en nubes de puntos. Importa un shp y devuelve un fichero de texto con las coordenadas de la nube de puntos. # TRATAMIENTO DEL SHAPEFILE DE PRESENCIA DE LA ESPECIE # importacion de las entidades poligonales v.in.ogr -o dsn=$DIR_RAIZ/PRESENCIA_SHP/${NOM_ESPECIE}.shp output=$ {NOM_ESPECIE}_PRESENCIA min_area=0.0001 snap=-1 --overwrite # calculo de centroides v.centroids input=${NOM_ESPECIE}_PRESENCIA output=$

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

42

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS {NOM_ESPECIE}_CENTROIDES option=add layer=1 cat=1 step=1 # conversion de los centroides en puntos v.type.sh input=${NOM_ESPECIE}_CENTROIDES output=$ {NOM_ESPECIE}_CENTROIDES_pt 'type=centroid to point' # renombrado de fichero vectorial de centroides g.rename vect=${NOM_ESPECIE}_CENTROIDES_pt,${NOM_ESPECIE}_CENTROIDES # rasterizacion de los centroides v.to.rast input=${NOM_ESPECIE}_CENTROIDES output=$ {NOM_ESPECIE}_CENTROIDES use=val type=point layer=1 value=1 rows=4096 --overwrite # rasterizacion del shapefile de presencia de la especie v.to.rast input=${NOM_ESPECIE}_PRESENCIA output=${NOM_ESPECIE}_PRESENCIA use=val type=point,line,area layer=1 value=1 rows=4096 --overwrite # union de los raster CENTROIDES y PRESENCIA en el raster CELDAS r.patch input=${NOM_ESPECIE}_CENTROIDES,${NOM_ESPECIE}_PRESENCIA output=${NOM_ESPECIE}_CELDAS --overwrite # vectorizacion del raster CELDAS r.to.vect input=${NOM_ESPECIE}_CELDAS output=${NOM_ESPECIE}_PUNTOS feature=point # elimina la columna "value" de la tabla del vectorial PUNTOS v.db.dropcol map=${NOM_ESPECIE}_PUNTOS layer=1 column=value # renombra la columna "label" como "TIPO" v.db.renamecol map=${NOM_ESPECIE}_PUNTOS layer=1 column=label,TIPO # actualiza los valores del campo "TIPO" a la cadena "PTS_INICIALES" v.db.update map=${NOM_ESPECIE}_PUNTOS layer=1 column=TIPO value="PTS_INICIALES" # GENERA RECTANGULO CON EL AMBITO DE PRESENCIA DE LA ESPECIE # prepara un buffer de 2000 metros sobre el vectorial PUNTOS v.buffer input=${NOM_ESPECIE}_PUNTOS output=$ {NOM_ESPECIE}_CELDAS_BUFFER type=point layer=1 buffer=2000 scale=1.0 tolerance=0.01 --overwrite # configura el tamano de la region al vectorial CELDAS_BUFFER. Esta region es el ambito de presencia de la especie g.region vect=${NOM_ESPECIE}_CELDAS_BUFFER # genera un rectangulo vectorial adaptado al tamano de la region definida en el paso anterior v.in.region output=${NOM_ESPECIE}_AMBITO type=line # vuelve a configurar la region a las medidas de la mascara g.region rast=MASK # configura la resolucion de trabajo segun la establecida por el usuario en el parametro RESOLUCION

TRABAJO DE FIN DE MASTER g.region res=$RESOLUCION # elimina fichero vectorial que ya no es necesario g.remove vect=${NOM_ESPECIE}_CELDAS_BUFFER

3_PROCESA_COORDENADAS.m Es el script de Octave que mide la distancia entre puntos, descartando todos aquellos que no cumplen la condición de mínima distancia. Lo lanza el actor PROCESA_XY (ver Figura 7). Requiere las rutinas de Octave intrlv.m, randintrlv.m, randseed.m, csvwrite.m y dlmwrite.m (no están incluidas por defecto en la instalación de Octave, por lo que el flujo de trabajo ya las proporciona). Solo se muestran los elementos principales del código. % parametros de entrada UMBRAL = load('MIN_DIS'); PORCENTAJEEVALUACION = load('PARTICION'); % carga el archivo de presencias PRESENCIAS = load ('PRESENCIAS.txt'); % importa el archivo de coordenadas en formato xy (texto ascii, formato: 550721 4097642) XY = sortrows (PRESENCIAS); TAMANOMUESTRA = rows (XY); % determina el numero de puntos totales % bucle que elimina puntos si no cumplen el criterio MIN_DIS for PUNTOREFERENCIA = 1:TAMANOMUESTRA; for PUNTOSIGUIENTE = PUNTOREFERENCIA + 1:TAMANOMUESTRA; DISTX = (XY (PUNTOREFERENCIA,1) - XY (PUNTOSIGUIENTE,1)); DISTY = (XY (PUNTOREFERENCIA,2) - XY (PUNTOSIGUIENTE,2)); DISTANCIA = ((DISTX * DISTX) + (DISTY * DISTY))^(1/2); if (DISTANCIA < UMBRAL); % CONDICION DE MINIMA DISTANCIA XY (PUNTOSIGUIENTE, :) = 0; end end end % generacion de muestras aleatorias CALIBRADO (1, 2) = zeros; % inicia la matriz calibrado EVALUACION (1, 2) = zeros; % inicia la matriz evaluacion SEMILLAALEATORIA = randseed; % semilla de aleatorizacion XYORDENADO = randintrlv (XYORDENADO, SEMILLAALEATORIA); % CALCULA LOS TAMA�OS DE MUESTRA DE CALIBRADO Y EVALUACION SEGUN EL PORCENTAJE DE PUNTOS QUE SE UTILIZARAN PARA EVALUAR PORCENTAJECALIBRADO = (100 - PORCENTAJEEVALUACION);

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

43

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS TAMANOEVALUACION = round ((PORCENTAJEEVALUACION * NUMEROPRESENCIAS) / 100); TAMANOCALIBRADO = round ((PORCENTAJECALIBRADO * NUMEROPRESENCIAS) / 100); % GENERACION DE MUESTRAS ALEATORIAS CALIBRADO (1, 2) = zeros; % INICIA LA MATRIZ CALIBRADO EVALUACION (1, 2) = zeros; % INICIA LA MATRIZ EVALUACION SEMILLAALEATORIA = randseed; % SEMILLA DE ALEATORIZACION XYORDENADO = randintrlv (XYORDENADO, SEMILLAALEATORIA); % REORDENA ALEATORIAMENTE LA MATRIZ XYORDENADO SEGUN EL ESTADO DE LA SEMILLA ALEATORIA CALIBRADO = XYORDENADO (TAMANOEVALUACION + 1:NUMEROPRESENCIAS, :); % CREA LA MATRIZ CALIBRADO, QUE CONTIENE LAS COORDENADAS DE CALIBRADO DE LA MUESTRA n EVALUACION = XYORDENADO (1:TAMANOEVALUACION, :); % CREA LA MATRIZ EVALUACION, QUE CONTIENE LAS COORDENADAS DE EVALUACION DE LA MUESTRA n PRESENCIASfinal = vertcat (CALIBRADO,EVALUACION);

4_FORMATEA_ARCHIVOS.sh Es un script lanzado por el actor RENOMBRA_FICHEROS (ver Figura 7), que usa la orden mv de bash para mover y renombrar ficheros. Su código no tiene mayor interés.

Flujo MODPLAN 5_OM_UNE_CABECERA_PARAMETROS.sh

TRABAJO DE FIN DE MASTER TEMPORAL/OM_EVALUACION_${ALGORITMO}.txt sed -i "s/NOMBRE_ALGORITMO/${ALGORITMO}/g" $DIR_RAIZ/TEMPORAL/OM_EVALUACION_${ALGORITMO}.txt done

6_inicia_MODELOS_EVALUACION.sh Controlado por el actor EJECUTA_MODELOS (Figura 14), este script ejecuta los modelos de OpenModeller invocando los ficheros de configuración generados por el script anterior, y ejecuta el modelo MaxEnt. Posteriormente inicia el batch-job de GRASS que los procesa. ALGORITMOS_OM=`echo CH EU GA MH MN NN VM` export ALGORITMOS_OM # ejecuta los modelos de OpenModeller for ALGORITMO in $ALGORITMOS_OM; do om_console OM_EVALUACION_${ALGORITMO}.txt done # ejecuta MaxEnt java -mx2600m -jar maxent.jar -a -r -C -z -m 500 -B 10000 -c 0.0001 nowarnings adjustsampleradius=0 -e $DIR_RAIZ/VARIABLES/CALIBRADO -s $DIR_RAIZ/RESULTADOS/$ESP_SELECCIONADA/PRESENCIA/CALIBRADO_$ESP_SELECCIONADA.csv -o $DIR_RAIZ/RESULTADOS/$ESP_SELECCIONADA/EVALUACION

Una vez terminado el batch-job (no se ha mostrado la línea que lo lanza), el script reorganiza los ficheros de definición de modelos, borra los mapas .asc que ya están en GRASS, y compone los mapas de visualización de los resultados, pegando la vista general y la vista de detalle (ver Figura 21) mediante una orden de ImageMagick como esta: convert +append -border 1 -bordercolor white 1.png 12.png 5_CH.png

7_ejecuta_MODELOS_EVALUACION.txt

Un fichero de ejecución de OpenModeller tiene una cabecera, en la que se configuran las rutas de acceso a datos, y una sección en la que se configuran los parámetros de cada algoritmo. El script utiliza un bucle que itera sobre una lista con los acrónimos de los modelos para pegar la cabecera con sus respectivos ficheros de parámetros de los modelos.

Este batch-job importa y ensambla los modelos, extrae los valores sobre los modelos de los puntos de calibrado y evaluación, genera puntos aleatorios y extrae los valores de esos puntos sobre los modelos, prepara los ficheros de evaluación y genera mapas de los modelos.

ALGORITMOS_OM=( CH EU GA MH MN NN VM ) for ALGORITMO in ${ALGORITMOS_OM[@]};do cat $DIR_RAIZ/TEMPORAL/OM_CABECERA.txt $DIR_RAIZ/PROGRAMAS/SCRIPTS/OM_PARAMETROS_${ALGORITMO}.txt > $DIR_RAIZ/

# IMPORTACION DE MODELOS for MODELO in $ALGORITMOS_OM ; do r.in.arc input=$DIR_RAIZ/RESULTADOS/$ESP_SELECCIONADA/EVALUACION/$ {ESP_SELECCIONADA}_${MODELO}.asc output=${ESP_SELECCIONADA}_${MODELO} type=FCELL mult=100 --overwrite

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

44

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS done r.in.arc input=$DIR_RAIZ/RESULTADOS/$ESP_SELECCIONADA/EVALUACION/$ {ESP_SELECCIONADA}_ME.asc output=${ESP_SELECCIONADA}_ME type=FCELL mult=1 --overwrite # ENSAMBLADO DE MODELOS # calcula mediana de modelos r.series input="`g.mlist pattern="${ESP_SELECCIONADA}_??" sep=,`" output=${ESP_SELECCIONADA}_EC method=median --overwrite # calcula la desviacion estandar r.series input="`g.mlist pattern="${ESP_SELECCIONADA}_??" sep=,`" output=${ESP_SELECCIONADA}_DE method=stddev –overwrite # CONSULTA Y EXPORTACION DE LOS VALORES DE LOS PUNTOS SOBRE LOS MODELOS # itera sobre la lista de modelos for ALGORITMO in $ALGORITMOS_ALL ; do # anade columna con el nombre del modelo v.db.addcol map=${ESP_SELECCIONADA}_CALIBRADO_EVALUACION layer=1 columns="${ALGORITMO} double precision" # actualiza el campo con los valores correspondientes a los puntos v.what.rast vector=${ESP_SELECCIONADA}_CALIBRADO_EVALUACION raster=$ {ESP_SELECCIONADA}_${ALGORITMO} layer=1 column=${ALGORITMO} done # exporta y edita la tabla con los valores de los puntos de evaluacion para calcular los puntos de corte echo "SELECT * FROM ${ESP_SELECCIONADA}_CALIBRADO_EVALUACION WHERE CODE=1" | db.select nv=0 > $DIR_RAIZ/TEMPORAL/VALORES_PUNTOS_EVALUACION.txt #GENERACION DE PUNTOS ALEATORIOS SOBRE LOS MODELOS #genera puntos aleatorios para todo el territorio (ambito global) v.random -d output=ALEATORIOS_GLOBAL n=10000 zmin=0.0 zmax=0.0 #rasteriza los puntos; de este modo, aquellos que quedan fuera de la mascara desaparecen v.to.rast input=ALEATORIOS_GLOBAL output=ALEATORIOS_GLOBAL use=val type=point layer=1 value=1 rows=4096 --overwrite # vectoriza de nuevo los puntos. Ahora no estan los que quedaban fuera de la mascara r.to.vect input=ALEATORIOS_GLOBAL output=ALEATORIOS_GLOBAL feature=point --overwrite # elimina la tabla del fichero vectorial para sustituirla por otra nueva v.db.droptable -f map=ALEATORIOS_GLOBAL layer=1 #crea una tabla para los puntos aleatorios con tres columnas v.db.addtable map=ALEATORIOS_GLOBAL layer=1 columns="cat integer, TIPO

TRABAJO DE FIN DE MASTER varchar(25), CODE integer" # loop que itera sobre la lista de modelos for ALGORITMO in $ALGORITMOS_ALL; do # crea nueva columna en la tabla de ALEATORIOS con el nombre del algoritmo v.db.addcol map=${ESP_SELECCIONADA}_ALEATORIOS layer=1 columns="${ALGORITMO} double precision" # actualiza la nueva columna con los valores del modelo v.what.rast vector=${ESP_SELECCIONADA}_ALEATORIOS raster=${ESP_SELECCIONADA}_${ALGORITMO} layer=1 column=${ALGORITMO} done #MAPA DISTRIBUCION SIMPLE # establece variables graficas de GRASS GRASS_WIDTH=2048 GRASS_HEIGHT=1290 GRASS_PS_COMPRESSION=0 GRASS_TRUECOLOR=TRUE export GRASS_WIDTH GRASS_HEIGHT GRASS_TRUECOLOR GRASS_PS_COMPRESSION g.region rast=MASK g.region res=100 # inicia monitor grafico para exportar los mapas a formato PNG d.mon start=PNG # establece fuente de texto d.font font=Vera # dibuja el mapa raster relieve d.rast RELIEVE # dibuja el mapa vectorial provincias d.vect map=PROVINCIAS type=boundary color=64,64,64 width=2 fcolor=none # dibuja la barra con la escala grafica d.barscale -t bcolor=none at=60,80 # dibuja el mapa vectorial AMBITO d.vect map=${ESP_SELECCIONADA}_AMBITO type=line color=207,40,44 width=3 #dibuja el mapa vectorial PRESENCIA d.vect map=${ESP_SELECCIONADA}_PRESENCIA type=area fcolor=207,40,44 color=207,40,44 width=2 #dibuja el mapa vectorial CENTROIDES d.vect map=${ESP_SELECCIONADA}_CENTROIDES type=point icon=basic/circle width=2 size=5 color=207,40,44 fcolor=207,40,44 # escribe texto sobre el mapa

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

45

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS d.text -b at=4,89 = PROBABILIDAD; Cmat = PRESENCIAS < PROBABILIDAD; Dmat = ALEATORIOSper < PROBABILIDAD; A(PROBABILIDAD+1,1:NUMERO_MODELOS)=sum(Amat); B(PROBABILIDAD+1,1:NUMERO_MODELOS)=sum(Bmat); C(PROBABILIDAD+1,1:NUMERO_MODELOS)=sum(Cmat); D(PROBABILIDAD+1,1:NUMERO_MODELOS)=sum(Dmat); end %CALCULO DE MEDIDAS DE PRECISION NECESARIAS PARA AUC SENSIBILIDAD (:,1:NUMERO_MODELOS) = A (:,1:NUMERO_MODELOS) ./ (A(:,1:NUMERO_MODELOS) .+ C(:,1:NUMERO_MODELOS)); ESPECIFICIDAD (:,1:NUMERO_MODELOS) = D (:,1:NUMERO_MODELOS) ./

TRABAJO DE FIN DE MASTER (B(:,1:NUMERO_MODELOS) .+ D(:,1:NUMERO_MODELOS)); FRACCIONFALSOSPOSITIVOS (:,1:NUMERO_MODELOS) = 1 .ESPECIFICIDAD(:,1:NUMERO_MODELOS); %CALCULO AUC for PROBABILIDAD = 1:100 %ITERA EN CADA VALOR DE IDONEIDAD AUC (ITERACION, 1:NUMERO_MODELOS) = AUC (ITERACION, 1:NUMERO_MODELOS) .+ (SENSIBILIDAD (PROBABILIDAD .+ 1, 1:NUMERO_MODELOS) .+ SENSIBILIDAD (PROBABILIDAD, 1:NUMERO_MODELOS)) ./ 2 .* (FRACCIONFALSOSPOSITIVOS (PROBABILIDAD, 1:NUMERO_MODELOS) .- FRACCIONFALSOSPOSITIVOS (PROBABILIDAD .+ 1, 1:NUMERO_MODELOS)); end end

9_ORGANIZA_EVALUACION.sh Lanzado por el actor PREPARA_FICHEROS (Figura 14), este script es un flujo de texto basado en cat, cp, mv, y sobre todo, sed, para preparar los ficheros resultantes de la evaluación. Algunos se almacenan directamente, y otros son para generar las gráficas de evaluación.

10_GRAFICOS_EVALUACION.r Es un script de R, lanzado por el actor GRAFICOS (Figura 14), preparado para generar las siguientes gráficas: histogramas del ensamblado y comparativa de índices de evaluación. Se muestra como ejemplo el código del boxplot de AUC local. # inicia salida grafica pdf("GRAFICOS_EVALUACION.pdf", width=9, height=7) par(mfrow=c(2,2), cex=0.6, mar=c(4,4,2,1), oma=c(2,2,4,3)) # lee la tabla con los valores de AUC local AUC_LOCAL ${DIR_RAIZ}/TEMPORAL/PARCHES_POLIGONOS_CONTINUO_2000.txt #lee la ultima linea de la tabla del vectorial, para extraer el numero de parches de la columna "cat" tail -1 ${DIR_RAIZ}/TEMPORAL/PARCHES_POLIGONOS_CONTINUO_2000.txt | sed 's/|1|0//g' > ${DIR_RAIZ}/TEMPORAL/PARCHES_NUMERO_CONTINUO_2000.txt

13_inicia_PROYECCION.sh 12_ejecuta_MODELOS_CALIBRADO.sh Este batch-job importa los modelos recalibrados, los ensambla, extrae los valores de los puntos sobre los modelos, calcula el área de ocupación potencial de la especie, el número de parches de hábitat idóneo y genera los mapas del ensamblado. La mayor parte del código es similar al del script 7, por lo que solo se muestran las partes no comunes, referidas al cálculo de área y número de parches. # CALCULO DE AREA DE OCUPACION Y NUMERO DE PARCHES # copia el fichero RECODE_ENSAMBLADO_CONTINUO a TEMPORAL cp $DIR_RAIZ/PROGRAMAS/SCRIPTS/RECODE_ENSAMBLADO_CONTINUO $DIR_RAIZ/TEMPORAL # sustituye en el fichero la clave UMBRAL_ENSCON sed -i "s/UMBRAL_ENSCON/$UMBRAL_ENSCON/g" $DIR_RAIZ/TEMPORAL/RECODE_ENSAMBLADO_CONTINUO # recodifica el modelo de idoneidad r.recode input=${ESP_SELECCIONADA}_EC_2000 output=${ESP_SELECCIONADA}_EC_2000_area1 rules=$ {DIR_RAIZ}/TEMPORAL/RECODE_ENSAMBLADO_CONTINUO #filtro de mediana con kernel 3x3 para eliminar celdas aisladas r.neighbors input=${ESP_SELECCIONADA}_EC_2000_area1 output=${ESP_SELECCIONADA}_EC_2000_area2 method=mode size=3 #elimina los valores 0 del mapa, preparandolo para su vectorizacion r.null map=${ESP_SELECCIONADA}_EC_2000_area2 setnull=0 #extrae la suma de celdas del mapa binario r.sum rast=${ESP_SELECCIONADA}_EC_2000_area2 >> $ {DIR_RAIZ}/TEMPORAL/AREA_CONTINUO_2000.txt #elimina una cadena de caracteres sed -i 's/SUM = //g' ${DIR_RAIZ}/TEMPORAL/AREA_CONTINUO_2000.txt

Este script se encarga de proyectar las definiciones de los modelos sobre las variables de los escenarios. El script utiliza dos bucles anidados. El primero itera sobre la lista de escenarios. En cada iteración lanza el batch-job 14 ejecuta PROYECCION.txt, que procesa los modelos proyectados. El bucle anidado itera sobre la lista de algoritmos. ESCENARIO=`echo LISTA_ESCENARIOS` # itera sobre cada elemento de la lista de escenarios for nombre_escenario in ${ESCENARIO[@]}; do # copia las definiciones de los modelos al directorio PROYECCION cp $DIR_RAIZ/RESULTADOS/${ESP_SELECCIONADA}/PROYECCION/MODELOS/*.xml $DIR_RAIZ/RESULTADOS/${ESP_SELECCIONADA}/PROYECCION # reemplaza en las definiciones de los modelos la cadena CALIBRADO por la cadena PROYECCION/NOMBRE_ESCENARIO rpl /CALIBRADO /PROYECCION/${nombre_escenario} *.xml # lista de algoritmos de OpenModeller ALGORITMOS_OM=`echo CH EU GA MH MN NN VM` export ALGORITMOS_OM for ALGORITMO in $ALGORITMOS_OM; do # proyecta modelos OpenModeller om_project --model ${ESP_SELECCIONADA}_${ALGORITMO}.xml --format FloatingASC --dist-map ${ESP_SELECCIONADA}_${ALGORITMO}.asc done # proyecta modelo MaxEnt java -mx2600m -cp maxent.jar density.Project ${ESP_SELECCIONADA}.lambdas $DIR_RAIZ/VARIABLES/PROYECCION/${nombre_escenario} $ {ESP_SELECCIONADA}_c_ME.asc dontextrapolate dontwriteclampgrid done

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO

47

BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS

14_ejecuta_PROYECCION.txt Este batch-job de GRASS hace las mismas tareas que el 12, pero añadiendo a cada resultado el nombre del escenario correspondiente, por lo que su código no tiene mayor interés.

15_inicia_ANALISIS_FINALES.sh Es un script de bash lanzado por el actor ANALISIS (Figura 16). Su misión principal es lanzar el batch-job 16 ejecuta ANALISIS FINALES.txt, preparar los ficheros para las gráficas de área y número de parches, y limpiar directorios con ficheros temporales que ya no son necesarios.

16_ejecuta_ANALISIS_FINALES.txt Se encarga de hacer el mapa de diferencias entre modelos, el mapa de persistencia y exportar la tabla VALORES_PUNTOS con el muestreo realizado a todos los ensamblados generados. # calcula diferencias entre el modelo continuo calibrado y el modelo continuo de evaluacion r.mapcalc ${ESP_SELECCIONADA}_DIFERENCIAS_EC=$ {ESP_SELECCIONADA}_EC_2000-${ESP_SELECCIONADA}_EC # calcula mapa de persistencia sumando modelos de idoneidad transformados en binarios r.series input="`g.mlist pattern="${ESP_SELECCIONADA}_EC_??_????_area1" sep=,`" output=${ESP_SELECCIONADA}_PERSISTENCIA_1 method=sum --overwrite # recodifica el mapa en valores de 0 a 100 r.recode input=${ESP_SELECCIONADA}_PERSISTENCIA_1 output=${ESP_SELECCIONADA}_PERSISTENCIA rules=$ {DIR_RAIZ}/PROGRAMAS/SCRIPTS/RECODE_MAPA_PERSISTENCIA –overwrite

17_GRAFICOS_ANALISIS_FINALES.r Este script de R, lanzado por el actor GRAFICOS3 (Figura 16) se encarga de leer los datos, organizarlos y generar gráficos descriptivos. # carga tabla VALORES_PUNTOS DATOS