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]:
%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()