#!/usr/bin/env python # coding: utf-8 # Clase para trabajar con los datos obtenidos de las Phenocams situadas en el Espacio Natural de Doñana # ## Se trata de una adaptacion del codigo de Tom Milliman: https://github.com/tmilliman/phenocam_notebooks para trabajar con una serie de estaciones de interes # ### Pagina web del proyecto Phenocam: https://phenocam.sr.unh.edu/webcam/ # #### Hay que pasar como parametros, un diccionario con las estaciones que queremos como clave y los ROIs como valor (en prncipio las estaciones de interes solo tienen un ROI, si hubiera mas de uno, se podría pasar una lista como valor. Para los plots en los que todas las estaciones van juntas, se pasa un diccionario con los colores que van a plotearse. Se pasan 2 colores por estacion, uno para cada parametro que se esta ploteando: GCC_90 (linea), GCC_50 (puntos) # In[5]: estaciones = {'sabinar': 'EN_0001', 'montenegro': 'SH_0001', 'monteblanco': 'EB_0001', 'donanaresoliman': 'WL_0001', 'donanapajarera': 'DB_0001', 'donanafuenteduque': 'WL_0001', 'torrepalacio': 'WL_0001', 'juncabalejo': 'WL_0001'} colores = {'sabinar': ['green', 'lime'], 'montenegro': ['coral', 'red'], 'monteblanco': ['blue', 'cyan'], 'donanaresoliman': ['purple', 'indigo'], 'donanapajarera': ['pink', 'fuchsia'], 'donanafuenteduque': ['goldenrod', 'yellow'], 'torrepalacio': ['grey', 'silver'], 'juncabalejo': ['olive', 'lightgreen']} # Importamos la clase phenocam que se encuentra en el archivo Phenocam.py # In[6]: get_ipython().run_line_magic('matplotlib', 'inline') from Phenocam import phenocam # INstanciamos la clase pasandole los parametros estaciones y colores # In[7]: a = phenocam(estaciones, colores) # ## Hay 4 metodos en la clase: Plot_one, Plot_severals, Plot_all_together, PLot_all_split # # ### 1. Plot_one: Plotea una estacion, por defecto en verde los puntos gcc50 y en lima la linea gcc90 # In[8]: a.plot_one('sabinar') # ### 2. Plot_severals: Imprime una lista de estaciones seleccionadas. Se usa el color que se ha definido en el diccionario de colores. # In[9]: a.plot_severals('sabinar', 'montenegro', 'monteblanco') # ### 3. Plot_all_togehter: Plotea todas las estaciones dentro del mismo grafico # In[10]: a.plot_all_together() # ### 4. Plot_all_split: Plotea cada estacion en un grafico separado. Todos en verde y lima por defecto # In[11]: a.plot_all_split() # # Es posible hacer slicing en funcion de la fecha, hay que pasar la fecha de inicio y de fin al instanciar la clase. El formato debe ser MM/DD/YYYY # Ejemplo ploteando del 1 de marzo al 31 de diciembre de 2017 # In[20]: b = phenocam(estaciones, colores, '03/01/2017', '12/31/2017') # In[21]: b.plot_all_together() # In[ ]: