scieee AI-readable full text Open interactive document viewer

Análisis Solar: análisis de datos en bloque de siete estaciones de medición de radiación solar en Almería

Alapont Tomás, Pablo

Abstract

Análisis Solar es un conjunto de sistemas, de OpenSource desarrollados para Python. Están diseñados para ensamblarse con la mayor facilidad posible y proporcionar inteligencia sobre los datos medidos y tomar decisiones. Estas decisiones pueden acabar afectando a la operación de centrales energéticas o a instalaciones que dependan del estado de sistemas parametrizables. Esta aplicación permite desplegar en hardware modesto, redes conceptuales de análisis ´ de datos sin necesidad de conocimientos complejos de informática. De forma que lo pueda hacer personal experto en el campo de estudio. Mostrando un ejemplo de uso. El proyecto está disponible para su uso bajo licencia MIT en http://github.com/Alapont/Solar para cualquier persona interesada.

Full text

An´alisis Solar An´alisis de datos en bloque de siete estaciones de medici´on de radiaci´on solar en Almer´ıa Por Pablo Alapont Tom´ as Departamento de Sistemas Inform´ aticos y Programaci´ on Facultad de Inform´ atica Trabajo de Fin de Grado Director: Rafael Caballero Rold´an Colaborador externo: Luis Fernandez Zarzalejo Tirado (CIEMAT) 2018 Septiembre An´alisis solar TFG Planta solar 2 Autorizaci´on para la difusi´on Se autoriza a la Universidad Complutense de Madrid (UCM) a difundir y utilizar con fines acad´emicos, siempre no comerciales y mencionando expresamente a su autor. Tanto la memoria y documentaci´on como el software y el trabajo realizado. Pablo Alapont Tom´as Madrid, Agosto 2018 3 An´alisis solar TFG Planta solar 4 Este documento se distribuye bajo la licencia Creative Commons BY-SA 4.0. Internacional. Usted es libre de: Compartir — copiar y redistribuir el material en cualquier medio o formato Adaptar — remezclar, transformar y construir a partir del material para cualquier prop´osito, incluso comercialmente. Bajo los siguientes t´erminos: Atribuci´on — Usted debe dar cr´edito de manera adecuada, brindar un enlace a la licencia, e indicar si se han realizado cambios. Puede hacerlo en cualquier forma razonable, pero no de forma tal que sugiera que usted o su uso tienen el apoyo de la licenciante. CompartirIgual — Si remezcla, transforma o crea a partir del material, debe distribuir su contribuci´on bajo la la misma licencia del original. Este documento esta realizado bajo licencia Creative Commons “Reconocimiento-CompartirIgual 4.0 Internacional”. 5 An´alisis solar TFG Planta solar 6 Agradecimientos Hay quien toma su Trabajo Fin de Grado como un hecho aislado del curr´ıculo acad´emico,para m´ı es el fin de unos estudios. Ya que se utilizan elementos de toda etapa universitaria, es justo que estos agradecimientos no reflejen s´olo el trabajo presente, tambi´en el pasado. Obligatorio el primer lugar, el mayor agradecimiento, el mas simple y mas directo es a Rafael Caballero Rold´an, que ha sido mas cabezota que yo para que sacase este trabajo adelante. Uno solo necesita a alguien mas cabezota y es lo que he tenido delante. Los que mas han sufrido con el grado han sido mis padres, Enrique Alapont y Teresa Tom´as. Cada uno se merece la plena dedicatoria, pues cada uno se ha involucrado en este trabajo y en toda mi vida como buenos padres que son. Los dos han escuchado mis penas y me han dado consejo. Los dos han buscado motivarme para que terminase el trabajo de la mejor manera posible. Y los dos celebran mis logros y sufren de mis fallos. Al igual que han sufrido tambi´en mis progresos (para lo bueno y lo malo) han sido mis abuelos, que siendo padres por partida doble, se alegran y sufren por partida doble, se merecen pues el doble de agradecimientos. ASCII guarda una deuda con quien ha ayudado en muchos trabajos de la carrera. Lo cual me incluye a mi. Siempre he intentado inculcar el valor de la colaboraci´on y los socios hemos encontrado siempre a gente dispuesta a dar la mano. Especial menci´on la de Miguel de Andr´es Herrero, fuente de sabidur´ıa de muchas asignaturas, y de muchas manos con muchos proyectos. M´onica Prieto ha sido esa persona que aparece en la vida de rebote sin mas relaci´on que una amistad de tercer grado de separaci´on. Si aparece en los agradecimientos es porque me fui a Finlandia pr´acticamente por c´omo me habl´o de Oulu, porque siempre ha estado ah´ı para mi para las tonter´ıas y para las preocupaciones. Moni siempre ha sido capaz de tomarse la vida con alegr´ıa sin perder de vista el mundo que la rodea, una alegr´ıa que contagia a su alrededor y quiero creer que si me tomo la vida as´ı es en parte por ella. Paljon kiitoksia kaikesta. As´ı como M´onica apareci´o de rebote, Julia Betsabeth Pazmi˜no apareci´o de m´as rebote a´un. Nos hemos acompa˜nado desde que nos conocimos, a veces en el sentido mas literal, tirados en Hamburgo cuando se nos fueron los trenes al garete. Siempre puedo contar con ella para todo y siempre es divertido estar con ella. Es incre´ıble como tiene que venir alguien de fuera a descubrirte tu propia ciudad. Como tampoco conozco a nadie capaz de mover a la gente como David Pacios Izquierdo. Una persona capaz de mover masas de uno en uno. Una persona que ser´ıa capaz de dar 7 An´alisis solar hasta su ropa sin esperar nada a cambio si ve a alguien que la necesita. Es incre´ıble la motivaci´on que puede generar esta persona, para este trabajo, para otros trabajos, para otras personas, y para la vida en general. Muchos tendr´ıan que nacer siete veces para ser un s´eptimo de lo que vale Pascal Vino la ´ultima persona en entrar en vida de las presentes en estas p´aginas. Sin embargo Leilase ha convertido en alguien muy importante para mi. Como dos idiotas que quieren remar en direcci´on contraria para jugar y acaban remando en la misma. Bill Murray dijo que sospecha de la gente a la que no le gustan los perros, pero que hu´ıa de la gente que no le gusta a los perros. Puede que se lleven bien. El equipo de FdIST, especialmente Jos´e Luis Vazquez-Poletti y Juancarlos Fabero, que en no habi´endome tratado mejor que a nadie, me han tratado como de la familia. Han dado cuerda y en lugar de prevenirme de mis locuras me han ayudado a encauzarlas a buen puerto. Cualquier centro de ense˜nanza necesita docentes as´ı. Importante y especial es la menci´on de Pablo Caretti Perucha y Lita. Con Pablo todo empez´o de broma, de esas que ni son bromas y duelen, yo con muletas y tu ri´endote. Ni te conoc´ıa. Acabamos haciendo media vida juntos, acabamos siendo felices por el otro, acabamos siendo los que somos por el otro, acabamos preocup´andonos por el otro. Si amo la m´usica, que es lo que me mueve desde antes de ponerme las gafas hasta despu´es de quit´armelas, que es lo que me ha moldeado en mi forma de pensar y de ser, es por ti. Espero que hayas disfrutado de mi tanto como yo he disfrutado de ti. Siempre me acuerdo de ti y siempre te tengo presente. Gracioso el momento a˜nos mas tarde me cruc´e con ella en una perrera, digo ella porque era un cachorro de podenco reci´en llegado a la perrera, sin nombre, sin vacunas ni microchip. Yo no la eleg´ı, no era para mi. Pero el tiempo quiso que acabase viviendo conmigo. Aunque ya no estaba entre nosotros, se acab´o viniendo conmigo a Finlandia y all´a donde he estado. Recuerdo con mucho cari˜no a mi madre arrojando a la perra a mi cuarto un s´abado por la ma˜nana para despertarme. Ella, que no es tonta se subi´o a mi cama y se ech´o a dormir. A los 5 minutos una bola de pelo de 20Kg ocupaba mas cama que yo. Habiendo mencionado a todos, y a los que me habr´e dejado por mencionar, pero que hab´eis estado ah´ı: Muchas gracias. TFG Planta solar 8 Sobre T EF LO N Teflon(cc by-nc 4.0)[6] es una plantilla de L A T EX creada por David Pacios Izquierdo con fecha de Enero de 2018. Con atribuciones de uso CC by-nc Esta plantilla fue desarrollada para facilitar la creaci´on de documentaci´on profesional para Trabajos de Fin de Grado o Trabajos de Fin de M´aster. La versi´on usada es la 1.2. V:1.2 Overleaf V2 with pdfLaTeX, margin 1in Contacto Autor: David Pacios Izquiero Correo: [email protected] ASCII: [email protected] Despacho 110 - Facultad de Inform´ atica 9 An´alisis solar TFG Planta solar 16 Abstract An´alisis Solar is a set of Open Source systems develloped in Python. They are designed to be joined as easy as possible to provide intelligence over measurements. This allows to take decissions regarding operations in power plants or stations depending on parametric systems. This system allows to deploy in modest hardware, data analysis networks, without the need of high level computer knowledge. This way, field experts could do it paying more attention to results than to deployment The proyect is abailable under MIT license at http://github.com/Alapont/Solar for any interested person. Palabras clave: Meteorology, network data analysis 17 An´alisis solar TFG Planta solar 18 Cap´ıtulo 1 Introducci´on 1.1. Motivaci´on Los dos grandes motores de la innovaci´on del ser humano a lo largo de la historia han sido la transformaci´on energ´etica y la predicci´on del tiempo. A lo largo del tiempo hemos transformado la energ´ıa primero en calor, mas tarde en movimiento, en protecci´on y actualmente en informaci´on. Igualmente ha ocurrido con desarrollo de la f´ısica para predecir del futuro, para analizar y entender el funcionamiento del mundo que nos rodea para saber qu´e pasar´a ma˜nana. Hemos aprendido a saber si va a llover, si es correcto cultivar una planta u otra. Hemos calculado Si un puente ser´a capaz de aguantar su propio peso, d´onde caer´a un proyectil y siendo mas exigentes si una casa podr´a evitar el colapso en caso de incendio el tiempo suficiente para desalojarla o cual es la forma correcta de generar un medicamento para optimizar su efectividad. Las necesidades energ´eticas son uno de los puntos clave de la supervivencia del ser humano. As´ı lo declara la Organizaci´on de las Naciones Unidas [10] en su pol´ıtica energ´etica para el S.XXI Conseguir fuentes de energ´ıa limpias, duraderas y ´optimas es primordial[3]. La Uni´on Europea declara tambi´en primordial la investigaci´on de materiales a la hora de mejorar la eficiencia energ´etica [1]. Para aprovechar de la mejor manera posible las fuentes energ´eticas es necesario obtener y analizar informaci´on del entorno con el fin de afinar y calibrar el funcionamiento de las centrales energ´eticas. De esta forma se mejora el funcionamiento de estas centrales y se reduce su mantenimiento. Alargando la vida ´util y mejorando la viabilidad econ´omica. La planta solar de Almer´ıa es un centro de estudio de actividades de concentraci´on solar bajo el paraguas del Centro de Investigaciones Energ´eticas, Medioambientales y Tecnol´ogicas. Sus ´areas de estudio son la Tecnolog´ıa solar de concentraci´on, el almacenamiento t´ermico y combustibles solares, la desalaci´on solar y el tratamiento solar del agua. Se encuentra en un lugar privilegiado, siendo el sur de Espa˜na una de las mayores fuentes de radiaci´on solar alcanzando los 5,4kW/m2 19 An´alisis solar Figura 1.1: Mapa de la radiaci´on media de Espa˜na. Figura 1.2: Mapa de la radiaci´on media de Almer´ıa La localizaci´on Plataforma Solar de Almer´ıa aparece marcada en el centro. 1 Se realizan numerosos estudios en ATYCOS sobre almacenamiento de energ´ıa solar. En la planta solar de Almer´ıa se realizan tambi´en estudios sobre almacenamiento t´ermico y qu´ımico o sobre producci´on energ´etica. Todos estos estudios, pueden desplazar al carb´on como fuente de energ´ıa barata en pa´ıses en desarrollo [8]. Nos interesa el funcionamiento en general de las centrales de Torre y en particular de la central CESA-I. Consisten en una serie de espejos llamados heliostatos que siguen el movimiento del sol y concentran la radiaci´on en un punto de una torre. En el caso de CESA-I es un punto de 2.8m en una torre de 80m de alto. Tambi´en incorpora una cavidad a 45m para probar materiales en un horno solar, una cavidad a 60m con un calor´ımetro y una cavidad multiprop´osito a 75m. Igualmente la instalaci´on incluye dos turbinas de 1.2MW dise˜nadas para trabajar con vapor a 793K y 10 MPa.[14] Es muy f´acil encontrar estudios sobre lo encontrado en gran variedad de sensores y campos. Pero es muy dif´ıcil encontrar estudios que relacionen eventos en diferentes instrumentos de un sat´elite en el espacio, o en m´ultiples estaciones repartidas por cualquier ´area geogr´afica. Proponiendo aqu´ı un m´etodo de aunar diferentes datos de diferentes estaciones para lograr lecturas en su conjunto. Con este trabajo queremos proporcionar un sistema que facilite el uso de centrales energ´eticas, ya que un uso mas f´acil revierte en un despliegue mas barato y de mayor calidad. 1.2. Objetivos El fin del trabajo es proporcionar una plataforma de an´alisis de datos meteorol´ogicos con el que poder tomar decisiones. En este caso partimos de los datos de 7 estaciones meteorol´ogicas capaces de medir la incidencia de radiaci´on solar por unidad de ´area en la TFG Planta solar 20 An´alisis solar zona de la Planta Solar de Almer´ıa. Otorg´andonos unos datos reales sobre los que aplicar nuestro estudio. Figura 1.3: Distribuci´on de la Planta Solar de Almer´ıa, Localizaci´on de las diferentes estaciones de la Planta Solar de Almer´ıa. Se ha tratado de leer secuencialmente las lecturas de diferentes estaciones. El fin en este caso es el de detectar el estado del cielo y sus artefactos para ajustar la incidencia de la luz solar en la caldera de la central y reducir su fatiga. [2] 1.3. Metodolog´ıa Para ello hemos realizado un sistema capaz de analizar, tratar, contextualizar, mostrar y preparar datos unificados de varias fuentes y ponerlos relativos en el tiempo con el fin de evaluarlos y sacar conclusiones del estado del tiempo. Se ha optado por dividir las funcionalidades en subsistemas como buena praxis ya que, a parte de permitir un correcto testeo y desarrollo, tambi´en fomenta la creaci´on de un sistema de m´odulos f´acilmente reprogramable y ampliable. 1.4. Estructura de la obra Cap´ıtulo 1:Introducci´on. Dentro de este cap´ıtulo se explica la motivaci´on para hacer el trabajo, la metodolog´ıa de trabajo aplicada y un breve resumen de lo que se va a proceder a relatar en cada cap´ıtulo. Cap´ıtulo 2:Estado del arte. Aqu´ı se van a explicar las distintas tecnolog´ıas existentes en el mercado para justificar un vac´ıo en el conocimiento para el uso de Pablo Alapont Tom´as 21 An´alisis solar la herramienta, tambi´en se van a explicar distintos conceptos relativos a la energ´ıa, concretamente a la solar, para tener un contexto adecuado para poder seguir la documentaci´on. Cap´ıtulo 3:An´alisis del problema. Se procede a ver el vac´ıo que hay antes de la aplicaci´on y generar espacios de uso para la herramienta, para proceder a hacer un an´alisis de soluciones. Cap´ıtulo 4:Dise˜no de la soluci´on. Estructura y datos relativos a la creaci´on y desarrollo de la aplicaci´on, y su posterior an´alisis. Cap´ıtulo 5:Resultados. Una vez realizado el an´alisis, comentar los datos analizados y usos que se les puede dar. Cap´ıtulo 6:Conclusiones. Despu´es de realizar todo el trabajo, se procede a analizar con detenimiento el uso de estos datos y la herramienta una vez terminado el proyecto. Cap´ıtulo 7:Trabajo futuro. En este cap´ıtulo se propondr´an distintos usos de la escalabilidad de la herramienta, para ver que se puede escalar y para proceder al tener mayor tiempo, se realizar´ıa mayor trabajo con distintas funcionalidades. Notes 1Mapa interactivo de incidencia solar de Espa˜na, http://www.adrase.com/acceso-a-los-mapas/ mapa-zona-peninsula.html TFG Planta solar 22 Chapter 1 Introduction 1.1. Motivation The human being has had two main motivations for innovation in its existance: Energy transformation and forecasting. Energy to heat, to move, to protect against foes and attack enemies and to process data. Physics is the science of prediction. Analising and understanding the word arround is key to know what will happen tomorrow, to know if it will rain, if its right to grow one crop or an other, if a bridge will resist collapsing under it own weight, where will a proyectile land, if a family will be able to egress a burning house before burning down or the right dosage in a drug. Meeting the energetic needs is paramount for human survival. It is said in the United Nations [10] in is energy politic for the 21st century. Achieving clean, durable and optimal energy sources is pivotal [3] European Union recognises investigation in materials capital to achieve energy eficiency [1]. To take advantage of energy sources is preeminent to obtain and analise information from the enviroment to tune and calibrate power plants performance. This way power plants performance improves and maintenance gets reduced, lengthening the plants life and improving economic viability. Almer´ıa Solar Plant (PSA in spanish) is a center forr the study of solar concentration activities depending of the Energy, Enviromental and Technogoic Studies Center (CIEMAT in spanish). Develloping techonology in Solar concentration, storage, solar fuels, water desalination and solar water treatement. It is located in a privileged place, having the south of Spain a high solar radiation, reaching 5,4kW/m2 23 An´alisis solar Figura 1.4: Mean solar radiation in Spain. Figura 1.5: MMean solar radiation in Almer´ıa Interactive solar map in Spain0Thanks to the studies in solarr energy storage at ATYCOS, also at PSA, both as thermal and chemical storage, And thanks tostudies in solar energy production, it is posible to displace coal as cheap energy in develloping countries [8] We are interested in the operation in thermal tower plants, in particular CESA-I. They work using an array of mirrors called Heliostatus,which follows the sun and redirects solar radiation to a point in the tower. For CESA-I is an area 2.8m on top of an 80m tower. It also has built a furnace 45m high, and two cavities at 60 and 75 meters. The plant includes two 1.2MW turbines designed to work with steam at 7933K and 10 MPa. [14] It is easy to find studies about the results in a wide range of sensors and fields. But is dificoult to find studies joining events in diferent instruments in a satellite in space or multiple stations in a small geographical area. Nevertheless in different studies. Proposing a method to link different data in different station to manage readings in all the range. 1.2. Objectives/Goals The main objective is to suply a meterological data analysis platform to be able to take decisions. For this case we study the data from 7 stations measuing solar radiation per area all arround the solar plant. Letting us to work with real data to apply our study. This stations relates to each studying stations in the Solar Plant. TFG Planta solar 24 An´alisis solar Figura 1.6: Stations in Almer´ıa Solar PLant. We have read secuentially readings from different stations. The objective is to detect the state of the sky and the artifacts to adjust the incidence of solar radiation homogeneously on the main boiler and reduce fatigue.[2] 1.3. Methodology To achieve our objectives we have made a system to analise, treat, contextualiza, show and prepare unified data from multiple sources, including time, to evaluate and get conclusions about the state of the weather. Whe have decided to divide functionality in subsystems as good praxis to allow a correct devellopment and testing, encouraging the creation of a modular system easily reprogramable and expandable 1.4. Structure of the work Chapter 1: Introduction. Inside this chapter, motivation for this work is explained, along methodology aplied and a brief abstract about what is going to be done in each chapter. Chapter 2: State of the art. Here existing technologies are explained to justify a void in the market for the use of the tool. Some energy production concepts will be explained, with emphasis on solar power to have a foundation needed to follow documentation. Chapter 3: Problem Analysis. The void before the aplication is explored and some using spaces are created to proceed to do a solution analysis. Pablo Alapont Tom´as 25 An´alisis solar 2.2.3. Sunny Portal Es un software[18] que permite la monitorizaci´on, gesti´on y presentaci´on profesionales de plantas fotovoltaicas. Los operadores de la planta y los instaladores pueden tener acceso en todo momento a los datos m´as importantes de la planta. Pueden analizar valores de medici´on y comparar el rendimiento. Lo que le permite detectar y corregir r´apidamente peque˜nas desviaciones. 2.2.4. Matlab Matlab[15] es un software que nos ha permitido hacer una correlaci´on de datos mediante sus distintas aplicaciones de an´alisis de datos. 2.2.5. Octave Octave[16] es un software Open Source que nos permite analizar la correcci´on de datos mediante herramientas de an´alisis matem´aticos. 2.3. Propuesta Se propone crear una herramienta que unifique c´alculos de las estaciones solares, de tal forma que no se tenga recurrir a varias aplicaciones para ver los mismos datos. Esta aplicaci´on puede no ser amigable para el usuario, puesto que el objetivo final es realizar un an´alisis en profundidad de los datos arrojados para dejar una documentaci´on hecha y una herramienta que sea escalable para que cualquier otro investigador de energ´ıas pueda recoger esos datos, analizarlos y fabricar algo que le sea de utilidad. Como posteriormente veremos, uno de los trabajos que se pueden realizar con el an´alisis de detecci´on de horas de sol es poder ver la capacidad que tendr´ıa un campo de heli´ostatos, esto no se ve en los datos tal cual, no hay ninguna aplicaci´on amigable que te lo traduzca. Es trabajo del analista observar los datos y sacar conclusiones o un beneficio para ello. Nuestro trabajo es crear esa herramienta y realizar un primer an´alisis sacando conclusiones de esos datos para saber que todo funciona correctamente. TFG Planta solar 32 Cap´ıtulo 3 An´alisis del problema Esperamos de la aplicaci´on determinar las incidencias climatol´ogicas de una zona. Para ello pondremos en contexto todos los datos entre s´ı y con su variaci´on en el tiempo. Partimos de una serie de datos con los que empezar a trabajar en un entorno real. Se nos han suministrado los datos en formato .xslx. Para su uso los hemos transformado usando libreOffice a formato csv 3.1. An´alisis de requisitos Aqu´ı se va a proponer todo aquello que se le va a pedir a la aplicaci´on resultante, se va a detallar concretamente todos los casos de uso que deben ser satisfechos por las soluciones propuestas, llegando as´ı a un an´alisis de soluciones que deber´ıa tratar cada uno de estos problemas en parte o en totalidad. Los datos se tienen que analizar de forma secuencial, sabiendo que vamos a leer hacia atr´as un cierto kn´umero de veces, partimos de esto y la documentaci´on estudiada para proceder en los casos de uso. 3.1.1. Requisitos de la aplicaci´on Detalle de los requisitos de la aplicaci´on Recopilaci´on de datos Todos los datos de diferentes fuentes deben unirse en un solo punto con los de su mismo momento temporal Caso de uso Uni´on de datos Descripci´on Los datos pueden venir de distintos ficheros y es necesario sincronizarlos y unirlos. Para ello se incluye marca temporal Precondici´on Fichero excel con los datos en una columna Postcondici´on La aplicaci´on es capaz de obtener todos los datos de un mismo momento en el tiempo. Cuadro 3.1: Caso de uso: Uni´on de datos 33 An´alisis solar Tad editable A continuaci´on describimos las necesidades del tipo de datos. Caso de uso Tipo de datos Descripci´on El tipo de datos debe permitir el acceso a cualquier dato de forma aleatoria Precondici´on Se desea acceder al valor de una variable que puede existir en el TAD Postcondici´on El TAD devuelve el valor seleccionado Postcondici´on si fallo el TAD devuelve un Nulo Cuadro 3.2: Caso de uso: Tipo de datos, acceso aleatorio Caso de uso Tipo de datos Descripci´on El tipo de datos debe permitir a˜nadir datos sin reescribir todo el TAD Precondici´on TAD y dato a entrar con una clave Postcondici´on El TAD ha introducido un par clave-valor en el diccionario sin necesidad de crear una copia de si mismo con el nuevo valor Postcondici´on si fallo La clave se encontraba anteriormente en el diccionario y es sobreescrita Cuadro 3.3: Caso de uso: Tipo de datos, Formato abstracto An´alisis de datos Proceso de an´alisis Caso de uso Tipo de datos Descripci´on El tipo de datos debe permitir el acceso a cualquier dato de forma aleatoria. Debe permitir almacenar varios tipos de datos, simples y complejos. Debe permitir a˜nadir datos sin reescribir todo el TAD. Cuadro 3.4: Caso de uso: An´alisis de datos, datos din´amicos. Almac´en de datos Posterior almac´en de datos y la posibilidad de usarlo como fuente en una pasada posterior. TFG Planta solar 34 An´alisis solar Caso de uso Formato de entrada y salida Descripci´on El formato de datos de entrada y salida debe ser ´apto y consistente, de forma que la conexi´on de trabajadores sea inocua Precondici´on Un trabajador puede leer el TAD y obtener los datos que le interese Postondici´on Un trabajador puede leer el TAD y obtener los datos que le interese Cuadro 3.5: Caption 3.1.2. Esquema general de funcionamiento de la aplicaci´on Adaptar datos a un formato leg´ıble unir datos al mismo tiempo generar TAD de trabajo A˜nadir datos derivados Realizar an´alisis Repetir Almacenar resultados Posterior an´alisis Fin del an´alisis Reutilizaci´on de los datos Figura 3.1: Esquema de trabajo 3.2. An´alisis de las soluciones Las dos partes a considerar en la soluci´on son el almacenamiento de los datos, su existencia est´atica y su almacenamiento entre ejecuciones. Y su existencia din´amica, o c´omo estos datos se van transformando desde su entrada hasta su salida. Pablo Alapont Tom´as 35 An´alisis solar 3.2.1. Formato de los datos Hemos partido de unos datos en formato xslx que es como se nos ha hecho llegar. A pesar de que es un estandar abierto 2No es el primer estandar sobre el funcionamiento de ficheros Office, ya que hay otros est´andares mas competentes anteriores a la aprobaci´on de ´este. Open Document Format es un formato abierto 3Mas maduro y veterano. Soportado en cualquier Sistema operativo que pueda tener que ejecutar nuestra aplicaci´on sin necesidad de licencias. Comparte problema con xslx ya que ambos est´an pensados para contener multitud de ficheros en su interior y ocupar poco espacio en detrimento de su usabilidad. En su lugar hemos optado por utilizar csv, un formato de datos, que a´un ocupando mas en el d´ısco duro, por no estar comprimido. Facilita mucho su integraci´on en cualquier software, ya que cualquier lenguaje de programaci´on incluye funcionalidades explicitas o simples de desarrollar, para trabajar con este formato. 3.2.2. An´alisis de los datos La Soluci´on de referencia para el an´alisis de datos es Matlab. Ofreciendo soluciones para m´ultiples necesidades de modelado de sistemas y tratamiento de datos. Tambi´en es notable su facilidad para mostrar datos de forma clara y anotada. Matlab tambi´en es una soluci´on que cuesta $800 en su licencia anual y $2.000 en licencia permanente. Est´a disponible gratis gracias a los convenios entre Mathworks y la Universidad Complutense, pero no deja de ser un precio importante para cualquier empresa. Existe una soluci´on alternativa llamada Octave que ofrece soporte para el c´odigo de matlab. Es de c´odigo libre y est´a disponible en pr´acticamente todos los repositorios de software. Otra soluci´on ampliamente aceptada para el an´alisis de datos, especialmente por sus herramientas estad´ısticas, es R. R es libre y al igual que Octave est´a ampliamente utilizado en todo el mundo, y goza de prestigio. Pero, al igual que Matlab, es un lenguaje enfocado al tratamiento de datos y la ventaja que puede suponer por este lado la pierde en la flexibilidad de python. Por ´ultimo existe Python. No es un lenguaje expresamente dedicado al tratamiento matem´atico de datos, si no que es un lenguaje de prop´osito general. Esto implica un uso de matem´aticas mas duro que en cualquiera de los lenguajes descritos arriba. Pero a cambio, gracias al hecho de que es un lenguaje multiparadigma, tiene la modularidad de un sistema de objetos, y la facilidad de la enorme librer´ıa que puede utilizar. Tambi´en Python es conocido por su facilidad de uso con series de datos, iteradores, tipos complejos y transformaciones de unos tipos en otros. Todas estas ventajas hacen de Python un gran candidato para nuestro tabajo. 3.3. Soluci´on propuesta La toma de datos y su procesado no vale para nada si no se obtiene una lectura de ellos. Para la toma de decisiones se ha partido de la siguiente tabla de ejemplos con la que entrenar a nuestro sistema para decidir un estado del cielo. Para ello del conjunto TFG Planta solar 36 An´alisis solar de los datos (X) calculamos su media X, su dispersi´on media σ(X) y el resultado que interpretamos de la lectura Lectura X σ(X) Resultado L1: m´ınimo m´ınimo Noche L2: M´aximo m´ınimo Soleado L3: medio m´ınimo Nublado L4: medio M´aximo Frente Figura 3.2: Ejemplos para generar el ´arbol de decisiones A partir de la tabla se ha seguido un algoritmo ID3 para generar el ´arbol de decisiones ´optimo mostrado a continuaci´on. Desviaci´on t´ıpica Nuboso σ(X)>200 media soleado X > 550 nublado 550 > X > 100 noche 100 > X σ(X)>200 Figura 3.3: ´ Arbol de decisiones implementado en el programa. 3.4. Colaboraci´on Luis Fernandez Zarzalejo perteneciente al CIEMAT a trav´es de la Planta Solar de Almer´ıa ha provisto los datos con los que hemos trabajado. Pertenecientes al periodo 2015-02-01 2015-12-31, as´ı como los metadatos pertenecientes a los sensores, su posici´on y calibraci´on. Pablo Alapont Tom´as 37 An´alisis solar TFG Planta solar 38 Cap´ıtulo 4 Dise˜no de la soluci´on 4.1. An´alisis de las herramientas Hemos partido de una serie de datos en varios ficheros formato xslx con todos los datos partidos por meses y estaci´on. El primer paso fue transformarlos a un formato mas manejable, ya que, aunque existen librer´ıas para manejar estos datos en m´ultiples lenguajes de programaci´on, gracias a que xslx es un formato abierto. Pero debido a su complejidad y a que no es un formato tan agradable de trabajar, las herramientas disponibles no est´an demasiado maduras. Por ello, hemos optado por transformar los ficheros a csv, invirtiendo tiempo en la transformaci´on, y perdiendo eficiencia en disco. A cambio, hemos dispuesto del formato de datos ordenados mas c´omodo para trabajar en serie para un programa. Permitiendo cargar l´ıneas de programa una tras otra sin necesidad de mas formato. Una vez en este punto, hemos unido los datos para facilitar su lectura, aunque no es dif´ıcil dotar al programa de varias entradas de datos en paralelo, es mas c´omodo realizar una sola vez ´esta uni´on. Hemos realizado todo esto con la herramienta LibreOffice. 4.2. Arquitectura software Como hemos hablado a lo largo del documento, las dos partes importantes de la aplicaci´on son el tratamiento de los datos y su almacenamiento din´amico. Por ello, hemos querido dedicar atenci´on a estas partes por separado. A pesar de que, la sencillez del diagrama est´atico, permite visualizarlo de una sola vez. El comportamiento din´amico se ajusta a diferentes casos de uso. 39 An´alisis solar 4.2.1. Estructura est´atica de la aplicaci´on La principal diferencia entre el uso de un fichero de datos y la conexi´on a una serie de sensores que provean los datos est´a en la carga de datos que se realiza en el main, fruto del desarrollo por prototipado.[12] A pesar de que poco a poco, muchas funciones realizadas desde el main se han traspasado a los diferentes trabajadores y al TAD. Preservando la divisi´on entre los datos y el procesado que viene siendo reflejado en todo el trabajo. Al no esperar una carga desde muchos ficheros, sino que esperamos cargar desde un gran fichero de datos o de multiples sensores, no hemos desarrollado un trabajador para cargar datos de disco. TAD Workers main route::str getData row dict add(values) get(key,default) dict worker start(config) input(row):row results addoutput(worker) Delta last:row Union workers:worker[] start(worker=None) Printer CsvMaker Figura 4.1: Estructura est´atica 4.2.2. Estructura din´amica del tipo de datos Pasamos a describir el funcionamiento del tipo de datos. Row simboliza todos los datos le´ıdos en un momento dato y los datos derivados de los primeros. Para evitar la rigidez de un tipo de datos fijo como un array o una estructura, se ha optado por diccionario, el equivalente de Python de las tablas Hash con alguna funcionalidad de recorrido de claves y valores, que aprovechamos para recorrer los datos de manera gen´erica. Aprovechamos TFG Planta solar 40 An´alisis solar la funcionalidad gen´erica de las tablas Hash para poder trabajar con tipos de datos independientemente de cuantos datos haya o cuales sean estos. El tipo s´olo admite la operaci´on generadora, una operaci´on modificadora que a˜nade datos en bloque (incluido un bloque de un dato) y una operaci´on consultora. Programamos los trabajadores para que busquen un tipo de dato y a˜nadan sus resultados. La opci´on generadora admite una creaci´on por par´ametros. dict.add() row(Array) self Actor: row:Row Figura 4.2: Funcionamiento din´amico de creaci´on de un Row create array get:<key,val> dict.add(k,v) row(data) self Actor: row:Row data:<key,val> loop Figura 4.3: Funcionamiento din´amico de a˜nadir a datos a un Row 4.2.3. Estructura de los trabajadores Los trabajadores son la unidad fundamental de trabajo de la aplicaci´on. Cada trabajador se encarga de obtener una fila de datos y a partir de estos datos, y otros que pueda haber almacenado, a˜nadir alg´un tipo de dato derivado, o de interactuar con el sistema. Para poder encadenar trabajadores el resultado de un input son los datos para el siguiente trabajador. Aprovechando la facilidad para encadenar trabajadores y de utilizar el tipo de datos, los trabajadores son gen´ericos y encadenables. Un ejemplo es un trabajador que hemos desarrollado para detectar los valores m´aximos y m´ınimos de todas las lecturas. Pablo Alapont Tom´as 41 An´alisis solar TFG Planta solar 48 Cap´ıtulo 6 Conclusiones Uno de los factores mas a tener en cuenta con el an´alisis de resultados es nuestra capacitaci´on para valorarlos. Puesto que los datos solo tienen cabida en su propio contexto valorar la calidad de los datos implica una cualificaci´on que no disponemos. Hemos conseguido realizar una escritura de datos legibles a posteriori por la misma aplicaci´on, logrando la conservaci´on de los datos entre ejecuciones. Tambi´en hemos escrito diversos m´odulos con funcionalidades distintas. Ha sido ´util para depurar distintas partes de la aplicaci´on, pero tambi´en para comprobar el funcionamiento modular del sistema. Entre ellas, hemos desarrollado los siguientes trabajadores que nos han aportado conocimiento en cada etapa del desarrollo. 6.1. Trabajadores A continuaci´on se relatan conclusiones extra´ıdas de diferentes trabajadores implementados y como sus necesidades han perfilado la aplicaci´on. 6.1.1. Printer Fue uno de los primeros trabajadores desarrollados de cara a la depuraci´on. Est´a encargado de mostrar por pantalla todos los par´ametros que registra. A ser posible en el mismo orden siempre. Es menos estricto que CsvMaker, pues no debe ser consistente a lo largo de toda su ejecuci´on. 6.1.2. MinMax Un trabajador que almacena los valores m´ınimos y m´aximos de las diferentes lecturas aportadas. Con este trabajador aprendimos a a realizar sistemas con l´ogica y a trasladar elementos de un trabajador al siguiente. Tambi´en nos permiti´o la opci´on de tener trabajadores que realizasen salidas de datos cada bloque de datos y no cada 49 An´alisis solar 6.1.3. Union Asumiendo que son los propios trabajadores que permiten una divisi´on vertical de tareas, esto es, cada uno enviando los datos al siguiente. Union permite la divisi´on horizontal, manejando diferentes estructuras de salida a partir de una sola estructura de entrada. Este trabajador itera por todos los trabajadores registrados enviando los diferentes mensajes que se le atribuyen a ´el. Como retorno se espera una fila uni´on de todos los datos que le han retornado los trabajadores anteriores sin ning´un orden particular. 6.1.4. Delta Delta es un m´odulo encargado de realizar operaciones matem´aticas y adjuntarlas a la fila. Fue el m´odulo que nos hizo plantearnos el tipo de datos, y la necesidad de realizarlo mutable y flexible 6.1.5. Csv-Maker Utilizado en la versi´on final del proyecto. Es un ejemplo de trabajador que interact´ua con el sistema, permitiendo almacenar en disco los resultados de los anteriores trabajadores. Para mantenerlo consistente con el resto de la aplicaci´on. Env´ıa los datos al siguiente trabajador, de forma que se pueden seguir encadenando trabajadores detr´as de ´el. Para su correcto funcionamiento es necesario fijar su cabecera desde el principio. Puesto que la primera linea de un fichero csv es el nombre de los campos, y no est´a preparado para editar la cabecera y modificar los campos de todas las filas anteriores en un tiempo razonable. 6.1.6. Main El desarrollo se ha producido por prototipados, implica un c´odigo menos elegante y menos repartido y encapsulado. Main no est´a declarado como una clase, pero si que se comporta como una clase. Una filosof´ıa muy pythonica, en la que la encapsulaci´on s´olo es un trato de palabra y no una imposibilidad del c´odigo, Porque siempre puedes arregl´artelas para acceder a las funciones privadas de una clase [4]. Por lo tanto, si funciona como una clase, y se utiliza como una clase, y tiene forma de clase: no es tan raro decir que es una clase. Dicho esto, Main ha evolucionado como un Objeto encargado de hacer todo y poco a poco relegando toda la l´ogica fuera. A´un implementa algunas funciones vestigiales, como discernir entre d´ıa y noche. Funci´on que se desech´o en favor de una hipot´etica clase de filtro 6.2. Conclusiones generales El proyecto puede ser muy dif´ıcil de entender, debido a que no tiene una interfaz amigable con el usuario. La aplicaci´on esta dise˜nada para personas expertas, o que vayan a usar esas herramientas. Es muy complicado unificar en la herramienta los estudios de correlaci´on, media y algoritmos derivados de los datos de una estaci´on solar. Despu´es de haber analizado con ´exito los datos recibidos de la estaci´on solar a lo largo del tiempo, se TFG Planta solar 50 An´alisis solar puede deducir que la herramienta es eficaz y ´util en el an´alisis de los datos. Finalmente, se ha llevado a cabo un an´alisis por parte de un experto para determinar si los datos son correctos. Pablo Alapont Tom´as 51 An´alisis solar TFG Planta solar 52 Cap´ıtulo 7 Trabajo futuros Una parte importante de este trabajo ha sido relacionar los datos de diferentes estaciones, que en este caso han sido estaciones midiendo el mismo par´ametro. Una parte importante de las mediciones, recalcada desde el principio del documento, ha sido poner en com´un datos de diferentes fuentes. Habiendo tenido la suerte de trabajar con datos ya filtrados de varias estaciones que reportan el mismo par´ametro en la misma frecuencia. Es importante para un buen an´alisis de datos de m´ultiples fuentes que ´estas no tengan que ser s´ıncronas o de la misma naturaleza. Tambi´en es importante poder filtrar las medidas o evaluar la veracidad de ellas. Actualmente asumimos que los datos son correctos y los analizamos vengan como venga. Mientras que se puede configurar un trabajador para que elimine las medidas fuera de rango, o a˜nada una evaluaci´on de la fiabilidad de los datos. Una preocupaci´on que hemos tenido ha sido la lectura mal calibrada en el tiempo. Lo cual implica un an´alisis de los datos mas complejo, ya que las medidas no salen de un rango preestablecido, en su lugar son medidas inconsistentes, que requieren del trabajo de un meteor´ologo y Posiblemente dependa de la situaci´on geogr´afica de la Planta Solar de Almer´ıa. Otro punto fuerte se refiere a los frentes de nubes. Utilizamos las diferencias entre las estaciones para detectar los frentes de nubes. Se puede aproximar por donde ocurre un frente, y se relega esto a l´ıneas futuras. Determinar mejor un frente de nubes implica una mayor resoluci´on de los sensores. Un punto importante de Python es la capacidad de incluir m´odulos fuera de los manejos de datos, permitiendo el amplio abanico que ofrece un lenguaje de programaci´on maduro. Entre ellas, est´a la opci´on de generar animaciones a partir de los datos para su f´acil visualizaci´on en una interfaz c´omoda de utilizar. Tambi´en es importante su posible integraci´on con cualquier m´odulo que ejecute Linux. Lo cual es cada vez mas posible de encontrar en sistemas integrados gracias a la adopci´on de Raspberry pi y de Arduino. Es ´util considerar diferentes eventos meteorol´ogicos y atmosf´ericos como Ortos y Ocasos, diferentes nubes, humos, incluso eclipses. Alguno puede requerir de sistemas de medici´on adicionales. Como muestra la tabla de decisiones incluyendo Ortos y Ocaso. 53 An´alisis solar Lectura X σ(X)dX |dX|Resultado L1: m´ınimo m´ınimo D D Noche L2: M´aximo m´ınimo D D Soleado L3: medio m´ınimo D D Nublado L4: DM´aximo DM´axima Frente L5: DDpositivo m´ınimo Orto L6: DDnegativo m´ınimo Ocaso Figura 7.1: Ejemplos para el ´arbol de decisiones El valor D se interpreta como Don’t care 7.1. Proyecto para campo de heli´ostatos Como hemos visto anteriormente, la creaci´on de un campo de heli´ostatos necesita de mucha maquinaria que proyecte la luz sobre un centro para almacenar la energ´ıa. La creaci´on tanto de campos fotovoltaicos como de heli´ostatos es un problema, debido a que se necesita un estudio previo y amplio de las zonas donde sale m´as o menos rentable poner uno, estos estudios normalmente acaban teniendo un gran impacto ambiental, una huella ecol´ogica, con la herramienta dise˜nada y un peque˜no aparato se podr´ıa tener una herramienta predictiva m´as barata, y en el menor tiempo arrojara datos que indicaran la mejor posici´on para poner uno de estos campos. Este es uno de los usos muy b´asicos que se le puede dar y que como trabajo para la aplicaci´on, esta misma deber´ıa de usar software predictivo para analizarte en poco tiempo y decirte, si el sitio es ´optimo o no, haciendo an´alisis autom´atico de datos. TFG Planta solar 54 Chapter 7 Future Work A big part in this work has been relating data in different stations. In this case, stations measuring the same parameter at the same rate. An important part in measurements, emphasiced from the beggining, has been joining data from different sources. Having the luck of working with filtered, calibrated and syncronized data. It is important for a reliable analysis to be able to use data from unsyncroniced data from multiple kinds. It is also important to correctly filter measurements or evaluate the truth on them. We are assuming our data is right and they get analysed come what may. Althow it whouldn’t be hard to configure a worker to take apart out of range data or to evaluate reliability. A concern has been bad timing in data, whitch result in a more complex analysis, as bad timing don’t result in an out of range, but inconsitent measurements. This will require a work from a meteorologyst and will probably depend on the situation of the Solar Plant Other strong ponint are cloud fronts. We use differences between stations to detect cloud fronts. We could estimate where is the fron happening and we rely that to future work. This task could need a better resolution. A strong part of Python is it ability to include modules outside of pure data management, allowing the wide range of habilities a mature programming languaje. This includes generating animated gifs for its easy visualization in a comfortable interface. It is also important its integration with any hardware module using Linux. Which are as extended as they can be thanks to Arduino and Raspberry-pi. It is usefull to consider different meteorological and atmosferical events as dusks or dawns. Different kind of clouds, smokes, even eclypses. Some may need aditional input system. We have a ID3 Decision table including Dusk and Dawn Lecture X σ(X)dX |dX|Result L1: minimum minimum D D Night L2: Maximum minimum D D Sunny L3: medium minimum D D Outcast L4: DMaximum DM´axima Cloudy L5: D D positive minimum Dusk L6: D D negative minimum Dawn Figura 7.2: Examples for the decision tree D is read as Don’t Care 55 An´alisis solar 7.1. Heliostatic field Project As we have seen before, Heliostatic power plants need for powerfull machinery to beam the light to a center to store energy. Creation of both Heliostatic and photovoltaic powerplants can be a problem, due to a previous and thorough feasibility study of which areas may be used to locate a power plant.This studies aren’t allways inocuous and may have a considerable inpact on studied areas. This damage could be reduced with a cheaper prediction tool and small aparatus to reveal data and knowledge to better locate power plants. This is a basic functionality that can be done with a tool as the one presented and can be done as an expanding project. Using prediction software to analise in a short period of time to know if a location is optimal. TFG Planta solar 56 Bibliograf´ıa [1] Garc´ıa-Segura A.et al. Durability studies of solar reflectors, https://core.ac.uk/ download/pdf/77229003.pdf. 2016. [2] Ram´on Garc´ıa Mar´ın Cayetano Espejo Mar´ın. La energ´ıa termosolar en espa˜na, http://revistas.ucm.es/index.php/AGUC/article/viewFile/ AGUC1010220081A/30709. 2010. [3] Sven Teske Georg Brakmann, Rainer Aringhoff. Energ´ıa solar termoel´ectrica 2020 pasos firmes contra el cambio clim´atico, http://archivo-es.greenpeace.org/ espana/Global/espana/report/other/solar-termoelectrica-2020-pas.pdf. 2004. [4] https://pythonprogramminglanguage.com/encapsulation/. Encapsulation python. [5] https://www.nytimes.com/2011/02/17/science/17jeopardy watson.html. Computer wins on ‘jeopardy!’: Trivial, it’s not. [6] David Pacios Izquierdo. Plantillas para trabajos profesionales tfg, tfm. 2018. [7] Chuen Chien Lee. Fuzzy control systems: Fuzy logic controller, part ii. 1990. [8] Alina Mikhailovna Gilmanova Cavalcante Luis Enrique Vieira de Souza. Concentrated solar power deployment in emerging economies: The cases of china and brazil, https://www.sciencedirect.com/science/article/pii/ S136403211630675X. 2017. [9] Ana Bel´en Medina Maldonado. Comparaci´on de modelos param´etricos de cielo despejado. 2017. [10] ONU. Renewable energy policy network for the 21st century, https:// sustainabledevelopment.un.org/partnership/?p=1619. [11] Peter Norvig Stuart Russell. Artificial intelligence: A modern approach. 2009. [12] Joseph E. Urban. Software prototyping and requirements engineering. 1992. [13] https://www.ibm.com/watson/stories/creditmutuel/. Watson stories. [14] https://www.psa.es/es/instalaciones/receptor/cesa1.php. Cesa-1. [15] Web. Matlab, https://es.mathworks.com/products/matlab.html. [16] Web. Octave, https://www.gnu.org/software/octave/. 57