{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# PhenoCam ROI Summary Files\n", "\n", "Here's a python notebook demonstrating how to read in and plot an ROI (Region of Interest) summary using python. In this case I'm using the 1-day summary file from the alligatorriver site. The summary files are in CSV format and can be read directly from the site using a URL. Before reading from a URL let's make sure we can read directly from a file." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alligatorriver_DB_0001_1day.csv\n" ] } ], "source": [ "%matplotlib inline\n", "\n", "import os, sys\n", "import numpy as np\n", "import matplotlib\n", "import pandas as pd\n", "import requests\n", "import StringIO\n", "\n", "# set matplotlib style\n", "matplotlib.style.use('ggplot')\n", "\n", "sitename = 'alligatorriver'\n", "roiname = 'DB_0001'\n", "infile = \"{}_{}_1day.csv\".format(sitename, roiname)\n", "print infile" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "#\n", "# 1-day summary product time series for alligatorriver\n", "#\n", "# Site: alligatorriver\n", "# Veg Type: DB\n", "# ROI ID Number: 0001\n", "# Lat: 35.7879\n", "# Lon: -75.9038\n", "# Elev: 1\n", "# UTC Offset: -5\n", "# Image Count Threshold: 1\n", "# Aggregation Period: 1\n", "# Solar Elevation Min: 5.0\n", "# Time of Day Min: 00:00:00\n", "# Time of Day Max: 23:59:59\n", "# ROI Brightness Min: 100\n", "# ROI Brightness Max: 665\n", "# Creation Date: 2016-10-13\n", "# Creation Time: 11:12:18\n", "# Update Date: 2016-10-13\n", "# Update Time: 11:12:21\n", "#\n", "date,year,doy,image_count,midday_filename,midday_r,midday_g,midday_b,midday_gcc,midday_rcc,r_mean,r_std,g_mean,g_std,b_mean,b_std,gcc_mean,gcc_std,gcc_50,gcc_75,gcc_90,rcc_mean,rcc_std,rcc_50,rcc_75,rcc_90,max_solar_elev,snow_flag,outlierflag_gcc_mean,outlierflag_gcc_50,outlierflag_gcc_75,outlierflag_gcc_90\n", "2012-05-03,2012,124,2,alligatorriver_2012_05_03_120110.jpg,106.30031,115.73730,55.34694,0.41724,0.38322,106.39446,0.09415,115.55613,0.18118,55.95246,0.60553,0.41581,0.00143,0.41581,0.41653,0.41696,0.38285,0.00038,0.38285,0.38304,0.38315,70.15241,NA,NA,NA,NA,NA\n", "2012-05-04,2012,125,0,None,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA\n", "2012-05-05,2012,126,0,None,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA\n", "2012-05-06,2012,127,18,alligatorriver_2012_05_06_120108.jpg,98.56315,114.36571,58.60785,0.42118,0.36298,99.56063,3.59571,112.30546,2.26816,57.38592,3.95619,0.41716,0.00405,0.41683,0.42104,0.42216,0.36983,0.01198,0.37316,0.37640,0.37951,71.00152,NA,NA,NA,NA,NA\n", "2012-05-07,2012,128,22,alligatorriver_2012_05_07_120109.jpg,104.66830,114.42699,57.99294,0.41296,0.37774,101.61201,3.42694,109.60297,5.09935,56.93328,3.30283,0.40870,0.00760,0.41157,0.41206,0.41258,0.37906,0.00392,0.37819,0.38044,0.38412,71.27531,NA,NA,NA,NA,NA\n", "2012-05-08,2012,129,19,alligatorriver_2012_05_08_120109.jpg,109.42668,117.97895,61.57828,0.40825,0.37866,103.80104,5.38061,111.59026,7.34960,58.74146,6.34041,0.40709,0.00670,0.40976,0.41134,0.41300,0.37905,0.00911,0.38013,0.38524,0.38747,71.54443,NA,NA,NA,NA,NA\n", "2012-05-09,2012,130,21,alligatorriver_2012_05_09_120109.jpg,109.50769,117.67200,57.08726,0.41395,0.38523,100.64798,5.84903,112.13978,5.14872,57.89002,4.89616,0.41436,0.00287,0.41424,0.41590,0.41889,0.37191,0.01344,0.37685,0.38239,0.38647,71.80876,NA,NA,NA,NA,NA\n" ] } ], "source": [ "%%bash\n", "head -30 alligatorriver_DB_0001_1day.csv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While the data can be read directly from a URL we'll start by doing the simple thing of reading the CSV file directly from our local disk." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | date | \n", "year | \n", "doy | \n", "image_count | \n", "midday_filename | \n", "midday_r | \n", "midday_g | \n", "midday_b | \n", "midday_gcc | \n", "midday_rcc | \n", "... | \n", "rcc_std | \n", "rcc_50 | \n", "rcc_75 | \n", "rcc_90 | \n", "max_solar_elev | \n", "snow_flag | \n", "outlierflag_gcc_mean | \n", "outlierflag_gcc_50 | \n", "outlierflag_gcc_75 | \n", "outlierflag_gcc_90 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "2012-05-03 | \n", "2012 | \n", "124 | \n", "2 | \n", "alligatorriver_2012_05_03_120110.jpg | \n", "106.30031 | \n", "115.73730 | \n", "55.34694 | \n", "0.41724 | \n", "0.38322 | \n", "... | \n", "0.00038 | \n", "0.38285 | \n", "0.38304 | \n", "0.38315 | \n", "70.15241 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1 | \n", "2012-05-04 | \n", "2012 | \n", "125 | \n", "0 | \n", "None | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
2 | \n", "2012-05-05 | \n", "2012 | \n", "126 | \n", "0 | \n", "None | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
3 | \n", "2012-05-06 | \n", "2012 | \n", "127 | \n", "18 | \n", "alligatorriver_2012_05_06_120108.jpg | \n", "98.56315 | \n", "114.36571 | \n", "58.60785 | \n", "0.42118 | \n", "0.36298 | \n", "... | \n", "0.01198 | \n", "0.37316 | \n", "0.37640 | \n", "0.37951 | \n", "71.00152 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
4 | \n", "2012-05-07 | \n", "2012 | \n", "128 | \n", "22 | \n", "alligatorriver_2012_05_07_120109.jpg | \n", "104.66830 | \n", "114.42699 | \n", "57.99294 | \n", "0.41296 | \n", "0.37774 | \n", "... | \n", "0.00392 | \n", "0.37819 | \n", "0.38044 | \n", "0.38412 | \n", "71.27531 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
5 rows × 32 columns
\n", "\n", " | date | \n", "year | \n", "doy | \n", "image_count | \n", "midday_filename | \n", "midday_r | \n", "midday_g | \n", "midday_b | \n", "midday_gcc | \n", "midday_rcc | \n", "... | \n", "rcc_std | \n", "rcc_50 | \n", "rcc_75 | \n", "rcc_90 | \n", "max_solar_elev | \n", "snow_flag | \n", "outlierflag_gcc_mean | \n", "outlierflag_gcc_50 | \n", "outlierflag_gcc_75 | \n", "outlierflag_gcc_90 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "2012-05-03 | \n", "2012 | \n", "124 | \n", "2 | \n", "alligatorriver_2012_05_03_120110.jpg | \n", "106.30031 | \n", "115.73730 | \n", "55.34694 | \n", "0.41724 | \n", "0.38322 | \n", "... | \n", "0.00038 | \n", "0.38285 | \n", "0.38304 | \n", "0.38315 | \n", "70.15241 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1 | \n", "2012-05-04 | \n", "2012 | \n", "125 | \n", "0 | \n", "None | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
2 | \n", "2012-05-05 | \n", "2012 | \n", "126 | \n", "0 | \n", "None | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
3 | \n", "2012-05-06 | \n", "2012 | \n", "127 | \n", "17 | \n", "alligatorriver_2012_05_06_120108.jpg | \n", "98.56315 | \n", "114.36571 | \n", "58.60785 | \n", "0.42118 | \n", "0.36298 | \n", "... | \n", "0.00954 | \n", "0.37324 | \n", "0.37641 | \n", "0.37958 | \n", "71.00152 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
4 | \n", "2012-05-07 | \n", "2012 | \n", "128 | \n", "21 | \n", "alligatorriver_2012_05_07_120109.jpg | \n", "104.66830 | \n", "114.42699 | \n", "57.99294 | \n", "0.41296 | \n", "0.37774 | \n", "... | \n", "0.00329 | \n", "0.37774 | \n", "0.38016 | \n", "0.38301 | \n", "71.27531 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
5 rows × 32 columns
\n", "