Sei sulla pagina 1di 50

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
blasbenito@gmail.com
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 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.
PRESENTACIÓN
En algunos de estos entornos de modelado se omite sistemáticamente
La aplicación de las nuevas tecnologías de la información al tratamiento una fase de gran importancia para garantizar la calidad de los resultados: la
geográfico de datos de biodiversidad no es un campo nuevo, porque viene preparación de los datos de presencia de las especies (pares de coorde-
desarrollándose desde los comienzos de los Sistemas de Información nadas indicando localidades en las que se confirmó la presencia de indivi-
Geográfica. Pero en los últimos años se está originando una expansión duos de la especie), dejando esta completamente en manos del investigador,
notable en sus aplicaciones, motivada por la reducción de costes de hard- cuando se trata de un trabajo laborioso y apenas normalizado.
ware, 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 Una segunda limitación consiste en la aplicación de un único algoritmo
sinergia de factores, y del esfuerzo de investigadores que han comprendido para generar los MDEs (excepto OpenModeller, que se tratará en profun-
la importancia de las nuevas tecnologías en su área de trabajo, se habla didad en una sección posterior), cuando actualmente se acepta que la mejor
cada vez mas de una disciplina con entidad propia, la Ecoinformática (o aproximación es generar varios modelos de la misma especie con diferentes
Informática de la Biodiversidad), en la que se funden teorías de biología y algoritmos y ensamblarlos para obtener lo que se denominan superficies de
ecología con los Sistemas de Información, especialmente con los enfocados consenso (Araújo y New 2007). Hasta la fecha no existe ninguna aplicación
al tratamiento de información geográfica. que genere y ensamble resultados de distintos algoritmos, por lo que el
procedimiento debe hacerse manualmente operando con los mapas en soft-
Dentro de esta disciplina se está asentando una “cultura” con carácter ware con características SIG.
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 Un modelo de distribución, calibrado con las condiciones climáticas
el marco teórico del concepto “nicho ecológico”, esta disciplina depende del actuales, puede proyectarse hacia el futuro, si se dispone simulaciones
desarrollo e implementación de algoritmos diseñados para analizar las rela- climáticas para el periodo de proyección. Algunos de estos programas direc-
ciones causa-efecto que se establecen entre la presencia de una especie y tamente carecen de esta capacidad de proyección (Biomapper). Otros como
las variables ambientales que la condicionan. El resultado de un algoritmo de OpenModeller y MaxEnt si disponen de esta capacidad, pero no propor-
este tipo es un modelo numérico más o menos complejo según la técnica cionan herramientas para organizar y analizar los resultados de las proyec-
empleada, que se proyecta geográficamente en la forma de un mapa digital. ciones.
En este mapa se representa mediante una escala de valores la idoneidad del
hábitat para la especie o la probabilidad de presencia. 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
Los MDEs tienen una serie de aplicaciones prácticas que justifican sobra- fases que requieren la atención del investigador, y la operación casi manual
damente su interés: cartografía de especies en zonas de difícil acceso, loca- durante determinadas secciones del trabajo. Cuando un proyecto de mode-
lización de poblaciones de especies en peligro, análisis de fragmentación de lado implica el trabajo con muchas especies, el esfuerzo necesario se multi-
hábitat, selección de reservas, estudios biogeográficos, y más reciente- plica, y cuando los MDEs se van a proyectar sobre distintos escenarios de
mente, simulación de los efectos potenciales del cambio global. Cambio Climático, se vuelve directamente inabordable con los medios que
un usuario normal de estos programas tiene a su disposición. Cuando los
En estos últimos años, el software de modelado ha evolucionado mucho, trabajos de modelado cobran estas dimensiones, una alternativa es recurrir a
y existen algunos paquetes de gran calidad como MaxEnt, OpenModeller o combinaciones de software de modelado, SIG y un entorno de scripting (para
Biomapper, que proporcionan las herramientas apropiadas para generar un ejemplo, ver Benito-Garzón 2006), pero se requieren ciertos conoci-
modelos de distribución. Sin embargo, estos programas algunas carencias, mientos 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 TRABAJO DE FIN DE MASTER

Recientemente las posibilidades en este campo han mejorado para los variables ambientales en la distribución de la especie y análisis estadístico
usuarios con escasos conocimientos en programación gracias al desarrollo de la calidad de los modelos.
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 Análisis gráfico de los efectos potenciales del cambio del clima sobre
para usuarios sin experiencia. Como consecuencia de la emergencia de esta la especie, incluyendo: estimación del grado de estrés climático, análisis
nueva tecnología, ahora es posible combinar programas SIG y programas de temporal del área de hábitat idóneo, análisis del número de parches de
modelado mediante flujos de trabajo, para ejecutar, de modo automático, hábitat en cada intervalo, y estimas de migración altitudinal y latitudinal.
todas las tareas requeridas por un proyecto de modelado de cierta enverga-
dura. 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


OBJETIVOS 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 locali-
El objetivo general de este trabajo es ofrecer un puente de avance en la
dades, planeamiento de corredores migratorios, etc.).
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.
ANÁLISIS DE ANTECEDENTES
Objetivo principal Probablemente en nuestro país ha sido Marta Benito Garzón (Benito-
Garzón 2006) la pionera en la proyección de modelos de distribución de
El objetivo principal consiste en diseñar y desarrollar un flujo de especies biológicas sobre distintos escenarios de cambio climático pasados
trabajo automatizado de software libre para simular de los cambios y futuros. En su tesis doctoral ha ofrecido una imagen tanto retrospectiva
potenciales en la distribución de especies biológicas a consecuencia como prospectiva de la distribución espacial de las especies arbóreas más
del Cambio Climático, utilizando como caso de estudio las plantas amena- importantes de la Península Ibérica. Su desarrollo se basa en software libre,
zadas del territorio de Andalucía. utilizando GRASS para análisis SIG, R para generar los modelos de distribu-
ción (utilizando redes neuronales, árboles de regresión y el algoritmo
Random Forest como algoritmos de modelado), y como “cemento”, para
Resultados esperados permitir el flujo de datos entre los distintos paquetes y la automatización de
tareas, distintos lenguajes como bash o perl. Este interesante trabajo corres-
El flujo de trabajo desarrollado entrega los siguientes resultados: ponde a ese grupo de procedimientos que incluyen desarrollos propios, y
largas horas de programación, ensayo y error, que difícilmente serían
Modelos de distribución potencial actual y simulaciones de distribución llevados a cabo por personal sin la cualificación adecuada. No se trata de un
potencial futura de especies vegetales sobre cuatro escenarios regionali- flujo de trabajo organizado visualmente, según el concepto que se va a
zados de cambio climático para intervalos de 20 años dentro del periodo manejar durante el presente estudio, sino de un conjunto de scripts de ejecu-
2000-2100. Estos modelos se obtendrán a partir del ensamblado (calcu- ción secuencial que llevan desde los datos iniciales hasta el resultado. Otra
lando la mediana y la desviación estándar) de los resultados de ocho algo- diferencia fundamental consiste en el número de algoritmos y la ausencia de
ritmos diferentes implementados en MaxEnt y OpenModeller. 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.
Análisis de los modelos de distribución, incluyendo: influencia de las

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 TRABAJO DE FIN DE MASTER

Otro antecedente más directamente relacionado con este trabajo, puede celdas totales: 251370
encontrarse en el libro “Workflows for e-Science”, concretamente en el celdas efectivas: 136855
trabajo “Ecological Niche Modeling Using the Kepler Workflow System”
(Pennington et al. 2007), en el que los autores presentan un flujo de trabajo La resolución puede parecer grosera (porque lo es), pero teniendo en
diseñado sobre el software Kepler para llevar adelante todos los pasos cuenta la carga computacional del proceso que se pretende llevar a cabo, es
necesarios en un proyecto de modelado de gran envergadura. En esencia, el necesaria para permitir cierta fluidez en el periodo de desarrollo. El objetivo
presente trabajo y el de estos autores es similar, porque ambos siguen las es poder aplicar el resultado final de este proyecto a resoluciones entre los
convenciones más recientes en el campo de los MDEs, aunque la estructura 50 y 100 metros.
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. Esquema conceptual del proceso de modelado
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 Para entender por qué son necesarias distintas fuentes de datos, distintas
utiliza información distribuida de la red EcoGrid, planeada para análisis herramientas de software y su integración en un flujo de trabajo único, es
ecológicos a gran escala en los EEUU. En cambio el presente proyecto se necesario comprender la arquitectura conceptual del proceso de modelado
basa en un PC de sobremesa, sin utilización de recursos externos. Por tanto, propuesto en este proyecto.
existe entre ambos proyectos únicamente existe una simetría conceptual,
difiriendo bastante en cuanto a metodología. 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
METODOLOGÍA plano, según una estructura de columnas predeterminada para cada soft-
ware de modelado.
Área de trabajo Mapas digitales de variables ambientales con influencia directa o indi-
recta en la distribución geográfica de las especies de trabajo. Dos tipos de
variables se utilizan habitualmente:
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 Variables topográficas: Son constantes a lo largo del tiempo cubierto
fueron las siguientes: 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
Proyección: UTM, datum ED50, huso 30 (EPSG 23030).
especie, pero a una escala local (ámbito predictivo: de los cientos a los
Coordenadas límite: miles de metros). Cuanto mayor es la resolución espacial, mejor es la de-
norte: 4289200 finición obtenida en el modelo de distribución resultante.
sur: 3987000 Variables climáticas: Cambian durante el intervalo de tiempo que cubre
el proceso de modelado, como la precipitación anual o la temperatura
este: 620400 máxima del verano, por ejemplo. Estas variables influyen directamente
oeste: 88000 en la distribución geográfica de las especies, pero su efecto se manifies-
Resolución: 800 x 800 metros ta 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
378 filas x 665 columnas 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 TRABAJO DE FIN DE MASTER

bles topográficas. procesamiento SIG, modelado de distribución, cálculo numérico y composi-


ción de gráficos. A continuación se detallan las distintas herramientas utili-
A partir de estas entradas, el proceso MDE que va a ejecutar el flujo de zadas, con una descripción general de cada una de ellas, y un comentario
trabajo constará de cuatro fases: inicial sobre sus aplicaciones en este proyecto.
1. Preparación de los registros de presencia de las especies: Se
KEPLER
transformarán polígonos delimitando presencia de poblaciones de las es-
pecies en nubes de pares de coordenadas utilizando un criterio de dis- De todos los programas utilizados, Kepler es el menos conocido, por lo
tancia mínima entre pares, y una partición aleatoria de datos, para obte- que su descripción será algo más extensa que la del resto. Es necesario
ner un subconjunto de puntos de calibrado y otro de evaluación. entender su filosofía de trabajo y lógica interna para comprender su elección,
2. Calibrado inicial, ensamblado y evaluación de modelos: Se utilizará y su papel, dentro del proyecto.
el conjunto de puntos de calibrado para entrenar los modelos de distribu-
ción según ocho algoritmos (ver Anexo 1). Los resultados de estos algo- Kepler es un proyecto colaborativo, de código abierto (licencia BSD), que
ritmos se ensamblarán calculando la mediana de la idoneidad y la des- pretende proporcionar un “entorno de modelado y resolución de problemas”.
viación estándar de los ocho resultados anteriores, y se someterán a más concretamente, se trata de un sistema para diseñar y ejecutar flujos de
evaluación estadística utilizando la prueba AUC (ver Anexo 2). 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
3. Recalibrado del modelo y proyección sobre distintos escenarios:
científicos, como la bioinformática, la ecoinformática y la geomática entre
Para hacer uso de toda la información disponible, se recalibrarán los mo-
otros.
delos con todos los puntos de presencia disponibles. Los modelos resul-
tantes se proyectarán sobre las condiciones climáticas simuladas para
los distintos intervalos de tiempo (2000-2020, 2020-2040, 2040-2060, FLUJO DE TRABAJO: red de procesos analíticos, que puede ser
2060-2080, 2080-2100) según los cuatro escenarios de cambio climático, simple y lineal, o muy compleja y no lineal, en la que se
y los resultados se ensamblarán según el mismo método mencionado en introducen datos a través de un punto de entrada, se
el punto 2. procesan secuencialmente o en paralelo en distintos núcleos
de procesamiento, y se produce una salida de información.
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 Los actores
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 El programa Kepler se basa en un paradigma de modelado orientado a
presentación de los mapas, y la preparación de animaciones, organizán- actores. Cada uno de los componentes que ejecuta una función dentro de un
dose la información de modo automático en un documento html apropia- flujo de trabajo (por ejemplo, una entrada de datos) es un actor (ver Figura
do para su publicación en web. 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
Herramientas informáticas 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.
Las distintas etapas de procesamiento que exige el proyecto solicitan
programas con distintas capacidades, que puedan integrarse, y cuyas Kepler incluye actores con capacidades matemáticas, estadísticas, proce-
funciones principales se pueden dividir, en cinco grupos: control de flujo, samiento 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 TRABAJO DE FIN DE MASTER

con otros programas como R, Matlab o Grass. Los actores transmiten infor-
mación de unos a otros mediante canales y relaciones (ramificaciones de los
canales). Distintos actores pueden combinarse en un único actor compuesto, Una función interesante de Kepler es la posibilidad de diseñar un Actor
que adoptará las funcionalidades que le confieren los distintos actores que lo Compuesto, que permite anidar flujos de trabajo dentro de otros flujos de
forman. 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

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
Figura 1: Actor típico de Kepler con sus puertos de entrada y salida. Se unidos entre sí por canales y relaciones.
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.

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
Figura 2: Un flujo de trabajo en Kepler. El actor Datos Meteorológicos da
ha recibido datos del anterior. Este comportamiento está
entrada a una base de datos meteorológica. Cada columna de la base de datos es
definido según un algoritmo de ejecución secuencial. Ese es un puerto de salida en el actor. Los canales llevan la información hasta un actor que
el Modelo Computacional del flujo. Flujos de trabajo más utiliza el lenguaje estadístico R para generar un modelo lineal de los datos recibidos.
complejos requieren distintos algoritmos de resolución que Los datos resultantes se escriben a un fichero de texto (actor File Writer), se mues-
se implementan como distintos Modelos Computacionales en tran en una ventana en pantalla (actor Display) y se representan gráficamente en
diferentes Directores. Piense en las necesidades de un flujo un diagrama de dispersión (actor ImageJ).
con iteraciones o ramificaciones condicionales, por ejemplo.

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 TRABAJO DE FIN DE MASTER

La aparente sencillez de esta arquitectura y la facilidad de manejo del En el presente proyecto GRASS se ha ocupado del almacenamiento de
interfaz gráfico enmascaran las dificultades que ofrece el sistema al usuario toda la información geográfica, parte de la preparación de los registros de
novel. Los modelos de computación que ofrecen los distintos tipos de direc- presencia, almacenamiento y ensamblado de modelos, y composición auto-
tores obedecen a reglas que en ocasiones no son intuitivas, es difícil conocer mática de mapas, gráficos y animaciones.
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 OpenModeller
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 OpenModeller es un entorno amigable de modelado de distribución de
programación, presenta una curva de aprendizaje prolongada. Una vez especies, actualmente desarrollado por la entidad brasileña CRIA (Centro de
superadas estas dificultades, el programa proporciona características muy Referência em Informação Ambiental) con la colaboración de otras institu-
interesantes, que pretenden explotarse a lo largo de este proyecto. ciones. 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
Kepler se ha utilizado en este proyecto para diseñar y ejecutar el flujo de necesarios para generar modelos de distribución. Permite la utilización de
trabajo, llevar a cabo determinadas tareas dentro del mismo (escritura de distintos algoritmos para generar los modelos (unos 10, dependiendo de la
ficheros, organización de datos, control de iteraciones), y llamadas a ejecu- versión), la evaluación estadística de los resultados, y la exportación de los
ción para los programas necesarios. En el Anexo 3 se describen los actores modelos a distintos formatos.
más utilizados en este proyecto.
Desde el principio de su desarrollo está pensado para ser multiplata-
GRASS GIS forma, 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.
GRASS (Geographic Resources Analysis Support System) es un
programa especializado en el almacenamiento, análisis y explotación de MaxEnt
información geográfica. Desarrollado inicialmente por el laboratorio CERL
(U.S. Army Construction Engineering Research Laboratories) desde 1982, y MaxEnt es un software gratuito de código cerrado (el único sin licencia
liberado con licencia GPL en 1999, GRASS GIS es actualmente un proyecto libre de este proyecto) diseñado para generar modelos de distribución utili-
oficial de OSGeo (Open Source Geospatial Foundation). zando un algoritmo que combina el aprendizaje automático con el principio
de máxima entropía. Se utiliza para este proyecto, adicionalmente a Open-
GRASS tiene una gran capacidad de procesamiento raster (algo más limi- Modeller, por sus buenos resultados, y el fácil acceso a las funcionalidades
tada en el ámbito vectorial) y herramientas avanzadas para la visualización del programa a través de la línea de comandos, que permite su ejecución
de datos geográficos. Pero sin duda, la característica más interesante, que mediante scripts, o desde un actor modificado de Kepler.
determina su adopción como plataforma SIG para este proyecto, es su
potente lenguaje de scripting, que se integra perfectamente con el lenguaje
GNU Octave
de programación bash en sistemas unix/linux. Esta integración permite GNU Octave es un lenguaje de cálculo numérico matricial similar a
ejecutar tareas de modo automático fácilmente a través de “batch-jobs” Matlab, pero libre y gratuito (licencia GPL). Es muy potente, y permite un
(scripts con secuencias de órdenes), creando loops para trabajo reiterativo rápido desarrollo de algoritmos de cálculo gracias a un lenguaje de progra-
sobre grupos de mapas. Otras características interesantes son su gran esta- mación sencillo y bien documentado. Se accede a sus funciones a través de
bilidad y velocidad trabajando con raster de gran tamaño, y la diversidad de la línea de comandos o de scripts.
formatos de importación y exportación mediante las librerías de abstracción
GDAL-OGR. 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 TRABAJO DE FIN DE MASTER

R shapefile.
Modelo de elevaciones de 10 metros de resolución espacial, obtenido me-
El lenguaje de cálculo estadístico R, liberado bajo licencia GPL, es con diante fotorrestitución, a partir de ortofotomapas de alta resolución. El for-
seguridad el lenguaje estadístico más utilizado en el ámbito académico. A mato original es raster ESRI grid.
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 Localización geográfica de poblaciones de plantas catalogadas por la Ley
calidad de su motor gráfico y la enorme cantidad de funciones de cálculo de Andaluza de Flora y Fauna. Se trata de una cartografía de poblaciones
las que dispone. Kepler está especialmente preparado para conectar con R muy precisa, compuesta por los técnicos de la Red Andaluza de Jardines
(la versión Windows de Kepler trae R incluida), y muchos actores utilizan Botánicos, en el marco del programa FAME de la Consejería de Medio
expresiones en este lenguaje. Ambiente (Flora Amenazada). El formato original es vectorial, shapefile de
geometría poligonal.
En este proyecto se ha utilizado R para realizar algunos cálculos estadís- Registros climáticos de la red de estaciones meteorológicas de la AEMET,
ticos y composición avanzada de gráficos. obtenidos a través del Subsistema Clima de la Consejería de Medio Am-
biente, en formato DBF, cubriendo el periodo 1980-2000.
Bash
Simulaciones climáticas (temperatura y precipitación) del futuro según 4
Bash es un intérprete libre (licencia GPL) de órdenes en sistemas escenarios de cambio climático generadas por la Fundación para la Inves-
UNIX/Linux, que utiliza una sintaxis específica para llevar a cabo tareas de tigación del Clima utilizando el método de Análogos FIC. Están accesibles
distinta complejidad. En este proyecto se han utilizado scripts de Bash para vía web (www.aemet.es), y se trata de un extenso banco de datos en for-
llevar a cabo aquellas tareas para las que Kepler no dispone de actores mato texto, con simulaciones diarias de temperatura máxima, mínima y
específicos, especialmente edición de ficheros de texto. Entre otras tareas, precipitación para cada estación meteorológica del territorio español.
se ocupa de lanzar las ejecuciones de los modelos de distribución, los batch-
jobs de GRASS y el formateo de ficheros y tablas de datos. Construcción de las variables ambientales

Fuentes de datos 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
Este proyecto de modelado necesita cierto tipo y cantidad de datos autor para otros proyectos. Las que se han seleccionado para este trabajo
iniciales, procedentes de diversas fuentes. Parte importante de la informa- siguen dos criterios: tienen entre sí una correlación menor a 0,8 (según coefi-
ción geográfica primaria utilizada en este trabajo se ha obtenido de la Red de ciente de correlación de Pearson), y se tienen evidencias de su importancia
Información Ambiental de la Consejería de Medio Ambiente de la Junta de directa o indirecta en la distribución de plantas a escala local y regional.
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. El modelo de elevaciones de Andalucía de 10 metros de resolución es
Los datos meteorológicos y la simulaciones de Cambio Climático proceden demasiado pesado para manejarlo en el entorno del proyecto. Utilizando el
de la Agencia Estatal de Meteorología (AEMET) y la Fundación para la módulo de GRASS r.resamp.stats, se reescaló hasta una resolución de 40
Investigación del Clima (FIC): metros utilizando el método de agregación average. A partir de este modelo
reescalado, se derivaron las siguientes variables topográficas:
Mapa de límites administrativos de Andalucía, en formato vectorial shape-
file de geometría poligonal. Gradiente de orientación este-oeste (TP_ES_OE): a partir de una recla-
sificación (usando r.recode) de un mapa de orientaciones (obtenido me-
Mapas de poblaciones, vías de comunicación e hidrografía, en formato diante 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 TRABAJO DE FIN DE MASTER

vertienes con orientación este, y valor 0 en las orientaciones oeste. Esta predictores distintas variables según el descriptor:
variable recoge influencias de la topografía en la distribución de las espe-
Predictores de Temperatura media mínima de invierno (CL_TMNI): eleva-
cies vegetales, no relacionadas con la insolación (exposición a vientos do-
ción, distancia logarítmica a la costa, gradiente de orientación sur-norte, y
minantes, por ejemplo).
radiación solar potencial media de invierno.
Exposición topográfica en un radio de 1000 metros (TP_EXPO): esta
Predictores de Temperatura media máxima de invierno (CL_TMNV): ele-
variable indica la diferencia de altitud entre una celda, y el promedio de al-
vación y distancia logarítmica al mar Mediterráneo.
titud de las celdas circundantes en un radio de 1000 metros. Expresa nu-
méricamente el grado de exposición de un punto cualquiera del territorio a Predictores de Temperatura media máxima de verano (CL_TMXV): eleva-
los elementos atmosféricos. Las zonas expuestas como las cimas de ción, distancia logarítmica a la costa, y radiación solar potencial media de
montañas presentan valores positivos altos, mientras que las zonas res- verano.
guardadas presentan valores negativos. Para calcular esta variable, se Predictores de Precipitación media anual (CL_PA) y precipitación media
aplicó al modelo de elevaciones de 40 metros un filtro de medias circular de verano (CL_PV): distancia lineal al Océano Atlántico, distancia lineal al
en un radio de 25 celdas mediante el módulo r.neighbors, utilizando la fun- mar Mediterráneo, distancia lineal a la costa, elevación media en un radio
ción average, con una vecindad circular. A la capa resultante se le restó el de 1000 metros y exposición topográfica.
modelo de elevaciones original, para obtener los valores de exposición.
Índice topográfico de humedad (TP_ITH): este índice refleja el compor- Los residuos de los mapas de temperatura se interpolaron mediante el
tamiento hidrológico del territorio, discriminando áreas según la deposición algoritmo Inverse Distance Weighted, utilizando el módulo de GRASS
potencial de sedimentos. En ecología de plantas es importante porque re- v.surf.idw con sus opciones por defecto. Los residuales de precipitación se
fleja diferencias entre suelos profundos y poco profundos, o zonas poten- interpolaron mediante Regularized Tension Splines usando el módulo
cialmente más húmedas. Para generar este mapa, se utilizó el módulo de v.surf.rst, y aplicando un valor de tensión igual a 1000, por ser el que
GRASS r.topidx. Este algoritmo genera áreas nulas en zonas llanas de mejores resultados ofreció en las pruebas de validación. A cada mapa obte-
cierta extensión. Para solucionar este problema, se realizaron modelos a nido de la ecuación de regresión se le sumó su correspondiente mapa de
distintas resoluciones (40, 80, 160, 320, 640 y 1280 metros), y se agrega- residuales utilizando álgebra de mapas (r.mapcalc) para obtener el mapa
ron en ese orden mediante la utilidad de superposición de mapas r.patch. final de cada variable.
Pendiente (TP_PEND): Se derivó el valor en grados a partir del modelo Los mapas de temperatura y precipitación actual se calibraron con los
de elevaciones utilizando el módulo r.slope.aspect de GRASS. registros reales de temperatura y precipitación del periodo 1980-2000
Radiación solar potencial de invierno (TP_RSD_I): Esta variable se cal- tomados de la red de estaciones meteorológicas de la AEMET.
culó mediante la función de GRASS r.sun. Este módulo aplica una simula-
ción de insolación tomando como parámetros una fecha concreta (solsticio Los mapas de temperatura y precipitación futura se generaron utilizando
de invierno en este caso), y mapas de elevación, pendiente, orientación y los las estimaciones de Cambio Climático proporcionadas por la Fundación
latitud para ejecutar una simulación basada en la posición del sol y la con- para la Investigación del Clima. Estos datos son estimaciones diarias para
figuración topografía del terreno. El resultado es un mapa en el que cada cada estación meteorológica de la AEMET, obtenidos de escenarios de
celda toma el valor de la suma de potencia solar que le llega durante di- cambio climático regionalizados mediante el método de análogos FIC. El
cho día. 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
Los mapas de variables climáticas se generaron utilizando las técnicas de resultado de esta combinación, y teniendo en cuenta los mapas de condi-
regresión múltiple con corrección de residuos descritas por Ninyerola y cola- ciones actuales, se dispone de los siguientes conjuntos de variables:
boradores (Ninyerola et al. 2000). Para la temperatura se utilizaron como
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 TRABAJO DE FIN DE MASTER

climáticas del periodo 1980-2000. OpenModeller: paquetes libopenmodeller, libopenmodeller-algorithms,


20 conjuntos de proyección, 5 consecutivos por cada escenario (en seg- openmodeller-console, en su versión 0.7.0-2.
mentos de 20 años). Cada uno lleva las variables topográficas, y las varia- ImageMagick: programa libre de procesamiento de imágenes.
bles climáticas con los valores correspondientes a cada periodo y escena- Pdftk: programa libre de edición de ficheros pdf.
rio.
rpl: aplicación para reemplazo de texto en múltiples ficheros.
Un directorio dedicado para el proyecto (en adelante, DIRECTORIO
DESARROLLO DEL TRABAJO RAIZ), en el que se sitúan los directorios siguientes:
PROGRAMAS, que contiene los scripts, archivos de configuración y flu-
jos de Kepler necesarios.
Introducción
PRESENCIA_SHP, que contiene los shapefiles con la presencia de las
Durante la fase de desarrollo del proyecto se han ido diseñando y especies, nombrados con el nombre científico de la especie, sustituyen-
probando secuencialmente los distintos módulos que finalmente han do los espacios por caracteres “_”.
compuesto el flujo de trabajo. A continuación, sobre cada sección del flujo se VARIABLES, que contiene las variables ambientales usadas para cali-
expondrá una explicación inicial de los procesos de modelado a resolver, brado y proyección de modelos en formato BIL. Es muy importante que
detallando sus requerimientos y los posibles problemas que pueden deri- la resolución en x e y sean exactamente iguales (es un requerimiento de
varse. En cada caso se detalla la implementación de la solución en la forma MaxEnt)
de flujo de trabajo en Kepler. Un directorio de mapas de GRASS, con una localidad configurada para
la región de trabajo, en un sistema de referencia UTM (es un requeri-
Fase 0: Preconfiguración del entorno de trabajo miento de la rutina de Octave que calcula las distancias entre puntos de
presencia). Se requieren dos mapsets, uno para la evaluación de mode-
El entorno de desarrollo de este trabajo, además de todos los paquetes los (en adelante, “mapset EVALUACION”) y otro para la proyección (en
de software instalados, tiene una serie de requerimientos imprescindibles adelante, “mapset PROYECCION”).
para que estos funcionen perfectamente:
Sistema Linux (probado en Ubuntu Hardy Heron) con Java 1.5 o Java 6 Fase 1: Preparación de los registros de presencia
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 apare- Los modelos de distribución requieren como entrada localidades de
ce, pero en ocasiones Kepler se cae sin motivo. presencia de la especie de trabajo. Estos datos generalmente se recogen
con GPS, o se georreferencian de modo aproximado utilizando cartografía
La instalación de GRASS (versión 6.3.0), debido a un bug, exige, para el
en formato analógico. En el caso que concierne a este proyecto, la informa-
funcionamiento correcto de una función (v.type) cuando es llamada desde
ción de flora amenazada se ha recogido en campo mediante dispositivos
un script, que se copie la rutina v.type.sh desde /grass/etc/gui/scripts a
GPS, y, posteriormente, en un SIG de escritorio, se han delimitado mediante
/grass/scripts.
polígonos las poblaciones conocidas, utilizando el sistema de referencia
R (versión 2.8.1), con las siguientes librerías instaladas: vioplot, ade4, UTM, datum ED50. Esta información está almacenada como shapefiles de
gplots, geneplotter, RColorBrewer, onion, lattice, KernSmooth, ellipse, ch- geometría poligonal, no aprovechables directamente por los programas
plot, reshape, Cairo, Hmisc, pspline. MDE. Para su utilización en OpenModeller y MaxEnt, los polígonos deben
Octave (versión 3.0.0). 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 TRABAJO DE FIN DE MASTER

características: 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
Baja autocorrelación espacial: puntos demasiado cercanos entre sí apor-
por ciento de los puntos con este propósito.
tan información redundante al modelo. Un modo de disminuir esta redun-
dancia por proximidad es garantizar una distancia mínima entre pares de MIN_PRES: Número mínimo de registros de presencia necesarios para
coordenadas. que una especie pueda pasar a la fase de modelado. Un número mínimo
conservador es 30.
Deben ser separados al azar en un conjunto de calibrado (proporción ma-
yoritaria) y otro de evaluación, aplicando un proceso de partición aleatoria El flujo de trabajo está compuesto por tres actores, dos de ellos
de datos. También es importante disponer de ambos conjuntos fusiona- compuestos:
dos, para poder calibrar los modelos con toda la información disponible.
PRECONFIGURACION (Figura 4): Se encarga de preparar los directorios
Los pares de coordenadas deben estar formateados como ficheros de
de trabajo, mover los ficheros necesarios y configurar un fichero de varia-
texto plano, según una estructura de columnas específica de cada progra-
bles generales para los scripts de bash del flujo. También genera un lista-
ma de modelado.
do con los shapefiles del directorio PRESENCIA_SHP, los cuenta, y pasa
Debe existir un número mínimo de puntos que garantice cierta calidad en el resultado numérico al siguiente módulo, predeterminando el número to-
los modelos resultantes. Una única muestra con un número escaso de tal de iteraciones.
puntos no proporciona a ningún algoritmo la información suficiente para
PREPARA_XY (Figura 5): Este actor compuesto itera un número de ve-
caracterizar el hábitat apropiado para una especie. Aunque el número mí-
ces igual al parámetro NUM_ESPECIES, proporcionado por el actor ante-
nimo depende del algoritmo, se acepta que es difícil obtener buenos resul-
rior. Está compuesto por tres actores:
tados con menos de 30 registros de presencia.
CONFIGURA_VARIABLES (Figura 6): Configura un fichero de variables
Implementación 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 mo-
La solución se ha implementado en un flujo de trabajo independiente tor que permite iterar al flujo completo una vez por cada especie de la lis-
llamado PRP (Preparación de Registros de Presencia) (ver Figura 3). El flujo ta.
tiene una serie de parámetros que deben ser rellenados por el usuario:
PREPARA_COORDENADAS (Figura 7): Este módulo ejecuta las si-
DIR_RAIZ: La ruta al directorio de trabajo guientes tareas:
DIR_USER: La ruta al directorio de usuario Actor EXTRAE_XY: Transforma los polígonos de presencia en pares de
DIR_GRASS_EV: La ruta al mapset EVALUACION. coordenadas mediante un batch-job de GRASS (2 ejecuta EXTRAE
COORDENADAS.sh) que, rasteriza los polígonos a la resolución de tra-
DIR_GRASS_PR: La ruta al mapset PROYECCION. bajo, vectorización de nuevo los polígonos rasterizados pero a una geo-
RESOLUCION: Resolución de trabajo deseada para los mapsets de metría de puntos, y exporta los pares de coordenadas resultantes a un
GRASS. Lo ideal es seleccionar la resolución nativa de las capas de varia- fichero de texto.
bles ambientales. Si se selecciona una menor, se debe tener en cuenta Actor compuesto PROCESA_XY, se encarga de las siguientes tareas
que el método rápido de remuestreo de GRASS utiliza un algoritmo de mediante la ejecución de un script de Octave (8 EVALUA MODE-
“vecino más próximo” que compromete la calidad de los resultados. LOS.m):
MIN_DIS: Distancia mínima entre pares de coordenadas de presencia de
la especie. Idealmente, el doble de la resolución de trabajo, para garanti-
zar la presencia de al menos una celda vacía entre punto y punto.

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 PRECONFI-
GURACION 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 coor-


denadas se procesan para aplicar el criterio de distancia mínima se-
gún el valor del parámetro MIN_DIS. Un algoritmo programado en Oc-
tave selecciona un punto, mide la distancia al punto más cercano, y si
Figura 4: Actor compuesto PRECONFIGURACION. Este sub-flujo se ejecuta una
la distancia entre ellos es menor al valor de MIN_DIS, elimina el se- sola vez, y prepara todo el entorno de trabajo.
gundo, y continúa el proceso con un nuevo punto. Cuando no puede
encontrar ningún punto con una distancia inferior al umbral, cambia al Partición aleatoria de los datos: Separación al azar de las coordena-
siguiente punto y continúa el proceso. das 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 DESCARTA-
DAS) 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 INTE-
RRUPTOR) 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_ACEP-
TADA, 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 imple-
mentado en el director DDF (dynamic dataflow).

Como resumen final, se relatan las entradas y salidas del módulo, y se 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.
muestra un ejemplo con los resultados (Figura 9): Este es, según el conocimiento del autor, el primer intento de automatizar y norma-
ENTRADAS: lizar esta fase del procesamiento de registros de presencia.

Directorio con ficheros shp de presencia de especies.


SALIDAS: Fase 2: Calibrado inicial, ensamblado y evaluación.
Árbol de directorios de trabajo organizado.
Esta fase es de gran importancia, porque permite conocer la calidad esta-
Coordenadas separadas según MIN_DIS, particionadas según el valor dística de los algoritmos de modelado y el ensamblado resultante. Del valor
del parámetro PARTICION, y debidamente formateadas para OpenMode- de evaluación obtenido depende la aplicabilidad del modelo como herra-
ller y MaxEnt, guardadas en un directorio con el nombre de la especie. mienta de gestión en el espacio real.
Especies separadas en aceptadas y descartadas según el valor del pa-
rámetro MIN_PRES. 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án-
dar de la idoneidad de los resultados de los distintos algoritmos.
Extracción de datos: distribución de valores, y comparación entre media-
na y desviación estándar.
Evaluación estadística de los modelos, una en un “ámbito local”, determi-
nado 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 Andalu-
cía. El objetivo es testar el funcionamiento de cada modelo sobre distintos
ámbitos geográficos (ver Anexo 2 para ampliar los conceptos sobre eva-
luació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:
Figura 10: Flujo de trabajo MODPLAN. NUMERO_ESPECIES solo se ejecuta en
NUMERO_ESPECIES: Cuenta el número de especies que cumplen el cri- una ocasión. Para garantizar que EJECUCION_MODELOS se ejecuta tantas veces
terio de presencias mínimas establecido en MIN_PRES en el flujo anterior como especies deben procesarse, se coloca el actor Loop. El actor
(PRP). Este número se envía como parámetro al siguiente módulo, deter- NUMERO_SELECCIONADAS muestra al usuario el número de especies que se van
a procesar.
minando así el número total de iteraciones del proceso (una por cada es-
pecie) (ver estructura en Figura 11). Además realiza otras tareas importan- MODELADO (Figura 14): Es la sección del flujo que hace todo el trabajo
tes para la sección del flujo que proyecta los modelos (se explicarán deta- importante en esta fase. También ejecuta las fases siguientes del proce-
lladamente más adelante). so, pero se comentarán en la sección correspondiente. Esta sección del
EJECUCION_MODELOS (Figura 12): Está a su vez compuesto por dos flujo ejecuta las siguientes tareas.
actores compuestos: Formateo de scripts para la ejecución de OpenModeller: OpenModeller
NOMBRE_ESPECIE: Lee una a una las especies de la lista de especies requiere un fichero de configuración con las rutas de las entradas y sali-
seleccionadas. Por cada línea del fichero, lanza una iteración completa das, y los parámetros del algoritmo. La primera sección del flujo prepara
del siguiente actor (Figura 13). 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 (utili-
zando 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 TRABAJO DE FIN DE MASTER

Ensamblado de modelos y exportación de mapas: El propio script 6 ini- este caso el criterio lo determina el usuario a través del parámetro
cial MODELOS EVALUACION.sh lanza el batch-job de GRASS llama- PORCENTAJE_OMISION. Este valor indica el porcentaje máximo de
do 7 ejecuta MODELOS EVALUACION.txt, que importa los resultados puntos de evaluación que pueden quedar excluidos del área de presen-
de MaxEnt y OpenModeller, y los ensambla utilizando el módulo r.series cia del modelo binario. Se interpreta como la proporción de localidades
con la función median. Igualmente calcula el mapa de desviación es- de presencia que el usuario considera que se encuentran fuera de las
tándar, aplicando la función stddev. La función v.random se utiliza para condiciones apropiadas para la especie. Un valor típico sería 5, indican-
generar dos conjuntos de puntos aleatorios (uno a escala global y otro do que el 95% de las poblaciones conocidas de la especie se encuen-
local), con la idea es muestrear más intensamente el ámbito local que el tran dentro de su óptimo ecológico. Un valor conservador puede ser 0,
global. Posteriormente extrae los valores de los puntos aleatorios y los con el que se asume que todas las poblaciones están dentro del ópti-
puntos de evaluación sobre los resultados de los algoritmos usando el mo. El valor del parámetro se pasa a un actor R (CALCULA_UMBRAL)
módulo v.what.rast y los exporta a tres tablas para la evaluación de los que, utilizando la tabla con los valores sobre el ensamblado de los pun-
modelos (VALORES ALEATORIOS GLOBAL.txt, VALORES ALEATO- tos de evaluación, calcula el cuantil correspondiente y lo exporta a un fi-
RIOS LOCAL.txt y VALORES PUNTOS EVALUACIÓN.txt). La orden d.- chero de texto plano.
mon se utiliza para generar automáticamente mapas de los modelos y Como resumen final, se relatan las entradas y salidas esta sección del flujo:
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 ENTRADAS:
se mueven a la carpeta RESULTADOS en el directorio de la especie. Listado con especies que superan el criterio MIN_PRES.
Evaluación de modelos: Los algoritmos utilizados para evaluar los mo- Ficheros formateados con las coordenadas de presencia.
delos se detallan en el Anexo 2, así como una descripción de los gráfi-
Variables ambientales de calibrado.
cos resultantes. El actor EVALUA MODELOS lanza un script de octave
(8 EVALUA_MODELOS.m) que realiza los tests estadísticos que calcu- SALIDAS:
lan la precisión de los modelos. Resultados de los ocho algoritmos de modelado.
Composición de gráficos con los resultados: Los resultados de la eva- Mediana de la idoneidad del hábitat y desviación estándar.
luación, previo procesamiento, pasan al actor GRAFICOS, que lanza un
script de R (9 GRAFICOS EVALUACION.r) que genera una representa- Análisis gráfico de distribución de valores de los ensamblados.
ción gráfica de los datos de evaluación, y el gráfico de distribución del Análisis gráfico de los resultados de la evaluación de modelos.
ensamblado en formato PDF. Este PDF se transforma en png mediante Mapas de los resultados de los algoritmos, los ensamblados y dos ma-
una orden del programa ImageMagick y se copia a la carpeta RESUL- pas de la distribución conocida de la especie.
TADOS en el directorio de la especie.
Ficheros de texto con todos los datos numéricos expresados en los gráfi-
Cálculo del umbral de corte del modelo. Para determinados cálculos cos.
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 respecti-
vamente). Para esta transformación se selecciona en el modelo conti-
nuo, según un criterio más o menos objetivo, un valor de idoneidad um-
bral por encima del cual todas las celdas se recodifican con valor 1,
mientras que las celdas por debajo se recodifican con valor 0. Este um-
bral representa el límite teórico entre hábitat óptimo y sub-óptimo. En

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 auto-
má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 TRABAJO DE FIN DE MASTER

za el batch-job de GRASS 12 ejecuta MODELOS CALIBRADO.txt que eje-


Fase 3: Recalibrado y proyección sobre los distintos   cuta las siguientes tareas:
escenarios Genera el ensamblado (mediana y desviación estándar).
Extrae los valores de los puntos aleatorios y de los puntos de presencia,
En esta fase se vuelven a calibrar los modelos de distribución, pero apro- guardándolos en una tabla que se encargará de almacenar muestreos de
vechando en esta ocasión todos los puntos de presencia de la especie todos los modelos (los modelos recalibrados y los proyectados).
disponibles. Los modelos numéricos resultantes (ficheros xml con las defini-
Cálculo del área de ocupación potencial de la especie: Utilizando el
ciones de los modelos en OpenModeller y fichero de texto plano con los
valor umbral calculado en la fase anterior por el actor CALCULA_UM-
coeficientes de la ecuación en MaxEnt) se utilizan para proyectarlos sobre
BRAL, se utiliza r.recode y un fichero de recodificación RECODE EN-
las condiciones climáticas simuladas para el futuro. Cada resultado se
SAMBLADO CONTINUO para recodificar el ensamblado de continuo a
importa a GRASS para generar el ensamblado correspondiente. Durante
binario. A la superficie resultante se le aplica un filtro de moda con un
esta fase se muestrean los ensamblados con los puntos aleatorios y los
kernel de 3x3 celdas mediante el módulo r.neighbors para eliminar cel-
puntos de presencia para utilizar estos datos en la fase de análisis de los
das aisladas. Posteriormente se cuenta el número de celdas con valor 1
resultados.
y se exporta el resultado a un fichero de texto.
Este proceso se repite para cada escenario e intervalo de tiempo dentro Cálculo del número de parches de hábitat idóneo: La superficie bina-
de cada escenario, lo que en nuestro caso supone 20 iteraciones (4 escena- ria obtenida en el paso anterior se vectoriza (módulo de GRASS r.to.-
rios x 5 intervalos de tiempo dentro de cada escenario). vect), y la tabla del vector resultante, que tiene una entrada por cada po-
lígono vectorizado, se exporta a un fichero de texto. Este fichero tiene
Implementación 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
Esta fase está dividida en dos secciones, recalibrado y proyección, ejecu- exporta el número “cat” a un nuevo fichero de texto. Este número es el
tadas por sendos actores dentro del actor compuesto total de parches de hábitat idóneo correspondiente al ensamblado proce-
EJECUCION_MODELOS (ver Figura 15). sado.
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 si-
guiente modo en cada iteración:
Proyecta las definiciones de los modelos sobre las variables del escena-
Figura 15: Actores que ejecutan el recalibrado y proyección de modelos. rio correspondiente a la iteración.
Ambos actores se encuentran dentro del flujo EJECUCION_MODELOS.
Lanza el batch-job de GRASS 14 ejecuta PROYECCION.txt. Este batch
Recalibrado: El actor CALIBRADO_MODELO lanza la ejecución del hace con cada escenario exactamente las mismas tareas que el anterior
script 11 inicia MODELOS CALIBRADO.sh. Este script calibra los algorit- (12_ejecuta_MODELOS_CALIBRADO).
mos con todos los puntos de presencia, y guarda las definiciones de los Como resumen final, se relatan las entradas y salidas esta sección del flujo:
modelos para su posterior proyección. Una vez acabada la ejecución, lan- 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 TRABAJO DE FIN DE MASTER

Puntos de presencia de la especie. Comparar el modelo de evaluación con el modelo recalibrado mediante
Variables ambientales del presente y el futuro. una resta, para comprobar la distribución espacial de los cambios en ido-
neidad que supone recalibrar el modelo con todos los puntos de presencia
SALIDAS: disponibles.
Archivos de los modelos numéricos de OpenModeller y MaxEnt. Genera un mapa de persistencia: el script suma todos los modelos bina-
Ensamblados de idoneidad y desviación estándar del presente y el futu- rios que se han ido generando (para extraer número de celdas y número
ro. 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
Mapas en formato png de los ensamblados.
áreas en las que, durante más tiempo, se van a conservar condiciones
Ficheros de texto con el número de celdas de hábitat idóneo en cada es- apropiadas para la biología de la especie.
cenario.
Exporta el mapa de comparación y el mapa de persistencia a formato
Ficheros de texto con el número de parches de hábitat idóneo en cada png.
escenario.
Tabla con los valores de idoneidad y desviación estándar de los puntos Llegados a este punto, para realizar el análisis, el flujo de trabajo ha
aleatorios y de presencia. entregado los siguientes datos:
Tabla VALORES_PUNTOS.txt. Se ha exportado del fichero vectorial que
Fase 4: Análisis y publicación de los resultados 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:
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 Valores de idoneidad de los algoritmos de las fases de evaluación y re-
proyectados se analizarán teniendo en cuenta varios puntos de vista: varia- calibrado.
ciones de la idoneidad del hábitat, migración altitudinal, migración latitudinal, Valores de idoneidad y desviación estándar de los ensamblados de las
y evolución del área potencial y número de parches de hábitat idóneo. fases de evaluación, recalibrado y proyección (un campo de idoneidad y
otro de desviación estándar por cada escenario).
Con el objetivo es disponer, para cada especie, de un documento que
contenga organizada toda la información relevante del proceso de modelado, Valores de las variables ambientales utilizadas para calibrar los modelos.
se preparó una plantilla html sobre la que posteriormente insertar automáti- Fichero UMBRAL_CORTE_ENSCON.txt, con el valor apropiado para
camente los distintos elementos resultado del análisis. transformar el modelo continuo en binario.
Cuatro ficheros AREA_EC_(nombre escenario).txt, con el número de cel-
Análisis de los resultados
das de hábitat idóneo correspondientes a cada escenario.
La primera fase de análisis se realiza en GRASS. El actor ANALISIS (ver Cuatro ficheros PARCHES_EC_(nombre_escenario).txt, con el número de
Figura 16) lanza la ejecución del script de bash 15 inicia ANALISIS FINA- parches de hábitat idóneo para cada escenario.
LES.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 Estos ficheros son procesados por el actor GRAFICOS de la siguiente
encarga de: 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
Exportar y formatear datos que serán procesados en R (valores de los descriptivas correspondientes, que se discutirán en la sección de resultados.
puntos aleatorios para todos los ensamblados).

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 resul-
tados 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 anima-
ciones 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 Figura 16: Sección del flujo que se encarga del análisis de datos. Consta de
experiencia del usuario en la consulta de los datos. 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.
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 Image-
Magick 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 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 nombre_especie_PRESENCIA (vector, tipo polígono o punto): Correspon-
trabajo. de con el shapefile original de la especie.
nombre_especie_AMBITO (vector, tipo polígono): Mínimo rectángulo (más
Los resultados del flujo de trabajo pueden clasificarse en varios niveles 2000 metros de margen) que acoge todas las poblaciones conocidas de la
de aplicabilidad y complejidad. Algunos tienen un carácter definitivo, como el especie.
informe html, diseñado para su difusión en internet, mientras que otros son nombre_especie_CALIBRADO (vector, tipo punto): Puntos de calibrado.
ú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 nombre_especie_EVALUACION (vector, tipo punto): Puntos de evalua-
datos utilizadas para los análisis gráficos, por ejemplo). ción.

En el mapset PROYECCION se almacena el siguiente material:


La base de datos de GRASS nombre_especie_EC_2000 (raster): Mediana de idoneidad para el mismo
periodo.
Durante todo el proceso ejecutado por el flujo de trabajo, GRASS,
además de realizar operaciones, va almacenando todos los resultados nombre_especie_DE_2000 (raster): Desviación estándar de la idoneidad
importantes (los intermedios se han ido eliminando sobre la marcha). Como del hábitat correspondiente al periodo de calibrado.
consecuencia, al finalizar la ejecución se dispone de un banco de datos muy nombre_especie_EC_escenario_periodo (raster): Mediana de idoneidad
valioso para otros análisis más concretos, como podría ser el trabajo sobre de una proyección.
una población determinada de una de las especies modeladas. Esta informa- nombre_especie_DE_escenario_periodo (raster): Desviación estándar de
ción ocupará un gran volumen en el disco duro (varios cientos de Gigabytes la idoneidad de una proyección.
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 nombre_especie_PERSISTENCIA (raster): Mapa de persistencia de la es-
trabajo. pecie, resultante de la suma de todas las proyecciones transformadas en
modelos binarios.
Los resultados se almacenan por motivos de organización en dos nombre_especie_DIFERENCIAS_EC (raster): Mapa de diferencias en
mapsets: EVALUACION y PROYECCION. idoneidad entre nombre_especie_EC_2000@PROYECCION y
nombre_especie_EC@EVALUACION.
En el mapset EVALUACION se almacenan las siguientes capas para
nombre_especie_VALORES_PUNTOS (vector, tipo punto): Contiene los
cada especie:
puntos aleatorios de los ámbitos global y local, y los puntos de presencia
nombre_especie_CELDAS (raster): Las celdas del territorio con poblacio- de calibrado y evaluación. Para cada punto tiene campos que recogen los
nes conocidas de la especie. Es el mapa de presencia de la misma a la valores de idoneidad y desviación estándar de todos los modelos, y los
resolución de trabajo. 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 Los resultados gráficos
algoritmos de modelado.
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 TRABAJO DE FIN DE MASTER

especie, se almacenan los resultados que va generando el flujo. A continua- para OpenModeller.
ción se detalla la estructura de carpetas de una especie. PRESENCIAS_nombre_especie.csv: puntos de presencia completos
carpeta CALIBRADO. Contiene resultados relacionados con el modelo re- para MaxEnt.
calibrado. Todos son gráficos generados por R en el actor GRAFICOS de PRESENCIAS_nombre_especie.txt: puntos de presencia completos for-
la última sección del flujo. mateados para OpenModeller.
ANALISIS_MODELO.pdf carpeta PROYECCION
DIFERENCIAS_CALIBRADO_2_pdf carpeta MODELOS: definiciones de los modelos recalibrados de MaxEnt
DIFERENCIAS_CALIBRADO_EVALUACION_1.pdf y OpenModeller.
REQUERIMIENTOS_ECOLOGICOS.pdf ANALISIS_ENSAMBLADO_CONTINUO.pdf: gráfico de R que resume el
comportamiento de los modelos en las localidades de presencia de la es-
carpeta EVALUACION
pecie.
HISTOGRAMA_EC.txt: valores del histograma del modelo inicial de ido-
ANALISIS_FUTURO_ESPECIE.pdf: gráfico de R que muestra el com-
neidad.
portamiento potencial de la especie ante los distintos escenarios.
PUNTOS_CALIBRADO_nombre_especie.txt: coordenadas de los puntos
carpeta RESULTADOS: contiene todas las imágenes que van al informe
de calibrado devueltas por el flujo de trabajo PRP.
html, por lo que se comentan a continuación.
PUNTOS_EVALUACION_nombre_especie.txt: coordenadas de los pun-
tos de evaluación devueltas por el flujo de trabajo PRP.
Información incluida en el informe de resultados
UMBRAL_CORTE_ENSCON.txt: Valor del umbral de corte del ensam-
blado de idoneidad. El informe de resultados está diseñado para difundir a través de Internet
carpeta MODELOS: definiciones de los modelos de evaluación de Open- la información que proporciona el flujo de trabajo. Está dividido en cuatro
Modeller y MaxEnt. secciones que responden a distintas cuestiones. A continuación se detallan
carpeta RESULTADOS los resultados que en él aparecen.
AUC_GLOBAL_VALORES.txt: valores de evaluación en el ámbito glo- Sección 1: Distribución actual y requerimientos ecológicos
bal devueltos por actor EVALUA_MODELOS.
AUC_LOCAL_VALORES.txt: valores de evaluación en el ámbito local. Los resultados mostrados en esta sección tratan de responder a esta
cuestiones: ¿cual es la distribución de la especie?, ¿cuales son sus requeri-
HISTOGRAMAS.pdf: gráfico de R con la distribución de valores del en- mientos ecológicos?, ¿es una especie generalista o especialista?.
samblado de idoneidad de evaluación en el ámbito local.
Foto y ficha de la especie. Una vez ejecutado el flujo PRP, el usuario, a
GRAFICOS_EVALUACION.pdf: gráfico de R que resume los valores de partir de la lista de especies seleccionadas, puede preparar en un directo-
evaluación. rio (MATERIAL_ESPECIES, con las carpetas FICHAS y FOTOS) fichas de
carpeta PRESENCIA texto plano con información relevante sobre la biología de la especie
CALIBRADO_nombre_especie.csv: puntos de calibrado formateados (nombrado según la estructura Nombre_especie.txt) y una imagen de la
para MaxEnt. misma (Nombre_especie.jpg). Ambas son situadas por el flujo al principio
del informe.
CALIBRADO_nombre_especie.txt: puntos de calibrado formateados
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 Figura 19: Detalle del mapa de localización de poblaciones. Se muestran
en el informe de resultados. como puntos rojos localidades de presencia de la especie.

Mapa de localización de poblaciones. Este mapa ofrece una visión más Diagramas de requerimientos ecológicos. En este diagrama se compa-
precisa de la localización concreta de las poblaciones de la especie (ver ran la distribución de valores sobre cada una de las variables ambientales
Figura 19). Se limita al ámbito de presencia de la especie, tiene una alta de los puntos de presencia y los puntos aleatorios del ámbito global (ver
resolución, y muestra los límites de los términos municipales, la red hidro- Figura 20). El objetivo es conocer en que rangos de cada variable se con-
gráfica, vías de comunicación, y las poblaciones, todos con su etiquetado centran los puntos de presencia de la especie (una medida de sus requeri-
correspondiente. Por las limitaciones de GRASS en este sentido no ha mientos ecológicos), y compararlos con los valores de la variable para
sido posible generar automáticamente una leyenda con todos los elemen- todo el territorio de trabajo. Para facilitar la comparación se han añadido lí-
tos. Aún así, el mapa es suficientemente comprensible como para localizar neas de referencia correspondientes al promedio de cada grupo. Este dia-
con cierta exactitud las poblaciones en el campo. grama permite conocer si la especie es especialista (promedios muy sepa-
rados) o generalista (promedios próximos), y los rangos de presencia co-
nocidos.

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 Figura 21: Resultados de los algoritmos. Se muestran las capturas de los resul-
tados de GARP y MaxEnt. Observando la distribución de los valores de idoneidad del
de idoneidad y la desviación estándar?. Las siguientes figuras tratan de dar
hábitat en ambos modelos y la situación de los puntos de presencia de la planta (en
las respuestas: naranja), es fácil determinar cual de ellos está funcionando mejor.
Resultados de los algoritmos. Teniendo conocimiento sobre la distribu-
Resultados de los ensamblados. En el informe se muestran mapas si-
ción de la especie, y sobre como se interpretan los modelos de distribu-
milares a los anteriores, pero a una mayor resolución de imagen, de am-
ción, es posible determinar con una simple visualización, qué algoritmo
bos componentes del ensamblado (Figura 22).
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”).

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.

Sección 3: Modelo de distribución
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é
Esta sección corresponde con la fase de recalibrado del modelo utili-
presente. zando todos los puntos de presencia disponibles.
Ensamblado recalibrado. Se vuelven a mostrar las capturas del nuevo
Distribución de los valores de idoneidad en el ámbito local. Se trata
ensamblado generado con todos los puntos de presencia, por ser el mo-
de un gráfico que muestra, dentro del ámbito de presencia de la especie,
delo de distribución “final” aceptado para la especie según la metodología
la distribución de valores de idoneidad, expresada en número de celdas
propuesta.
(Figura 23). Los puntos se relacionan entre sí mediante una ecuación poli-
nomial ajustada en R. Diferencias entre los ensamblados de idoneidad de evaluación y re-
Gráfica de evaluación de resultados. Imagen del análisis gráfico de los calibrado: comparación en tres ámbitos geográficos. A partir de los va-
resultados de la evaluación estadística de los modelos. Se discute en pro- lores de los puntos aleatorios del ámbito global, los puntos aleatorios del
fundidad en el Anexo 2. á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 TRABAJO DE FIN DE MASTER

tuación ideal es que no haya diferencias entre las cajas de ambos mode- tos a los valores de idoneidad y desviación en las poblaciones conocidas
los, pero lo cierto es que durante las pruebas del flujo se han detectado di- de la especie.
ferencias reseñables entre el modelo generado con los datos partidos se- Mapa de diferencias entre los ensamblados de idoneidad. Muestra el
gún el parámetro PARTICION y el modelo generado con todos los puntos resultado de la sustracción de valores de idoneidad entre el modelo recali-
de presencia. Este gráfico ayuda a comprender la incidencia de esta cues- brado y el modelo de evaluación (Figura 26). Permite conocer con detalle
tión en el resultado final del modelo. 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 desvia-
ció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 re- Figura 25: Comparación de valores de los ensamblados de evaluación y
calibrado: comparación de idoneidad vs. desviación en las localida- recalibrado en las localidades de presencia de la especie. En el eje x se
des de presencia de la especie. Este gráfico pretende incrementar la re- presenta la mediana de idoneidad y en el y la desviación estándar. El color verde
solución de la comparación entre modelos, centrándose en las localidades representa el modelo de evaluación, y el naranja el modelo recalibrado. Los polí-
de presencia conocida de la especie, pero comparando al mismo tiempo 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
los dos componentes del ensamblado en un gráfico bivariante (ver Figura datos. En los márgenes se muestran las distribuciones relativas. En una situación
25). Permite conocer con detalle hasta que punto afecta la partición de da- 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 Figura 27: Ejemplo de curva de respuesta. La nube suavizada representa todos
áreas de presencia conocida de la especie y la disminuye en todas aquellas en las los puntos de muestreo disponibles (aleatorios global, aleatorios local y puntos de
que no se dan las condiciones apropiadas para la misma. 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
Curvas de respuesta del modelo. La siguiente gráfica (Figura 27) mues- presentan una idoneidad en torno a 30 y una precipitación media anual en torno a
tra la relación de la variable idoneidad del modelo final con los valores de 500 mm. Las líneas muestran el ajuste polinomial de tendencia de cada uno de los
cada una de las variables ambientales utilizadas para calibrarlo. Esta rela- 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
ción se muestra en los tres ámbitos geográficos: global, local y localidades indican una variable sin importancia en el modelo de distribución.
de presencia de la especie. Estas relaciones ayudan a comprender la na-
turaleza del modelo de distribución separándolo en componentes discre-
tos (las variables), y la relevancia de cada una de las variables.

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 evolu-
cionar 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án- Figura 28: Tabla de acceso a las animaciones. Cada imagen es un hipervínculo
dar. En el informe se muestran 8 animaciones interactivas, que ofrecen que lleva a la animación deseada.
una vista muy intuitiva de las variaciones temporales en ambos aspectos

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 anterior-


mente (Figura 31). Indica una tendencia general de la especie ante el ca-
lentamiento del clima.

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
Figura 29: Interfaz de la animación. Cada animación tiene su propio control de
idoneidad mínima para la especie. El espacio bajo la línea roja indica una zona de
navegación (deslizador principal), control de reproducción (botones) y control de
peligro relativo, por empeoramiento de las condiciones para la especie. El valor de
velocidad (deslizador secundario).
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,
Evolución de idoneidad del hábitat en las poblaciones conocidas de menor es el efecto negativo de este sobre la especie). Según este ejemplo, después
la especie según los distintos escenarios. Un violin-plot por cada esce- del 2060 ninguna localidad de presencia conocida de la especie mantendrá condi-
nario, en los que se puede observar la distribución de los valores de ido- ciones idóneas.
neidad en las localidades de presencia de la especie, tomando como refe-
rencia una “zona roja” que indica el umbral por debajo del cual las condi- Distribución de valores de idoneidad de las localidades de presencia
ciones del hábitat son poco compatibles con el desarrollo de poblaciones en dos puntos de control. Se analizan en dos gráficas los puntos de
viables de la especie (ver Figura 30). La forma del violin-plot muestra la control 2060 y 2100 para comparar la distribución relativa de valores de
densidad relativa de puntos de presencia para cada grado de idoneidad. idoneidad de cada uno de los escenarios (ver Figura 32). Es una informa-
ción complementaria útil para conocer qué escenarios tienen efectos más
Evolución de idoneidad del hábitat en las poblaciones conocidas de severos sobre la biología de la especie.
la especie independiente de escenarios. Se trata de una agregación de

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 repre-
sentació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 frag-
mentación del hábitat de la especie según los distintos escenarios.

Figura 31: Evolución de idoneidad de las localidades de presencia indepen-


diente 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, compa-
rando los distintos escenarios.

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 esce-
nario. 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 um-
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 bral de la especie, para cada periodo y escenario, se calcula el promedio y
de valores. La línea de referencia discontinua indica el umbral de idoneidad mínima. se dibuja el dato. Con esta metodología se obtiene una estimación, no es
Las curvas representan los distintos escenarios. Cuanto mayor sea la tendencia de un cálculo preciso. Esta es una de las secciones de cálculo que podrían
una curva hacia la izquierda, mayor será el efecto negativo del escenario que repre- mejorar su implementación en futuras versiones del flujo de trabajo.
senta 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 33
BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS TRABAJO DE FIN DE MASTER

Análisis gráfico del potencial de migración horizontal. Se trata de de-


terminar 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 centroi-
de geométrico) de las áreas de hábitat idóneo de la especie. Para calcu-
larlo, se selecciona la columna de la tabla VALORES PUNTOS correspon-
diente al modelo de idoneidad recalibrado, se seleccionan los puntos con
un valor de idoneidad igual o superior al umbral, y se promedian sus valo-
res 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 tiem-
po considerado (en algunas especies puede ser menor al periodo comple-
Figura 34: Evolución temporal del número de parches de hábitat idóneo. Se to de estudio si la especie puede desaparecer antes del final del periodo),
le asigna la misma leyenda que la contenida en la Figura 33. un valor de distancia máxima de migración en metros, y un ritmo de migra-
ció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 desapari-
ció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 idonei-
dad propio de la especie. Posteriormente se suman, y se transforma el re-
sultado 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.

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 opor-
tunidad al investigador reconsiderar criterios, y añadir o descartar especies a
Figura 36: Vector potencial de migración horizontal. Representa una voluntad, antes de iniciar las simulaciones, que suponen un coste de tiempo
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ó- importante.
metros hacia el oeste.
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 mode-
lado. 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, procesa-
miento, 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 consis-
tentes sin necesidad de pasar por una ardua fase de aprendizaje en cuanto a
manejo e integración de software. Pero es fundamental un importante “back-
ground” en técnicas de modelado, sobre todo porque facilita la interpretación
Figura 37: Mapa de persistencia. El valor de una celda equivale al porcentaje de los resultados, evitando aplicaciones aventuradas.
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 persis-
tencia son las que con mayor seguridad van a mantener condiciones apropiadas El trabajo ha podido desarrollarse íntegramente en software libre, excepto
para la especie durante mayor tiempo. 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 TRABAJO DE FIN DE MASTER

perfectamente omitible, porque OpenModeller implementa su propio algo- GRASS le da una gran capacidad para integrar geoprocesos en sus flujos
ritmo de máxima entropía (aunque ofrece resultados muy inferiores). Sin de trabajo.
embargo, se ha incluido porque la calidad de sus resultados compensa con En un software SIG, una característica importante es la posibilidad de ac-
creces su carácter no libre. ceso 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.
CONCLUSIONES
A lo largo del proyecto se ha desarrollado un flujo de trabajo basado en MATERIAL ON­LINE
software libre que automatiza y estandariza completamente un proceso
complejo de modelado, que implica la simulación de cambios en la distri- Una versión de ejemplo del informe de resultados puede verse en la
bución geográfica de especies vegetales ante distintos escenarios de siguiente dirección:
cambio climático utilizando una metodología consistente basada en el
ensamblado de resultados de distintos algoritmos. http://botanica2.ugr.es/modplan/INICIO.html

Los flujos de trabajo pueden abrirse para su visualización (y ejecución si


Conclusiones generales
el entorno está preparado para ello) abriendo Kepler, menú File, Open URL,
Actualmente la comunidad científica diseña y produce herramientas de escribiendo las siguientes direcciones para cada flujo:
software libre que, combinadas, permiten diseñar y ejecutar procedimien-
tos de modelado ecológico muy complejos a usuarios con un nivel medio http://botanica2.ugr.es/modplan/PRP.xml
de conocimientos informáticos.
http://botanica2.ugr.es/modplan/MODPLAN.xml
Antes de acometer una tarea compleja que requiera un procesamiento
largo e intensivo de datos, es necesario investigar las posibilidades y he-
El material que permitirá ejecutar Kepler en un equipo bien configurado
rramientas disponibles, aprender a utilizarlas, para finalmente, diseñar el
puede descargarse de la siguiente dirección:
sistema de trabajo, desarrollarlo y ejecutarlo.
La emergencia del software libre “da alas” a la ecoinformática. 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 capaci- El manual de usuario del flujo de trabajo puede descargarse a través del
dad de trabajo con capas de gran tamaño) debería ser un SIG de elección siguiente enlace:
en el ámbito académico.
http://botanica2.ugr.es/modplan/MANUAL_MODPLAN.pdf

Conclusiones metodológicas IDEAS PARA EL FUTURO
El programa de diseño y ejecución de flujos de trabajo Kepler permite gra-
cias a su flexibilidad utilizarlo como base para la ejecución de líneas com- El desarrollo del sistema de modelado no acaba aquí. Forma parte del
plejas de procesamiento de datos. Su capacidad de lanzar batch-jobs de 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 TRABAJO DE FIN DE MASTER

curso. A continuación se detallan algunas mejoras que deberían implemen- biología de la especie.
tarse en las siguientes versiones del sistema.
Un proyecto de ampliación de los análisis de los modelos que se está
La configuración inicial del sistema es relativamente compleja. Muchos barajando consiste en un análisis automático de las rutas migratorias más
“packages” de R, un pequeño “hacking” en GRASS para solucionar un bug, y probables que puede seguir cada especie. Utilizando los modelos como
algunos programas secundarios como ImageMagick o pdftk son necesarios superficies de fricción, y con la idea de que cuanto más idóneo es el hábitat,
para el funcionamiento del flujo. Una posibilidad es distribuir junto con el menor es la fricción a la dispersión, puede implementarse un método auto-
sistema un script de configuración que prepare el entorno automáticamente, mático en GRASS para generar las líneas de flujo migratorio. Esto es direc-
aunque será en versiones posteriores cuando se implemente. tamente aplicable en gestión, porque proporcionaría información valiosa para
el diseño de pasillos migratorios.
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 También se está trabajando en un análisis final, una vez modeladas todas
intervalos de tiempo que se modelan, los escenarios o las variables de cali- las especies, que contemple dos vertientes: Una vertiente técnica, que
brado. Lo cierto es que las secciones del flujo dedicadas exclusivamente al permita comparar entre sí métodos de modelado y ensamblado, una suerte
modelado funcionan sin problemas con cualquier número de algoritmos, de laboratorio de pruebas para testar metodologías. Una vertiente biológica,
escenarios, variables y periodos de tiempo. Es la fase de edición de los basada en el ensamblado de resultados de las especies individuales para
resultados la que no está adaptada, y es algo que pretende implementarse trabajar a nivel de biodiversidad. Esto permitiría conocer con cierta aproxima-
en un futuro cercano. Sin embargo, para usuarios con escasos conoci- ción el comportamiento general de la biodiversidad vegetal ante distintos
mientos en modelado de distribución, esta flexibilidad suele suponer un escenarios de cambio climático.
problema, por lo que no se ha ahondado en ella en la versión del flujo dispo-
nible on-line. Otros 100 autores encontrarían otras 100 funciones que implementar.
Será el interés posterior de otras personas en los resultados de este
La implementación de otros métodos de ensamblado está contemplada. proyecto el que lo haga crecer o morir. Por la parte del autor, las novedades
De hecho, la versión inicial del flujo de trabajo descrito ya proporcionaba un descritas cubrirían con creces los objetivos planteados en un principio.
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. AGRADECIMIENTOS
Otra cuestión pendiente es mejorar el cálculo de la migración vertical y Este trabajo no hubiera sido posible sin la paciencia y el cariño de Ana,
horizontal. Los métodos implementados no son los más precisos posibles, que ha cuidado de mí durante el desarrollo del proyecto.
aunque si son buenos indicadores de las tendencias de la especie en ambos
aspectos. Al Dr. Julio Peñas, mi “jefe”. Con gran paciencia y confianza paciencia,
me ha dado carta blanca para llevarlo a cabo.
La estructura y presentación del documento html que presenta los resul- Mi mas sincero agradecimiento a los desarrolladores de OpenModeller,
tados muy probablemente pueden mejorarse. Los escasos conocimientos del MaxEnt, Kepler, GRASS, R, GNU Octave, pdftk, ImageMagick, Bash, Linux,
autor en el lenguaje html y alguna disfunción en cuanto a la capacidad para y cualquier otra línea de código en la que me haya apoyado incluso sin
seleccionar gamas de color complementarias explican perfectamente esta saberlo. Los que desarrollan software libre son los que de verdad ponen a
situación. Un proyecto próximo es mejorar la presentación, y segregar la nuestra disposición los recursos para avanzar hasta quién sabe donde.
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 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 TRABAJO DE FIN DE MASTER

ñeros durante dos años y medio de largo viaje. He crecido por el camino Pennington DD, Higgins D, Peterson AT, Jones MB, Ludascher B, Bowers
gracias a su excelente trabajo. S 2007. Ecological Niche Modelling Using the Kepler Workflow System, en
Workflows for e-Science. Editores: Taylor IJ, Deelman E, Gannon DB,
A la Consejería de Innovación, Ciencia y Empresa de la Junta de Anda-
Shields M. Editorial Springer, Londres.
lucía (proyecto RNM 1067), porque financia mi periodo de formación como
investigador, y me ha introducido en un mundo que me apasiona. Phillips SJ, Anderson RP, Schapire RE. 2006. Maximum entropy mode-
ling of species geographic distributions. Ecological Modelling, 190: 231-259.
A la Red de Información Ambiental de la Junta de Andalucía y la Agencia
URL: www.osgeo.org/files/journal/final_pdfs/OSGeo_vol1_openModeller.pdf
Estatal de Meteorología, por proporcionar datos de fundamental importancia
para el desarrollo del proyecto. Sutton T, Giovanni R, Siqueira MF. Introducing openModeller - A funda-
mental niche modelling framework. OSGeo Journal Volume 1. ISSN
1994-1897. url: www.osgeo.org/files/journal/final_pdfs/OSGeo_vol1_openMo-
BIBLIOGRAFÍA deller.pdf

Araújo MB, New M. 2007. Ensemble forecasting of species distributions. Software


Trends in Ecology and Evolution 22: 42-47.
Benito-Garzón M. 2006. El efecto del cambio climático sobre las distribu- MaxEnt: www.cs.princeton.edu/~schapire/maxent/
ciones de los bosques ibéricos: pasado, presente y futuro. OpenModeller: openmodeller.sourceforge.net/
Eaton JW. 2002. GNU Octave Manual. Ed. Network Theory Limited. isbn Kepler: https://kepler-project.org/
0-9541617-2-6. url: www.gnu.org/software/octave/
Octave: www.gnu.org/software/octave/
Fundación para la Investigación del Clima. 2006. Generacion de Escena-
rios de Cambio Climático en Andalucía. url: www.juntadeandalucia.es/medio- R: cran.r-project.org/
ambiente/web/Bloques_Tematicos/Sostenibilidad/Estrategia_andaluza_cambi GRASS: grass.osgeo.org
o_climatico/escenarios_de_cambio_climatico_regionalizados/informe_esce-
narios_2006.pdf Bash: www.gnu.org/software/bash/bash.html
GRASS Development Team, 2008. Geographic Resources Analysis ImageMagick: www.imagemagick.org
Support System (GRASS) Software, Version 6.3.0. url: http://grass.osgeo.org Animaciones web: www.maths.lancs.ac.uk/~rowlings/Chicas/DIY/
Kepler User Manual. URL: https://code.kepler-project.org/code/kepler- pdftk: www.accesspdf.com/pdftk/
docs/trunk/outreach/documentation/shipping/UserManual.pdf
R Development Core Team (2008). R: A language and environment for
statistical computing. R Foundation for Statistical Computing, Vienna, Austria. ANEXOS
ISBN 3-900051-07-0, url: www.R-project.org
Ramey C, Fox B. The GNU bash Reference Manual. isbn 0-9541617-7-7. Anexo 1: Algoritmos de modelado
url: http://www.network-theory.co.uk/docs/bashref/
En este anexo se ofrecen detalles de forma somera sobre la lógica interna de los
Ninyerola M, Pons X, Roure JM. 2000. A methodological approach of distintos algoritmos de modelado. Para una descripción más profunda se debe acudir
climatological modelling of air temperature and precipitation through GIS a la bibliografía recomendada.
techniques. International Journal of Climatology. 20: 1823-1841.

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 TRABAJO DE FIN DE MASTER

Los algoritmos utilizados en este proyecto pueden clasificarse en dos grupos: GARP (Genetic Algorithm for Ruleset Prediction, siglas GA en el flujo) es un algo-
métricas de similaridad ecológica (distancias euclídea, de Mahalanobis, Manhattan y ritmo genético. Utiliza un mecanismo similar a la evolución genética biológica para
Chebyshev), métodos de aprendizaje artificial (GARP, MaxEnt, Neural Networks y desarrollar un conjunto de reglas válidas para predecir la distribución de la especie.
Support Vector Machines). 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
Los métodos de similaridad ecológica generan, a partir de los valores estandari-
población de reglas generadas al azar (una regla podría ser: la especie está presente
zados de n variables ambientales, un espacio de n dimensiones (llamado espacio
entre los 500 y los 800 milímetros de precipitación anual). GARP genera un modelo
ecológico). Dentro de ese espacio se sitúan los puntos de presencia de la especie, y
de distribución con cada regla, los evalúa todos, y a la siguiente generación solo
puntos que representan a cada una de las celdas del territorio. El grado de simila-
pasan aquellas reglas que han superado un cierto valor de evaluación. El proceso
ridad ecológica de una celda se obtiene midiendo la distancia entre el punto que la
vuelve a repetirse un cierto número de veces hasta que se alcanza un cierto criterio
representa y los puntos de presencia de la especie. Dependiendo de la configuración
de parada (todas las reglas por encima de cierto valor de evaluación). Con todas las
del algoritmo, puede medirse la distancia hasta el centroide de todos los puntos de
reglas resultantes, GARP genera un fichero de reglas con el que crea el mapa de
presencia, el punto más cercano, o un grupo de número determinado de puntos más
distribución definitivo.
cercanos. La lógica matemática utilizada para medir la similaridad ecológica deter-
mina el nombre del algoritmo. 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
La Distancia Euclídea (siglas EU en el flujo) mide al recorrido más corto entre el
simulación de GARP es una superficie binaria de presencia-ausencia. Para generar
punto que representa a la celda y el punto de presencia de la especie más cercano,
una superficie continua, se generan “n” modelos y se suman.
según la geometría más convencional e intuitiva.
Las Redes Neuronales Artificiales (NN en el flujo) son conjuntos interconectados
La Distancia de Chebyshev (siglas CH en el flujo) ofrece como resultado la
de neuronas artificiales organizados en capas, que tienen como objetivo proporcionar
máxima distancia posible entre dos puntos, en cualquier dimensión de los ejes de
respuestas a un problema concreto del mismo modo que lo haría un cerebro humano.
coordenadas. Se conoce también como distancia del tablero de ajedrez.
La red neuronal del algoritmo tiene tres capas. En la capa de entrada la red tiene
La Distancia de Mahalanobis (siglas MH en el flujo) es similar a la euclídea, pero tantas neuronas como variables ambientales se usan para calibrar el modelo. En la
tiene en cuenta la correlación entre las variables a la hora de ponderar la medida. 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
La Distancia de Manhattan (siglas MN en el flujo) es la suma de las diferencias retropropagación. A la red se le “muestran” los puntos de presencia de la especie y
absolutas de las coordenadas de los dos puntos entre los que se quiere medir la puntos aleatorios (con sus respectivos valores sobre las variables ambientales), y se
distancia. le pide que clasifique un punto cualquiera como presencia o ausencia. La red clasifica
Los cuatro algoritmos pueden configurarse según dos parámetros: 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
Puntos más cercanos: número de puntos de presencia tomados como refe- neuronas “aguas arriba”. Esta operación se sigue repitiendo hasta que el error
rencia para medir la distancia. Pueden ser todos o varios, y entonces la distancia posible queda por debajo de cierto grado de tolerancia. Este algoritmo es de reciente
se calcula utilizando el centroide de los puntos, o puede ser uno, en cuyo caso se incorporación en OpenModeller, y sus resultados aún están poco probados.
mide la distancia al más cercano.
El algoritmo de Máxima Entropía (ME en el flujo) es un método de propósito
Máxima distancia: es un parámetro de referencia que indica una distancia general diseñado para generar predicciones a partir de información incompleta.
umbral a partir de la cual ya no se mide la distancia, por considerarse suficiente- MaxEnt utiliza un mecanismo de inteligencia artificial para buscar iterativamente la
mente alejadas de las condiciones apropiadas para la especie. distribución de probabilidad de presencia de la especie más uniforme posible (con la
Para cada uno de estos algoritmos pueden configurarse estos parámetros en el máxima entropía). Esta ecuación se proyecta al espacio geográfico con un rango de
flujo modificando los valores del fichero de parámetros en el directorio SCRIPTS. 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
Los métodos de aprendizaje artificial utilizan algún tipo de lógica heurística para resultados que proporciona y el sencillo uso de su interfaz.
determinar la distribución potencial de la especie. Los métodos aquí aplicados siguen
lógicas muy diferentes. Los Support Vector Machines (VM en el flujo) son métodos de aprendizaje artifi-
cial 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 TRABAJO DE FIN DE MASTER

de datos (presencias y puntos aleatorios) en un espacio de n dimensiones determi- mediante líneas. Posteriormente se calcula mediante un método geométrico el área
nado por las variables ambientales. El quid de la cuestión está en generar un hiper- que queda por debajo de de la curva para obtener el valor AUC. Si AUC está cercano
plano (el equivalente de un plano en un espacio de n dimensiones) que maximice las a 1, el modelo tiene una alta capacidad para discriminar presencias y puntos aleato-
diferencias entre ambos vectores. Cuanto mayor es la distancia entre un objeto rios. Si AUC está cercano a 0,5, el modelo no es capaz de discriminar entre ambos
concreto y el hiperplano, mayor será la seguridad de pertenencia al grupo a ese tipos de registros más allá de lo esperado por azar. Estrictamente, AUC indica la
“lado” del hiperplano. 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.
Anexo 2: Evaluación estadística de modelos
Como la posición concreta de los puntos aleatorios tiene importancia en el cálculo
El objetivo de este anexo es describir los métodos de evaluación aplicados a los del valor AUC, se utilizan miles de puntos aleatorios, y se calcula AUC miles de
modelos de distribución en el flujo de trabajo, y explicar el contenido de la salida veces, manteniendo siempre los puntos de evaluación, pero reemplazando cada vez
gráfica asociada a dicho análisis. los puntos aleatorios. Cuando se comparan varios modelos, como veremos a conti-
nuación, se dispone de varios miles de valores de AUC, por lo que resulta una
La evaluación estadística de los modelos de distribución es un paso fundamental
comparación estadísticamente robusta.
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 Para combinar los valores de AUC obtenidos para los dos ámbitos geográficos, se
de discriminación del modelo, basándonos en los valores de los puntos de evaluación calcula un Índice Compuesto, en el que los resultados de la evaluación local se
y de n puntos aleatorios sobre el modelo. En esta evaluación tiene mucha impor- ponderan al doble que los de la evaluación global, y de forma que el máximo posible
tancia la escala geográfica de la evaluación. La evaluación de modelos se realizará a en la suma de ambos sea igual a 1, para mantener la escala de referencia original
las dos escalas comentadas a lo largo de este trabajo: escala local y global. En el entre 0 y 1
caso de especies muy extendidas geográficamente, ambas escalas pueden coincidir,
Correlación entre mediana de idoneidad y desviación estándar del ensamblado
con lo que no sería necesaria esta distinción. Pero no se ha implementado ningún
mecanismo de control al respecto. 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
El procedimiento de evaluación es efectuado en Octave, mediante el script 8
desviación estándar.
EVALUA MODELOS.m, diseñado para evaluar los modelos según un método habi-
tual en la cultura de los MDEs: Área bajo la curva ROC (AUC). 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
Área bajo la Curva ROC
lugares en los que hay desacuerdo entre los modelos. La idea que se explora es la
(AUC): Es un método estándar de evaluación, que normalmente se aplica a siguiente: cuanto mayor es el promedio de idoneidad y menor es la desviación
modelos de distribución que utilizan como entrada presencias y ausencias. En el estándar en los lugares en los que la especie está presente, más robusto es el
caso que nos ocupa, siendo modelos basados solo en presencia, se sustituyen las ensamblado (porque está determinando el grado de idoneidad con menor dispersión).
ausencias por puntos generados al azar. Un único cálculo de curva ROC implica
Esta relación se calcula haciendo un análisis de regresión lineal entre los valores
calcular, para cada valor de idoneidad del modelo los siguientes valores:
de EC y los valores de DE en las localidades con puntos de evaluación. La medida
Sensibilidad: es la fracción de aciertos del modelo discriminando registros de de robustez es el coeficiente de correlación de Pearson obtenido del análisis de
presencia (incluyéndolos en el modelo). Si de un total de 10 registros de correlación.
presencia, el nivel de idoneidad 80 engloba 7 registros, la sensibilidad asociada es
Los resultados de los distintos tests se muestran en la Figura 38. Los gráficos
0,7.
AUC local y AUC global muestran la distribución de los valores de AUC en sus
Especificidad: es la fracción de aciertos del modelo discriminando registros respectivos ámbitos geográficos. Las líneas horizontales rojas (solo visibles en el
aleatorios (excluyéndolos del modelo). Si de un total de 10 registros aleatorios, el primero de ellos en este caso) muestran el límite inferior de fiabilidad (0,5), la línea
nivel de idoneidad 80 engloba 4 registros, la especificidad asociada es 0,4. 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 discri-
Para calcular la curva ROC se dibujan en una gráfica los valores de Sensibilidad y
mina las presencias de la especie de los puntos aleatorios a escala local es MaxEnt
1-Especificidad correspondientes a cada nivel de idoneidad del modelo, y se unen

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 TRABAJO DE FIN DE MASTER

(ME), seguido de Support Vector Machines (VM) y el ensamblado (EC). El peor ambos, indicando que en este ensamblado, los valores de idoneidad de los distintos
modelo en este sentido sería GARP (GA). Según el gráfico de AUC global, son ME y modelos presentan una menor dispersión cuanto mayor es la idoneidad.
EC los mejores modelos, mientras que el peor, a esta escala, es la Distancia de
Chebyshev (CH).
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 fileWrit-
ten).
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 predetermina-
do 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.
Ramp: Es equivalente a un bucle “for loop” de un lenguaje de programación con-
Figura 38: Gráficos de evaluación incluidos en el informe de resultados. vencional. Genera valores en cada iteración según el valor de paso step.
Boolean Switch: A través de control recibe un token booleano (TRUE o FALSE).
El gráfico Índice compuesto muestra la contribución relativa de cada compo- Dependiendo del valor recibido, envía el input por la salida correspondiente. Es un
nente del índice según un código de colores. En este caso es ME el modelo con actor de control de flujo utilizado para implementar ramificaciones condicionales
mejores resultados, seguido de VM y EC. (equivalente a un “if”).
En el gráfico Relación entre idoneidad y desviación cada punto naranja repre- Directoriy Listing: Lee un directorio (directoryOrURL) e introduce en el flujo de
senta un registro de evaluación y sus valores correspondientes de mediana de trabajo una lista de los elementos del directorio.
idoneidad y desviación estándar. El resultado muestra correlación negativa entre

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á pre-


sente emite un TRUE, y si está ausente un FALSE.
DDF Boolean Select: Recibe dos entradas (trueInput y falseInput) y un token bo-
oleano 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.
#indica el batch-job de GRASS que se va a ejecutar
export
GRASS_BATCH_JOB=$DIR_RAIZ/PROGRAMAS/SCRIPTS/2_ejecuta_EXTRAE_COORDE-
NADAS.txt
# inicia el batch-job de GRASS en el mapset EVALUACION
grass63 -text $DIR_GRASS_EV
Figura 39: Actores de Kepler utilizados en este proyecto.

String Constant: Contiene una cadena de texto, generalmente una ruta, una ex- 2_ejecuta_EXTRAE_COORDENADAS.txt
presión o una orden, y la emite a través de output. Se utiliza, entre otras cosas,
para pasar órdenes al siguiente actor. Este script realiza la secuencia de rasterización y vectorización de polígonos dise-
External Execution: Permite llamar a una aplicación externa o a un script. Acepta ñada para transformarlos en nubes de puntos. Importa un shp y devuelve un fichero
un comando (command) y un directorio de trabajo para ejecutar su tarea. Se utiliza de texto con las coordenadas de la nube de puntos.
para llamar los scripts de Bash, R, Octave y GRASS. # TRATAMIENTO DEL SHAPEFILE DE PRESENCIA DE LA ESPECIE
Expresión de R: Los actores R son muy flexibles, y pueden modificarse a voluntad # importacion de las entidades poligonales
alterando el código y los puertos. El que se muestra lee una tabla, pero pueden v.in.ogr -o dsn=$DIR_RAIZ/PRESENCIA_SHP/${NOM_ESPECIE}.shp output=$
hacer casi cualquier cosa. Sin embargo, no ha sido posible utilizarlos para generar {NOM_ESPECIE}_PRESENCIA min_area=0.0001 snap=-1 --overwrite
los gráficos del flujo. Se ha mostrado más potente la posibilidad de invocar los # calculo de centroides
scripts de R mediante External Execution. 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 TRABAJO DE FIN DE MASTER

{NOM_ESPECIE}_CENTROIDES option=add layer=1 cat=1 step=1 g.region res=$RESOLUCION


# conversion de los centroides en puntos # elimina fichero vectorial que ya no es necesario
v.type.sh input=${NOM_ESPECIE}_CENTROIDES output=$ g.remove vect=${NOM_ESPECIE}_CELDAS_BUFFER
{NOM_ESPECIE}_CENTROIDES_pt 'type=centroid to point'
# renombrado de fichero vectorial de centroides
g.rename vect=${NOM_ESPECIE}_CENTROIDES_pt,${NOM_ESPECIE}_CENTROIDES 3_PROCESA_COORDENADAS.m
# rasterizacion de los centroides
Es el script de Octave que mide la distancia entre puntos, descartando todos
v.to.rast input=${NOM_ESPECIE}_CENTROIDES output=$ aquellos que no cumplen la condición de mínima distancia. Lo lanza el actor
{NOM_ESPECIE}_CENTROIDES use=val type=point layer=1 value=1 rows=4096
--overwrite
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
# rasterizacion del shapefile de presencia de la especie
de Octave, por lo que el flujo de trabajo ya las proporciona). Solo se muestran los
v.to.rast input=${NOM_ESPECIE}_PRESENCIA output=${NOM_ESPECIE}_PRES- elementos principales del código.
ENCIA use=val type=point,line,area layer=1 value=1 rows=4096 --over-
write % parametros de entrada
# union de los raster CENTROIDES y PRESENCIA en el raster CELDAS UMBRAL = load('MIN_DIS');
r.patch input=${NOM_ESPECIE}_CENTROIDES,${NOM_ESPECIE}_PRESENCIA PORCENTAJEEVALUACION = load('PARTICION');
output=${NOM_ESPECIE}_CELDAS --overwrite % carga el archivo de presencias
# vectorizacion del raster CELDAS PRESENCIAS = load ('PRESENCIAS.txt'); % importa el archivo de coorde-
r.to.vect input=${NOM_ESPECIE}_CELDAS output=${NOM_ESPECIE}_PUNTOS nadas en formato xy (texto ascii, formato: 550721 4097642)
feature=point XY = sortrows (PRESENCIAS);
# elimina la columna "value" de la tabla del vectorial PUNTOS TAMANOMUESTRA = rows (XY); % determina el numero de puntos totales
v.db.dropcol map=${NOM_ESPECIE}_PUNTOS layer=1 column=value % bucle que elimina puntos si no cumplen el criterio MIN_DIS
# renombra la columna "label" como "TIPO" for PUNTOREFERENCIA = 1:TAMANOMUESTRA;
v.db.renamecol map=${NOM_ESPECIE}_PUNTOS layer=1 column=label,TIPO for PUNTOSIGUIENTE = PUNTOREFERENCIA + 1:TAMANOMUESTRA;
# actualiza los valores del campo "TIPO" a la cadena "PTS_INICIALES" DISTX = (XY (PUNTOREFERENCIA,1) - XY (PUNTOSIGUIENTE,1));
v.db.update map=${NOM_ESPECIE}_PUNTOS layer=1 column=TIPO DISTY = (XY (PUNTOREFERENCIA,2) - XY (PUNTOSIGUIENTE,2));
value="PTS_INICIALES"
DISTANCIA = ((DISTX * DISTX) + (DISTY * DISTY))^(1/2);
# GENERA RECTANGULO CON EL AMBITO DE PRESENCIA DE LA ESPECIE
if (DISTANCIA < UMBRAL); % CONDICION DE MINIMA DISTANCIA
# prepara un buffer de 2000 metros sobre el vectorial PUNTOS
XY (PUNTOSIGUIENTE, :) = 0;
v.buffer input=${NOM_ESPECIE}_PUNTOS output=$
end
{NOM_ESPECIE}_CELDAS_BUFFER type=point layer=1 buffer=2000 scale=1.0
tolerance=0.01 --overwrite end
# configura el tamano de la region al vectorial CELDAS_BUFFER. Esta end
region es el ambito de presencia de la especie % generacion de muestras aleatorias
g.region vect=${NOM_ESPECIE}_CELDAS_BUFFER CALIBRADO (1, 2) = zeros; % inicia la matriz calibrado
# genera un rectangulo vectorial adaptado al tamano de la region EVALUACION (1, 2) = zeros; % inicia la matriz evaluacion
definida en el paso anterior
SEMILLAALEATORIA = randseed; % semilla de aleatorizacion
v.in.region output=${NOM_ESPECIE}_AMBITO type=line
XYORDENADO = randintrlv (XYORDENADO, SEMILLAALEATORIA);
# vuelve a configurar la region a las medidas de la mascara
% CALCULA LOS TAMA�OS DE MUESTRA DE CALIBRADO Y EVALUACION SEGUN EL
g.region rast=MASK PORCENTAJE DE PUNTOS QUE SE UTILIZARAN PARA EVALUAR
# configura la resolucion de trabajo segun la establecida por el PORCENTAJECALIBRADO = (100 - PORCENTAJEEVALUACION);
usuario en el parametro RESOLUCION

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 TRABAJO DE FIN DE MASTER

TAMANOEVALUACION = round ((PORCENTAJEEVALUACION * NUMEROPRESENCIAS) / TEMPORAL/OM_EVALUACION_${ALGORITMO}.txt


100); sed -i "s/NOMBRE_ALGORITMO/${ALGORITMO}/g" $DIR_RAIZ/TEMPORAL/OM_EVALU-
TAMANOCALIBRADO = round ((PORCENTAJECALIBRADO * NUMEROPRESENCIAS) / ACION_${ALGORITMO}.txt
100); done

% GENERACION DE MUESTRAS ALEATORIAS


CALIBRADO (1, 2) = zeros; % INICIA LA MATRIZ CALIBRADO 6_inicia_MODELOS_EVALUACION.sh
EVALUACION (1, 2) = zeros; % INICIA LA MATRIZ EVALUACION
Controlado por el actor EJECUTA_MODELOS (Figura 14), este script ejecuta los
modelos de OpenModeller invocando los ficheros de configuración generados por el
SEMILLAALEATORIA = randseed; % SEMILLA DE ALEATORIZACION script anterior, y ejecuta el modelo MaxEnt. Posteriormente inicia el batch-job de
XYORDENADO = randintrlv (XYORDENADO, SEMILLAALEATORIA); % REORDENA GRASS que los procesa.
ALEATORIAMENTE LA MATRIZ XYORDENADO SEGUN EL ESTADO DE LA SEMILLA
ALEATORIA ALGORITMOS_OM=`echo CH EU GA MH MN NN VM`
export ALGORITMOS_OM
CALIBRADO = XYORDENADO (TAMANOEVALUACION + 1:NUMEROPRESENCIAS, :); % # ejecuta los modelos de OpenModeller
CREA LA MATRIZ CALIBRADO, QUE CONTIENE LAS COORDENADAS DE CALIBRADO DE for ALGORITMO in $ALGORITMOS_OM; do
LA MUESTRA n om_console OM_EVALUACION_${ALGORITMO}.txt
EVALUACION = XYORDENADO (1:TAMANOEVALUACION, :); % CREA LA MATRIZ EVAL- done
UACION, QUE CONTIENE LAS COORDENADAS DE EVALUACION DE LA MUESTRA n
# ejecuta MaxEnt
PRESENCIASfinal = vertcat (CALIBRADO,EVALUACION);
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_SELEC-
4_FORMATEA_ARCHIVOS.sh CIONADA.csv -o $DIR_RAIZ/RESULTADOS/$ESP_SELECCIONADA/EVALUACION

Es un script lanzado por el actor RENOMBRA_FICHEROS (ver Figura 7), que usa Una vez terminado el batch-job (no se ha mostrado la línea que lo lanza), el script
la orden mv de bash para mover y renombrar ficheros. Su código no tiene mayor reorganiza los ficheros de definición de modelos, borra los mapas .asc que ya están
interés. 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
Flujo MODPLAN
5_OM_UNE_CABECERA_PARAMETROS.sh
7_ejecuta_MODELOS_EVALUACION.txt
Un fichero de ejecución de OpenModeller tiene una cabecera, en la que se confi-
guran las rutas de acceso a datos, y una sección en la que se configuran los paráme- Este batch-job importa y ensambla los modelos, extrae los valores sobre los
tros de cada algoritmo. El script utiliza un bucle que itera sobre una lista con los acró- modelos de los puntos de calibrado y evaluación, genera puntos aleatorios y extrae
nimos de los modelos para pegar la cabecera con sus respectivos ficheros de pará- los valores de esos puntos sobre los modelos, prepara los ficheros de evaluación y
metros de los modelos. genera mapas de los modelos.
# IMPORTACION DE MODELOS
ALGORITMOS_OM=( CH EU GA MH MN NN VM )
for MODELO in $ALGORITMOS_OM ; do
for ALGORITMO in ${ALGORITMOS_OM[@]};do
r.in.arc input=$DIR_RAIZ/RESULTADOS/$ESP_SELECCIONADA/EVALUACION/$
cat $DIR_RAIZ/TEMPORAL/OM_CABECERA.txt
{ESP_SELECCIONADA}_${MODELO}.asc output=${ESP_SELECCIONADA}_${MODELO}
$DIR_RAIZ/PROGRAMAS/SCRIPTS/OM_PARAMETROS_${ALGORITMO}.txt > $DIR_RAIZ/
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 TRABAJO DE FIN DE MASTER

done varchar(25), CODE integer"


r.in.arc input=$DIR_RAIZ/RESULTADOS/$ESP_SELECCIONADA/EVALUACION/$ # loop que itera sobre la lista de modelos
{ESP_SELECCIONADA}_ME.asc output=${ESP_SELECCIONADA}_ME type=FCELL for ALGORITMO in $ALGORITMOS_ALL; do
mult=1 --overwrite
# crea nueva columna en la tabla de ALEATORIOS con el nombre del algo-
# ENSAMBLADO DE MODELOS ritmo
# calcula mediana de modelos v.db.addcol map=${ESP_SELECCIONADA}_ALEATORIOS layer=1 columns="${ALGO-
r.series input="`g.mlist pattern="${ESP_SELECCIONADA}_??" sep=,`" RITMO} double precision"
output=${ESP_SELECCIONADA}_EC method=median --overwrite # actualiza la nueva columna con los valores del modelo
# calcula la desviacion estandar v.what.rast vector=${ESP_SELECCIONADA}_ALEATORIOS raster=${ESP_SELEC-
r.series input="`g.mlist pattern="${ESP_SELECCIONADA}_??" sep=,`" CIONADA}_${ALGORITMO} layer=1 column=${ALGORITMO}
output=${ESP_SELECCIONADA}_DE method=stddev –overwrite done
# CONSULTA Y EXPORTACION DE LOS VALORES DE LOS PUNTOS SOBRE LOS MODELOS #MAPA DISTRIBUCION SIMPLE
# itera sobre la lista de modelos # establece variables graficas de GRASS
for ALGORITMO in $ALGORITMOS_ALL ; do GRASS_WIDTH=2048
# anade columna con el nombre del modelo GRASS_HEIGHT=1290
v.db.addcol map=${ESP_SELECCIONADA}_CALIBRADO_EVALUACION layer=1 GRASS_PS_COMPRESSION=0
columns="${ALGORITMO} double precision"
GRASS_TRUECOLOR=TRUE
# actualiza el campo con los valores correspondientes a los puntos
export GRASS_WIDTH GRASS_HEIGHT GRASS_TRUECOLOR GRASS_PS_COMPRESSION
v.what.rast vector=${ESP_SELECCIONADA}_CALIBRADO_EVALUACION raster=$
{ESP_SELECCIONADA}_${ALGORITMO} layer=1 column=${ALGORITMO} g.region rast=MASK
done g.region res=100
# exporta y edita la tabla con los valores de los puntos de evaluacion
para calcular los puntos de corte # inicia monitor grafico para exportar los mapas a formato PNG
echo "SELECT * FROM ${ESP_SELECCIONADA}_CALIBRADO_EVALUACION WHERE d.mon start=PNG
CODE=1" | db.select nv=0 > $DIR_RAIZ/TEMPORAL/VALORES_PUNTOS_EVALUA- # establece fuente de texto
CION.txt
d.font font=Vera
#GENERACION DE PUNTOS ALEATORIOS SOBRE LOS MODELOS
# dibuja el mapa raster relieve
#genera puntos aleatorios para todo el territorio (ambito global)
d.rast RELIEVE
v.random -d output=ALEATORIOS_GLOBAL n=10000 zmin=0.0 zmax=0.0
# dibuja el mapa vectorial provincias
#rasteriza los puntos; de este modo, aquellos que quedan fuera de la
mascara desaparecen d.vect map=PROVINCIAS type=boundary color=64,64,64 width=2 fcolor=none
v.to.rast input=ALEATORIOS_GLOBAL output=ALEATORIOS_GLOBAL use=val # dibuja la barra con la escala grafica
type=point layer=1 value=1 rows=4096 --overwrite d.barscale -t bcolor=none at=60,80
# vectoriza de nuevo los puntos. Ahora no estan los que quedaban fuera # dibuja el mapa vectorial AMBITO
de la mascara d.vect map=${ESP_SELECCIONADA}_AMBITO type=line color=207,40,44 width=3
r.to.vect input=ALEATORIOS_GLOBAL output=ALEATORIOS_GLOBAL #dibuja el mapa vectorial PRESENCIA
feature=point --overwrite
d.vect map=${ESP_SELECCIONADA}_PRESENCIA type=area fcolor=207,40,44
# elimina la tabla del fichero vectorial para sustituirla por otra color=207,40,44 width=2
nueva
#dibuja el mapa vectorial CENTROIDES
v.db.droptable -f map=ALEATORIOS_GLOBAL layer=1
d.vect map=${ESP_SELECCIONADA}_CENTROIDES type=point icon=basic/circle
#crea una tabla para los puntos aleatorios con tres columnas width=2 size=5 color=207,40,44 fcolor=207,40,44
v.db.addtable map=ALEATORIOS_GLOBAL layer=1 columns="cat integer, TIPO # 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 TRABAJO DE FIN DE MASTER

d.text -b at=4,89 << EOF (B(:,1:NUMERO_MODELOS) .+ D(:,1:NUMERO_MODELOS));


.C black FRACCIONFALSOSPOSITIVOS (:,1:NUMERO_MODELOS) = 1 .-
.S 3 ESPECIFICIDAD(:,1:NUMERO_MODELOS);
.B 1 %CALCULO AUC
Distribucion de ${ESP_SELECCIONADA} for PROBABILIDAD = 1:100 %ITERA EN CADA VALOR DE IDONEIDAD
EOF AUC (ITERACION, 1:NUMERO_MODELOS) = AUC (ITERACION,
1:NUMERO_MODELOS) .+ (SENSIBILIDAD (PROBABILIDAD .+ 1,
# detiene el monitor grafico 1:NUMERO_MODELOS) .+ SENSIBILIDAD (PROBABILIDAD, 1:NUMERO_MODELOS)) ./
d.mon stop=PNG 2 .* (FRACCIONFALSOSPOSITIVOS (PROBABILIDAD, 1:NUMERO_MODELOS) .- FRAC-
CIONFALSOSPOSITIVOS (PROBABILIDAD .+ 1, 1:NUMERO_MODELOS));
end
8_EVALUA_MODELOS.m end

Este script de Octave ejecuta la evaluación estadística de los modelos, utilizando


como entrada los valores de los puntos de evaluación y los puntos aleatorios. Lo 9_ORGANIZA_EVALUACION.sh
lanza el actor EVALUA_MODELOS.
%CALCULO DEL AREA BAJO LA CURVA (AUC)Y PMP Lanzado por el actor PREPARA_FICHEROS (Figura 14), este script es un flujo de
for ITERACION = 1:ITERACIONES 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
ALEATORIOSper = randintrlv (ALEATORIOS, 1+ITERACION);
gráficas de evaluación.
ALEATORIOSper (NUMERO_PRESENCIAS + 1:NUMERO_ALEATORIOS, :) = [];
%CALCULO DE PROBABILIDAD MEJOR PROMEDIO:
PROMEDIO_SIMULADO=mean(ALEATORIOSper);
SIMULACION(ITERACION,:) = (PROMEDIO_SIMULADO <= PROMEDIO_REAL); 10_GRAFICOS_EVALUACION.r
A = zeros (101,NUMERO_MODELOS); %VERDADEROS POSITIVOS
B = zeros (101,NUMERO_MODELOS); %FALSOS POSITIVOS
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
C = zeros (101,NUMERO_MODELOS); %FALSOS NEGATIVOS
índices de evaluación. Se muestra como ejemplo el código del boxplot de AUC local.
D = zeros (101,NUMERO_MODELOS); %VERDADEROS NEGATIVOS
# inicia salida grafica
for PROBABILIDAD = 0:100
pdf("GRAFICOS_EVALUACION.pdf", width=9, height=7)
Amat = PRESENCIAS >= PROBABILIDAD;
par(mfrow=c(2,2), cex=0.6, mar=c(4,4,2,1), oma=c(2,2,4,3))
Bmat = ALEATORIOSper >= PROBABILIDAD;
# lee la tabla con los valores de AUC local
Cmat = PRESENCIAS < PROBABILIDAD;
AUC_LOCAL <- read-
Dmat = ALEATORIOSper < PROBABILIDAD;
.table("DIRECTORIO_RAIZ/TEMPORAL/AUC_LOCAL_VALORES.txt", header=TRUE,
A(PROBABILIDAD+1,1:NUMERO_MODELOS)=sum(Amat); sep="\t", na.strings="NA", dec=".", strip.white=TRUE)
B(PROBABILIDAD+1,1:NUMERO_MODELOS)=sum(Bmat); # boxplot con los valores de AUC local
C(PROBABILIDAD+1,1:NUMERO_MODELOS)=sum(Cmat); boxplot(AUC_LOCAL, notch = F, main="AUC local", col=("olivedrab4"),
D(PROBABILIDAD+1,1:NUMERO_MODELOS)=sum(Dmat); ylab=c("AUC"), ylim=c(0.4,(AUC_LOCAL_maximo2)))
end title("AUC local")
%CALCULO DE MEDIDAS DE PRECISION NECESARIAS PARA AUC # lineas de referencia
SENSIBILIDAD (:,1:NUMERO_MODELOS) = A (:,1:NUMERO_MODELOS) ./ abline(h=(AUC_LOCAL_mean), col="olivedrab4", lwd=1)
(A(:,1:NUMERO_MODELOS) .+ C(:,1:NUMERO_MODELOS)); # texto de las lineas de referencia
ESPECIFICIDAD (:,1:NUMERO_MODELOS) = D (:,1:NUMERO_MODELOS) ./ texto.max="max"

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO 46
BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS TRABAJO DE FIN DE MASTER

texto.med="med" #transforma el mapa raster en vectorial


text(0.5,AUC_LOCAL_mean+0.020, texto.med, cex=0.9) r.to.vect -s input=${ESP_SELECCIONADA}_EC_2000_area2 output=$
dev.off() {ESP_SELECCIONADA}_EC_2000_presencia feature=area --overwrite
#exporta la tabla que tiene una linea por cada poligono del vectorial
echo "SELECT * FROM ${ESP_SELECCIONADA}_EC_2000_presencia" | db.select
11_inicia_MODELOS_CALIBRADO.sh nv=0 > ${DIR_RAIZ}/TEMPORAL/PARCHES_POLIGONOS_CONTINUO_2000.txt
#lee la ultima linea de la tabla del vectorial, para extraer el numero
Este script es lanzado por el actor CALIBRADO_MODELO (Figura 15), y ejecuta de parches de la columna "cat"
de nuevo los modelos, pero utilizando como entrada todos los puntos de presencia tail -1 ${DIR_RAIZ}/TEMPORAL/PARCHES_POLIGONOS_CONTINUO_2000.txt | sed
de la especie, y lanza el batch-job de GRASS 12 ejecuta MODELOS CALIBRADO.txt. 's/|1|0//g' > ${DIR_RAIZ}/TEMPORAL/PARCHES_NUMERO_CONTINUO_2000.txt
El código del script 11 es muy similar al del 6, por lo que no se muestra.

13_inicia_PROYECCION.sh

12_ejecuta_MODELOS_CALIBRADO.sh 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
Este batch-job importa los modelos recalibrados, los ensambla, extrae los valores sobre la lista de escenarios. En cada iteración lanza el batch-job 14 ejecuta
de los puntos sobre los modelos, calcula el área de ocupación potencial de la PROYECCION.txt, que procesa los modelos proyectados. El bucle anidado itera
especie, el número de parches de hábitat idóneo y genera los mapas del ensam- sobre la lista de algoritmos.
blado. La mayor parte del código es similar al del script 7, por lo que solo se mues- ESCENARIO=`echo LISTA_ESCENARIOS`
tran las partes no comunes, referidas al cálculo de área y número de parches.
# itera sobre cada elemento de la lista de escenarios
# CALCULO DE AREA DE OCUPACION Y NUMERO DE PARCHES for nombre_escenario in ${ESCENARIO[@]}; do
# copia el fichero RECODE_ENSAMBLADO_CONTINUO a TEMPORAL # copia las definiciones de los modelos al directorio PROYECCION
cp $DIR_RAIZ/PROGRAMAS/SCRIPTS/RECODE_ENSAMBLADO_CONTINUO cp $DIR_RAIZ/RESULTADOS/${ESP_SELECCIONADA}/PROYECCION/MODELOS/*.xml
$DIR_RAIZ/TEMPORAL $DIR_RAIZ/RESULTADOS/${ESP_SELECCIONADA}/PROYECCION
# sustituye en el fichero la clave UMBRAL_ENSCON # reemplaza en las definiciones de los modelos la cadena CALIBRADO por
sed -i "s/UMBRAL_ENSCON/$UMBRAL_ENSCON/g" la cadena PROYECCION/NOMBRE_ESCENARIO
$DIR_RAIZ/TEMPORAL/RECODE_ENSAMBLADO_CONTINUO rpl /CALIBRADO /PROYECCION/${nombre_escenario} *.xml
# recodifica el modelo de idoneidad # lista de algoritmos de OpenModeller
r.recode input=${ESP_SELECCIONADA}_EC_2000 output=${ESP_SELEC- ALGORITMOS_OM=`echo CH EU GA MH MN NN VM`
CIONADA}_EC_2000_area1 rules=$
{DIR_RAIZ}/TEMPORAL/RECODE_ENSAMBLADO_CONTINUO export ALGORITMOS_OM
#filtro de mediana con kernel 3x3 para eliminar celdas aisladas for ALGORITMO in $ALGORITMOS_OM; do
r.neighbors input=${ESP_SELECCIONADA}_EC_2000_area1 output=${ESP_SELEC- # proyecta modelos OpenModeller
CIONADA}_EC_2000_area2 method=mode size=3 om_project --model ${ESP_SELECCIONADA}_${ALGORITMO}.xml --format
#elimina los valores 0 del mapa, preparandolo para su vectorizacion FloatingASC --dist-map ${ESP_SELECCIONADA}_${ALGORITMO}.asc
r.null map=${ESP_SELECCIONADA}_EC_2000_area2 setnull=0 done
#extrae la suma de celdas del mapa binario # proyecta modelo MaxEnt
r.sum rast=${ESP_SELECCIONADA}_EC_2000_area2 >> $ java -mx2600m -cp maxent.jar density.Project ${ESP_SELEC-
{DIR_RAIZ}/TEMPORAL/AREA_CONTINUO_2000.txt CIONADA}.lambdas $DIR_RAIZ/VARIABLES/PROYECCION/${nombre_escenario} $
{ESP_SELECCIONADA}_c_ME.asc dontextrapolate dontwriteclampgrid
#elimina una cadena de caracteres
done
sed -i 's/SUM = //g' ${DIR_RAIZ}/TEMPORAL/AREA_CONTINUO_2000.txt

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 TRABAJO DE FIN DE MASTER

14_ejecuta_PROYECCION.txt E)
umbral <- read.table("DIRECTORIO_RAIZ/TEMPORAL/UMBRAL_CORTE_ENSCON",
Este batch-job de GRASS hace las mismas tareas que el 12, pero añadiendo a header=FALSE)
cada resultado el nombre del escenario correspondiente, por lo que su código no resolucion <- read.table("DIRECTORIO_RAIZ/TEMPORAL/RESOLUCION",
tiene mayor interés. header=FALSE)
...
TIEMPO <- c(2000, 2020, 2040, 2060, 2080, 2100)
ESCENARIOS <- c("CGCM2_A2", "CGCM2_B2","ECHAM4_A2","ECHAM4_B2")
15_inicia_ANALISIS_FINALES.sh # GRAFICA DE REQUERIMIENTOS ECOLOGICOS
Es un script de bash lanzado por el actor ANALISIS (Figura 16). Su misión prin- pdf("REQUERIMIENTOS_ECOLOGICOS.pdf", width=11.5, height=8)
cipal es lanzar el batch-job 16 ejecuta ANALISIS FINALES.txt, preparar los ficheros par(mfrow=c(3,2), cex=0.6, mar=c(3,4,2,1), oma=c(2,2,4,2))
para las gráficas de área y número de parches, y limpiar directorios con ficheros layout(matrix(c(1,2,3,4,5,6,7,8,9,10), 5, 2, byrow = TRUE))
temporales que ya no son necesarios. # calcula densidad de la muestra de presencias
densidad_CL_PA <- density(presencias$CL_PA)
# calcula densidad de los puntos aleatorios global
densidad_global_CL_PA <- density(aleatorios.global$CL_PA)
16_ejecuta_ANALISIS_FINALES.txt
# calcula el valor maximo posible del eje y
Se encarga de hacer el mapa de diferencias entre modelos, el mapa de persis- ymaximos <- c(densidad_CL_PA$y, densidad_global_CL_PA$y)
tencia y exportar la tabla VALORES_PUNTOS con el muestreo realizado a todos los ymax=max(ymaximos)
ensamblados generados. # dibuja la grafica
# calcula diferencias entre el modelo continuo calibrado y el modelo plot(densidad_global_CL_PA, main="Precipitacion anual (milimetros)",
continuo de evaluacion ylab="", xlim=c(100, max(aleatorios.global$CL_PA)), ylim=c(0,ymax))
r.mapcalc ${ESP_SELECCIONADA}_DIFERENCIAS_EC=$ # rellena un poligono con la curva de densidad de las presencias
{ESP_SELECCIONADA}_EC_2000-${ESP_SELECCIONADA}_EC polygon(densidad_CL_PA, col="tomato", border="tomato")
# calcula mapa de persistencia sumando modelos de idoneidad transfor- # dibuja una linea con la curva de densidad del territorio de trabajo
mados en binarios
lines(densidad_global_CL_PA,xlim=c(0, max(aleatorios.global$CL_PA)),
r.series input="`g.mlist pattern="${ESP_SELECCIONADA}_EC_??_????_area1" ylim=c(0,ymax))
sep=,`" output=${ESP_SELECCIONADA}_PERSISTENCIA_1 method=sum --over-
write # dibuja una linea vertical en el promedio del valor de la variable
para todo el territorio
# recodifica el mapa en valores de 0 a 100
abline(v=mean(aleatorios.global$CL_PA), lwd=2)
r.recode input=${ESP_SELECCIONADA}_PERSISTENCIA_1 output=${ESP_SELEC-
# dibuja una linea vertical en el promedio del valor de la variable
CIONADA}_PERSISTENCIA rules=$
{DIR_RAIZ}/PROGRAMAS/SCRIPTS/RECODE_MAPA_PERSISTENCIA –overwrite para todos los puntos de presencia
abline(v=mean(presencias$CL_PA), col="tomato4", lwd=2)
#LEYENDA
17_GRAFICOS_ANALISIS_FINALES.r texto.media.especie="promedio especie"
texto.media.territorio="promedio territorio"
Este script de R, lanzado por el actor GRAFICOS3 (Figura 16) se encarga de leer
text(mean(aleatorios.global$CL_PA)-200, ymax-(ymax/5), texto.media.ter-
los datos, organizarlos y generar gráficos descriptivos.
ritorio, cex=1.2)
# carga tabla VALORES_PUNTOS text(mean(presencias$CL_PA)+200, ymax-(ymax/15), texto.media.especie,
DATOS <- read- cex=1.2, col="tomato4")
.table("DIRECTORIO_RAIZ/TEMPORAL/VALORES_PUNTOS.txt",sep="|",header=TRU

FLUJO DE TRABAJO PARA LA SIMULACIÓN DE CAMBIOS EN LA DISTRIBUCIÓN DE PLANTAS EN ESCENARIOS DE CAMBIO CLIMÁTICO 48
BLAS BENITO DE PANDO, ALUMNO DE 9ª PROMOCIÓN UNIGIS TRABAJO DE FIN DE MASTER

dev.off() nrpoints=0, colramp=colorRampPalette(colores.naranja), main="Precipita-


#GRAFICO BIVARIANTE (IDONEIDAD vs DESVIACION) cion anual", xlim=c(0,100), ylab="(mm)")
#################################### lines(lowess(aleatorios.global$C_2000C,aleatorios.global$CL_PA),
col="red", lwd=1)
lines(lowess(aleatorios.local$C_2000C,aleatorios.local$CL_PA),
#INICIO GRAFICO col="#7F0000", lwd=1)
CairoPDF(file="DIFERENCIAS_CALIBRADO_EVALUACION_2.pdf", width=6, lines(lowess(presencias$C_2000C,presencias$CL_PA), col="black")
height=6, onefile=TRUE)
legend(0, y_leyenda, c("Tendencia global", "Tendencia local",
par(mfrow=c(2,2), mar=c(1,1,1,1), oma=c(2,2,4,2)) "Tendencia presencias"), lty=c(1,1), col=c("red", "#7F0000", "black"),
#preparacion datos cex=1)
columnas <- c("EC","DE") ...
presencias_EV <- presencias[columnas] dev.off()
presencias_EV$MODELO="Evaluacion"
names(presencias_EV) <- c("IDONEIDAD", "DESVIACION", "MODELO")
18_ORGANIZA_INFORME.sh
columnas <- c("C_2000C","C_2000D")
presencias_CA <- presencias[columnas] Es un script de bash, lanzado por el actor PREPARA_INFORME (Figura 17) que
presencias_CA$MODELO="Calibrado" se encarga de preparar el material para el informe html. Concretamente, mueve las
names(presencias_CA) <- c("IDONEIDAD", "DESVIACION", "MODELO") imágenes de la carpeta de resultados de la especie al la carpeta INFORME, crea
IDONEIDAD_DESVIACION <- rbind(presencias_EV, presencias_CA) versiones reducidas de las imágenes mediante la orden “convert” de ImageMagick y
#grafico organiza el directorio de las animaciones. Llegados a este punto su código no tiene
mayor interés.
grafico <- chplot(DESVIACION~IDONEIDAD|MODELO, data=IDONEIDAD_DESVIA-
CION, plot.points=FALSE, mar.den=TRUE, cex=0.5, col=c("tomato",
"olivedrab4"), lwd=c(2,2), legend=list(cex=.7, area.in=FALSE,
lwd=c(2,2)))
#FINAL GRAFICO
mtext("Comparacion Idoneidad vs. Desviacion", side=3, outer=TRUE,
cex=1.3)
#FINAL GRAFICO
dev.off()
...
#INICIO GRAFICO
pdf("ANALISIS_MODELO.pdf", width=12, height=12)
par(mfrow=c(3,2), cex=0.6, mar=c(3,4,2,1), oma=c(2,2,4,2))
layout(matrix(c(1,2,3,4,5,6,7,8,9,10), 5, 2, byrow = TRUE))
# genera paleta de color
colores.naranja <- brewer.pal(9, "OrRd")
# calcula coordenadas de la leyenda
y_max <- max(aleatorios.global$CL_PA)
y_leyenda <- y_max-(ymax/10)

smoothScatter(aleatorios.global$C_2000C,aleatorios.global$CL_PA,

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

Potrebbero piacerti anche