diff --git a/docs/notebooks/mk_data_preparation_modis.ipynb b/docs/notebooks/mk_data_preparation_modis.ipynb new file mode 100644 index 00000000..1b8fe838 --- /dev/null +++ b/docs/notebooks/mk_data_preparation_modis.ipynb @@ -0,0 +1,2807 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 28, + "id": "9a62c3d8-3bff-4e73-a7f5-3f773182b87f", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import geopandas as gpd\n", + "from shapely import wkt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "cf89fa0a-7d4d-46bc-865c-fc35efda2548", + "metadata": {}, + "outputs": [], + "source": [ + "import springtime\n", + "from springtime.datasets.modis import ModisSinglePoint, ModisMultiplePoints, modis_products, modis_bands, modis_dates" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "019996d6-45e7-4173-ac96-94ec451a0b46", + "metadata": {}, + "outputs": [], + "source": [ + "from pyPhenology import models, utils\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "74563142-6b79-4767-bc8d-3c549d390f7d", + "metadata": {}, + "outputs": [], + "source": [ + "observations, predictors = utils.load_test_data(name='vaccinium', phenophase='flowers')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "cd8afcc5-8f2b-469a-b668-a007502492a8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(48, 5)\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
speciessite_idyeardoyphenophase
48vaccinium corymbosum11998122501
49vaccinium corymbosum11998122501
50vaccinium corymbosum11991124501
51vaccinium corymbosum11991124501
52vaccinium corymbosum11998126501
\n", + "
" + ], + "text/plain": [ + " species site_id year doy phenophase\n", + "48 vaccinium corymbosum 1 1998 122 501\n", + "49 vaccinium corymbosum 1 1998 122 501\n", + "50 vaccinium corymbosum 1 1991 124 501\n", + "51 vaccinium corymbosum 1 1991 124 501\n", + "52 vaccinium corymbosum 1 1998 126 501" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(observations.shape)\n", + "observations.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "8f110cb7-7d33-403f-9e6d-f4cf7ccf818c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1]\n", + "122\n", + "144\n", + "1990\n", + "2001\n" + ] + } + ], + "source": [ + "print(observations[\"site_id\"].unique())\n", + "print(observations[\"doy\"].min())\n", + "print(observations[\"doy\"].max())\n", + "print(observations[\"year\"].min())\n", + "print(observations[\"year\"].max())" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "b3bcde0e-c32b-4350-8248-f7c9d23cbff4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
site_idtemperatureyeardoylatitudelongitudedaylength
0113.101990-6542.5429-72.201110.24
1113.261990-6442.5429-72.201110.20
2112.301990-6342.5429-72.201110.16
3112.151990-6242.5429-72.201110.11
4113.001990-6142.5429-72.201110.07
\n", + "
" + ], + "text/plain": [ + " site_id temperature year doy latitude longitude daylength\n", + "0 1 13.10 1990 -65 42.5429 -72.2011 10.24\n", + "1 1 13.26 1990 -64 42.5429 -72.2011 10.20\n", + "2 1 12.30 1990 -63 42.5429 -72.2011 10.16\n", + "3 1 12.15 1990 -62 42.5429 -72.2011 10.11\n", + "4 1 13.00 1990 -61 42.5429 -72.2011 10.07" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "predictors.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "f4260f6b-c35a-4c81-a3f1-d74bbe621124", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1]\n", + "-65\n", + "297\n", + "1990\n", + "2001\n" + ] + } + ], + "source": [ + "print(predictors[\"site_id\"].unique())\n", + "print(predictors[\"doy\"].min())\n", + "print(predictors[\"doy\"].max())\n", + "print(predictors[\"year\"].min())\n", + "print(predictors[\"year\"].max())" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "38eb2b2c-e0a8-44b0-8212-67044ba64981", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
productdescriptionfrequencyresolution_meters
1DaymetDaily Surface Weather Data (Daymet) on a 1-km ...1 day1000
2ECO4ESIPTJPLECOSTRESS Evaporative Stress Index PT-JPL (ESI...Varies70
3ECO4WUEECOSTRESS Water Use Efficiency (WUE) Daily L4 ...Varies70
4GEDI03GEDI Gridded Land Surface Metrics (LSM) L3 1km...One time1000
5GEDI04_BGEDI Gridded Aboveground Biomass Density (AGBD...One time1000
6MCD12Q1MODIS/Terra+Aqua Land Cover Type (LC) Yearly L...1 year500
7MCD12Q2MODIS/Terra+Aqua Land Cover Dynamics (LCD) Yea...1 year500
8MCD15A2HMODIS/Terra+Aqua Leaf Area Index/FPAR (LAI/FPA...8 day500
9MCD15A3HMODIS/Terra+Aqua Leaf Area Index/FPAR (LAI/FPA...4 day500
10MCD19A3MODIS/Terra+Aqua BRDF Model Parameters (MAIAC)...8 day1000
11MCD43AMODIS/Terra+Aqua BRDF and Calculated Albedo (B...1 day500
12MCD43A1MODIS/Terra+Aqua BRDF/Albedo Model Parameters ...1 day500
13MCD43A4MODIS/Terra+Aqua Nadir BRDF-Adjusted Reflectan...1 day500
14MCD64A1MODIS/Terra+Aqua Burned Area (Burned Area) Mon...Monthly500
15MOD09A1MODIS/Terra Surface Reflectance (SREF) 8-Day L...8 day500
16MOD11A2MODIS/Terra Land Surface Temperature and Emiss...8 day1000
17MOD13Q1MODIS/Terra Vegetation Indices (NDVI/EVI) 16-D...16 day250
18MOD14A2MODIS/Terra Thermal Anomalies/Fire (Fire) 8-Da...8 day1000
19MOD15A2HMODIS/Terra Leaf Area Index/FPAR (LAI/FPAR) 8-...8 day500
20MOD16A2MODIS/Terra Net Evapotranspiration (ET) 8-Day ...8 day500
21MOD16A2GFMODIS/Terra Net Evapotranspiration Gap-Filled ...8 day500
22MOD17A2HMODIS/Terra Gross Primary Productivity (GPP) 8...8 day500
23MOD17A2HGFMODIS/Terra Gross Primary Productivity Gap-Fil...8 day500
24MOD17A3HGFMODIS/Terra Net Primary Production Gap-Filled ...1 year500
25MOD21A2MODIS/Terra Land Surface Temperature/3-Band Em...8 day1000
26MOD44BMODIS/Terra Vegetation Continuous Fields (VCF)...1 year250
27MYD09A1MODIS/Aqua Surface Reflectance (SREF) 8-Day L3...8 day500
28MYD11A2MODIS/Aqua Land Surface Temperature and Emissi...8 day1000
29MYD13Q1MODIS/Aqua Vegetation Indices (NDVI/EVI) 16-Da...16 day250
30MYD14A2MODIS/Aqua Thermal Anomalies/Fire (Fire) 8-Day...8 day1000
31MYD15A2HMODIS/Aqua Leaf Area Index/FPAR (LAI/FPAR) 8-D...8 day500
32MYD16A2MODIS/Aqua Net Evapotranspiration (ET) 8-Day L...8 day500
33MYD16A2GFMODIS/Aqua Net Evapotranspiration Gap-Filled (...8 day500
34MYD17A2HMODIS/Aqua Gross Primary Productivity (GPP) 8-...8 day500
35MYD17A2HGFMODIS/Aqua Gross Primary Productivity Gap-Fill...8 day500
36MYD17A3HGFMODIS/Aqua Net Primary Production Gap-Filled (...1 year500
37MYD21A2MODIS/Aqua Land Surface Temperature/3-Band Emi...8 day1000
38SIF005SIF Estimates from Fused SCIAMACHY and GOME-2 ...Monthly5000
39SIF_ANNSIF Estimates from OCO-2 SIF and MODIS (SIF), ...16 day5000
40SPL3SMP_ESMAP Enhanced Radiometer Soil Moisture (SM) Da...1 day9000
41SPL4CMDLSMAP Carbon Net Ecosystem Exchange (NEE) Daily...1 day9000
42VNP09A1VIIRS/S-NPP Surface Reflectance (SREF) 8-Day L...8 day1000
43VNP09H1VIIRS/S-NPP Surface Reflectance (SREF) 8-Day L...8 day500
44VNP13A1VIIRS/S-NPP Vegetation Indices (NDVI/EVI) 16-D...16 day500
45VNP15A2HVIIRS/S-NPP Leaf Area Index/FPAR (LAI/FPAR) 8-...8 day500
46VNP21A2VIIRS/S-NPP Land Surface Temperature and Emiss...8 day1000
47VNP22Q2VIIRS/S-NPP Land Cover Dynamics (LCD) Yearly L...1 year500
\n", + "
" + ], + "text/plain": [ + " product description frequency \\\n", + "1 Daymet Daily Surface Weather Data (Daymet) on a 1-km ... 1 day \n", + "2 ECO4ESIPTJPL ECOSTRESS Evaporative Stress Index PT-JPL (ESI... Varies \n", + "3 ECO4WUE ECOSTRESS Water Use Efficiency (WUE) Daily L4 ... Varies \n", + "4 GEDI03 GEDI Gridded Land Surface Metrics (LSM) L3 1km... One time \n", + "5 GEDI04_B GEDI Gridded Aboveground Biomass Density (AGBD... One time \n", + "6 MCD12Q1 MODIS/Terra+Aqua Land Cover Type (LC) Yearly L... 1 year \n", + "7 MCD12Q2 MODIS/Terra+Aqua Land Cover Dynamics (LCD) Yea... 1 year \n", + "8 MCD15A2H MODIS/Terra+Aqua Leaf Area Index/FPAR (LAI/FPA... 8 day \n", + "9 MCD15A3H MODIS/Terra+Aqua Leaf Area Index/FPAR (LAI/FPA... 4 day \n", + "10 MCD19A3 MODIS/Terra+Aqua BRDF Model Parameters (MAIAC)... 8 day \n", + "11 MCD43A MODIS/Terra+Aqua BRDF and Calculated Albedo (B... 1 day \n", + "12 MCD43A1 MODIS/Terra+Aqua BRDF/Albedo Model Parameters ... 1 day \n", + "13 MCD43A4 MODIS/Terra+Aqua Nadir BRDF-Adjusted Reflectan... 1 day \n", + "14 MCD64A1 MODIS/Terra+Aqua Burned Area (Burned Area) Mon... Monthly \n", + "15 MOD09A1 MODIS/Terra Surface Reflectance (SREF) 8-Day L... 8 day \n", + "16 MOD11A2 MODIS/Terra Land Surface Temperature and Emiss... 8 day \n", + "17 MOD13Q1 MODIS/Terra Vegetation Indices (NDVI/EVI) 16-D... 16 day \n", + "18 MOD14A2 MODIS/Terra Thermal Anomalies/Fire (Fire) 8-Da... 8 day \n", + "19 MOD15A2H MODIS/Terra Leaf Area Index/FPAR (LAI/FPAR) 8-... 8 day \n", + "20 MOD16A2 MODIS/Terra Net Evapotranspiration (ET) 8-Day ... 8 day \n", + "21 MOD16A2GF MODIS/Terra Net Evapotranspiration Gap-Filled ... 8 day \n", + "22 MOD17A2H MODIS/Terra Gross Primary Productivity (GPP) 8... 8 day \n", + "23 MOD17A2HGF MODIS/Terra Gross Primary Productivity Gap-Fil... 8 day \n", + "24 MOD17A3HGF MODIS/Terra Net Primary Production Gap-Filled ... 1 year \n", + "25 MOD21A2 MODIS/Terra Land Surface Temperature/3-Band Em... 8 day \n", + "26 MOD44B MODIS/Terra Vegetation Continuous Fields (VCF)... 1 year \n", + "27 MYD09A1 MODIS/Aqua Surface Reflectance (SREF) 8-Day L3... 8 day \n", + "28 MYD11A2 MODIS/Aqua Land Surface Temperature and Emissi... 8 day \n", + "29 MYD13Q1 MODIS/Aqua Vegetation Indices (NDVI/EVI) 16-Da... 16 day \n", + "30 MYD14A2 MODIS/Aqua Thermal Anomalies/Fire (Fire) 8-Day... 8 day \n", + "31 MYD15A2H MODIS/Aqua Leaf Area Index/FPAR (LAI/FPAR) 8-D... 8 day \n", + "32 MYD16A2 MODIS/Aqua Net Evapotranspiration (ET) 8-Day L... 8 day \n", + "33 MYD16A2GF MODIS/Aqua Net Evapotranspiration Gap-Filled (... 8 day \n", + "34 MYD17A2H MODIS/Aqua Gross Primary Productivity (GPP) 8-... 8 day \n", + "35 MYD17A2HGF MODIS/Aqua Gross Primary Productivity Gap-Fill... 8 day \n", + "36 MYD17A3HGF MODIS/Aqua Net Primary Production Gap-Filled (... 1 year \n", + "37 MYD21A2 MODIS/Aqua Land Surface Temperature/3-Band Emi... 8 day \n", + "38 SIF005 SIF Estimates from Fused SCIAMACHY and GOME-2 ... Monthly \n", + "39 SIF_ANN SIF Estimates from OCO-2 SIF and MODIS (SIF), ... 16 day \n", + "40 SPL3SMP_E SMAP Enhanced Radiometer Soil Moisture (SM) Da... 1 day \n", + "41 SPL4CMDL SMAP Carbon Net Ecosystem Exchange (NEE) Daily... 1 day \n", + "42 VNP09A1 VIIRS/S-NPP Surface Reflectance (SREF) 8-Day L... 8 day \n", + "43 VNP09H1 VIIRS/S-NPP Surface Reflectance (SREF) 8-Day L... 8 day \n", + "44 VNP13A1 VIIRS/S-NPP Vegetation Indices (NDVI/EVI) 16-D... 16 day \n", + "45 VNP15A2H VIIRS/S-NPP Leaf Area Index/FPAR (LAI/FPAR) 8-... 8 day \n", + "46 VNP21A2 VIIRS/S-NPP Land Surface Temperature and Emiss... 8 day \n", + "47 VNP22Q2 VIIRS/S-NPP Land Cover Dynamics (LCD) Yearly L... 1 year \n", + "\n", + " resolution_meters \n", + "1 1000 \n", + "2 70 \n", + "3 70 \n", + "4 1000 \n", + "5 1000 \n", + "6 500 \n", + "7 500 \n", + "8 500 \n", + "9 500 \n", + "10 1000 \n", + "11 500 \n", + "12 500 \n", + "13 500 \n", + "14 500 \n", + "15 500 \n", + "16 1000 \n", + "17 250 \n", + "18 1000 \n", + "19 500 \n", + "20 500 \n", + "21 500 \n", + "22 500 \n", + "23 500 \n", + "24 500 \n", + "25 1000 \n", + "26 250 \n", + "27 500 \n", + "28 1000 \n", + "29 250 \n", + "30 1000 \n", + "31 500 \n", + "32 500 \n", + "33 500 \n", + "34 500 \n", + "35 500 \n", + "36 500 \n", + "37 1000 \n", + "38 5000 \n", + "39 5000 \n", + "40 9000 \n", + "41 9000 \n", + "42 1000 \n", + "43 500 \n", + "44 500 \n", + "45 500 \n", + "46 1000 \n", + "47 500 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ls_products = modis_products()\n", + "ls_products" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "556606e3-d9f2-4b4b-a3d2-d9e78f867fdc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
banddescriptionunitsvalid_rangefill_valuescale_factor
1Dormancy.Num_Modes_01Onset_Dormancydays since 1-1-197011138 to 32766327671.0
2Dormancy.Num_Modes_02Onset_Dormancydays since 1-1-197011138 to 32766327671.0
3EVI_Amplitude.Num_Modes_01EVI_AmplitudeNBAR-EVI20 to 10000327670.0001
4EVI_Amplitude.Num_Modes_02EVI_AmplitudeNBAR-EVI20 to 10000327670.0001
5EVI_Area.Num_Modes_01EVI_AreaNBAR-EVI20 to 3700327670.1
6EVI_Area.Num_Modes_02EVI_AreaNBAR-EVI20 to 3700327670.1
7EVI_Minimum.Num_Modes_01Minimum_EVINBAR-EVI20 to 10000327670.0001
8EVI_Minimum.Num_Modes_02Minimum_EVINBAR-EVI20 to 10000327670.0001
9Greenup.Num_Modes_01Onset_Greenness_Increasedays since 1-1-197011138 to 32766327671.0
10Greenup.Num_Modes_02Onset_Greenness_Increasedays since 1-1-197011138 to 32766327671.0
11Maturity.Num_Modes_01Onset_Maturitydays since 1-1-197011138 to 32766327671.0
12Maturity.Num_Modes_02Onset_Maturitydays since 1-1-197011138 to 32766327671.0
13MidGreendown.Num_Modes_01Middle_Greenness_Decreasedays since 1-1-197011138 to 32766327671.0
14MidGreendown.Num_Modes_02Middle_Greenness_Decreasedays since 1-1-197011138 to 32766327671.0
15MidGreenup.Num_Modes_01Middle_Greenness_Increasedays since 1-1-197011138 to 32766327671.0
16MidGreenup.Num_Modes_02Middle_Greenness_Increasedays since 1-1-197011138 to 32766327671.0
17NumCyclesNumber_of_Cyclesnone0 to 7327671
18QA_Detailed.Num_Modes_01Quality_Assessment_Detailednone0 to 16383327671
19QA_Detailed.Num_Modes_02Quality_Assessment_Detailednone0 to 16383327671
20QA_Overall.Num_Modes_01Quality_Assessment_Overallnone0 to 3327671
21QA_Overall.Num_Modes_02Quality_Assessment_Overallnone0 to 3327671
22Senescence.Num_Modes_01Onset_Greenness_Decreasedays since 1-1-197011138 to 32766327671.0
23Senescence.Num_Modes_02Onset_Greenness_Decreasedays since 1-1-197011138 to 32766327671.0
\n", + "
" + ], + "text/plain": [ + " band description \\\n", + "1 Dormancy.Num_Modes_01 Onset_Dormancy \n", + "2 Dormancy.Num_Modes_02 Onset_Dormancy \n", + "3 EVI_Amplitude.Num_Modes_01 EVI_Amplitude \n", + "4 EVI_Amplitude.Num_Modes_02 EVI_Amplitude \n", + "5 EVI_Area.Num_Modes_01 EVI_Area \n", + "6 EVI_Area.Num_Modes_02 EVI_Area \n", + "7 EVI_Minimum.Num_Modes_01 Minimum_EVI \n", + "8 EVI_Minimum.Num_Modes_02 Minimum_EVI \n", + "9 Greenup.Num_Modes_01 Onset_Greenness_Increase \n", + "10 Greenup.Num_Modes_02 Onset_Greenness_Increase \n", + "11 Maturity.Num_Modes_01 Onset_Maturity \n", + "12 Maturity.Num_Modes_02 Onset_Maturity \n", + "13 MidGreendown.Num_Modes_01 Middle_Greenness_Decrease \n", + "14 MidGreendown.Num_Modes_02 Middle_Greenness_Decrease \n", + "15 MidGreenup.Num_Modes_01 Middle_Greenness_Increase \n", + "16 MidGreenup.Num_Modes_02 Middle_Greenness_Increase \n", + "17 NumCycles Number_of_Cycles \n", + "18 QA_Detailed.Num_Modes_01 Quality_Assessment_Detailed \n", + "19 QA_Detailed.Num_Modes_02 Quality_Assessment_Detailed \n", + "20 QA_Overall.Num_Modes_01 Quality_Assessment_Overall \n", + "21 QA_Overall.Num_Modes_02 Quality_Assessment_Overall \n", + "22 Senescence.Num_Modes_01 Onset_Greenness_Decrease \n", + "23 Senescence.Num_Modes_02 Onset_Greenness_Decrease \n", + "\n", + " units valid_range fill_value scale_factor \n", + "1 days since 1-1-1970 11138 to 32766 32767 1.0 \n", + "2 days since 1-1-1970 11138 to 32766 32767 1.0 \n", + "3 NBAR-EVI2 0 to 10000 32767 0.0001 \n", + "4 NBAR-EVI2 0 to 10000 32767 0.0001 \n", + "5 NBAR-EVI2 0 to 3700 32767 0.1 \n", + "6 NBAR-EVI2 0 to 3700 32767 0.1 \n", + "7 NBAR-EVI2 0 to 10000 32767 0.0001 \n", + "8 NBAR-EVI2 0 to 10000 32767 0.0001 \n", + "9 days since 1-1-1970 11138 to 32766 32767 1.0 \n", + "10 days since 1-1-1970 11138 to 32766 32767 1.0 \n", + "11 days since 1-1-1970 11138 to 32766 32767 1.0 \n", + "12 days since 1-1-1970 11138 to 32766 32767 1.0 \n", + "13 days since 1-1-1970 11138 to 32766 32767 1.0 \n", + "14 days since 1-1-1970 11138 to 32766 32767 1.0 \n", + "15 days since 1-1-1970 11138 to 32766 32767 1.0 \n", + "16 days since 1-1-1970 11138 to 32766 32767 1.0 \n", + "17 none 0 to 7 32767 1 \n", + "18 none 0 to 16383 32767 1 \n", + "19 none 0 to 16383 32767 1 \n", + "20 none 0 to 3 32767 1 \n", + "21 none 0 to 3 32767 1 \n", + "22 days since 1-1-1970 11138 to 32766 32767 1.0 \n", + "23 days since 1-1-1970 11138 to 32766 32767 1.0 " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bands = modis_bands(product = \"MCD12Q2\")\n", + "bands" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "b8e84665-4f20-4b48-9d31-b0adb04bb557", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
site_idlatitudelongitudeyeardoy
0243.085350-70.6913302009113.285714
1243.085350-70.6913302010100.500000
2243.085350-70.6913302011110.666667
3243.085350-70.691330201290.000000
4243.085350-70.6913302013112.833333
5243.085350-70.6913302014121.000000
6243.085350-70.6913302015121.000000
7243.085350-70.6913302016114.833333
8243.085350-70.6913302017110.000000
9335.879211-84.172203201162.000000
10335.879211-84.172203201370.000000
11335.879211-84.172203201478.000000
12335.879211-84.172203201574.000000
13943.097801-87.8929982009105.375000
14943.097801-87.892998201091.375000
15943.097801-87.8929982011101.375000
16943.097801-87.892998201275.250000
17943.097801-87.8929982013116.375000
18943.097801-87.8929982014111.750000
19943.097801-87.8929982015102.625000
\n", + "
" + ], + "text/plain": [ + " site_id latitude longitude year doy\n", + "0 2 43.085350 -70.691330 2009 113.285714\n", + "1 2 43.085350 -70.691330 2010 100.500000\n", + "2 2 43.085350 -70.691330 2011 110.666667\n", + "3 2 43.085350 -70.691330 2012 90.000000\n", + "4 2 43.085350 -70.691330 2013 112.833333\n", + "5 2 43.085350 -70.691330 2014 121.000000\n", + "6 2 43.085350 -70.691330 2015 121.000000\n", + "7 2 43.085350 -70.691330 2016 114.833333\n", + "8 2 43.085350 -70.691330 2017 110.000000\n", + "9 3 35.879211 -84.172203 2011 62.000000\n", + "10 3 35.879211 -84.172203 2013 70.000000\n", + "11 3 35.879211 -84.172203 2014 78.000000\n", + "12 3 35.879211 -84.172203 2015 74.000000\n", + "13 9 43.097801 -87.892998 2009 105.375000\n", + "14 9 43.097801 -87.892998 2010 91.375000\n", + "15 9 43.097801 -87.892998 2011 101.375000\n", + "16 9 43.097801 -87.892998 2012 75.250000\n", + "17 9 43.097801 -87.892998 2013 116.375000\n", + "18 9 43.097801 -87.892998 2014 111.750000\n", + "19 9 43.097801 -87.892998 2015 102.625000" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv(\"combined_DBF.csv\")\n", + "df['geometry'] = df['geometry'].apply(wkt.loads)\n", + "df = gpd.GeoDataFrame(df, crs='epsg:4326')\n", + "df['latitude'] = df.geometry.apply(lambda p: p.y)\n", + "df['longitude'] = df.geometry.apply(lambda p: p.x)\n", + "df = df.groupby([\"site_id\",\"latitude\",\"longitude\",\"first_yes_year\"], as_index=False)[\"first_yes_doy\"].mean()\n", + "df = df.rename(columns={\"first_yes_year\": \"year\", \"first_yes_doy\": \"doy\"})\n", + "df1 = df.head(20)\n", + "df1" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "bd13130a-f3cd-4c1d-b2fa-dbcca3f97e53", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "ModisMultiplePoints(dataset='modis_multiple_points', points=[(-70.69133, 43.08535), (-84.172203, 35.879211), (-87.892998, 43.097801)], years=(2007, 2017), product='MCD12Q2', bands={'Greenup.Num_Modes_01'})" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset = ModisMultiplePoints(points=list(zip(df1.longitude.unique(), df1.latitude.unique())), \n", + " years=[2007, 2017], product = \"MCD12Q2\", bands = [\"Greenup.Num_Modes_01\"])\n", + "dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "ce75a0e9-f5bd-47ef-a2af-75043ff9ec85", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "R version 4.2.1 (2022-06-23) -- \"Funny-Looking Kid\"\n", + "Copyright (C) 2022 The R Foundation for Statistical Computing\n", + "Platform: aarch64-unknown-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(MODISTools)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Warning messages:\n", + "1: multiple methods tables found for ‘direction’ \n", + "2: multiple methods tables found for ‘gridDistance’ \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> mt_subset(product = \"MCD12Q2\",\n", + "+ lat = 43.08535,\n", + "+ lon = -70.69133,\n", + "+ band = \"Greenup.Num_Modes_01\",\n", + "+ start = \"2007-01-01\",\n", + "+ end = \"2017-12-31\",\n", + "+ km_lr = 0.0,\n", + "+ km_ab = 0.0,\n", + "+ site_name = \"modis_-70.69133_43.08535\",\n", + "+ out_dir=\"/tmp/data\",\n", + "+ internal = FALSE,\n", + "+ progress = FALSE)\n", + "NULL\n", + "> \n", + "> \n", + "\n", + "R version 4.2.1 (2022-06-23) -- \"Funny-Looking Kid\"\n", + "Copyright (C) 2022 The R Foundation for Statistical Computing\n", + "Platform: aarch64-unknown-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(MODISTools)\n", + "> mt_subset(product = \"MCD12Q2\",\n", + "+ lat = 35.879211,\n", + "+ lon = -84.172203,\n", + "+ band = \"Greenup.Num_Modes_01\",\n", + "+ start = \"2007-01-01\",\n", + "+ end = \"2017-12-31\",\n", + "+ km_lr = 0.0,\n", + "+ km_ab = 0.0,\n", + "+ site_name = \"modis_-84.172203_35.879211\",\n", + "+ out_dir=\"/tmp/data\",\n", + "+ internal = FALSE,\n", + "+ progress = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Warning messages:\n", + "1: multiple methods tables found for ‘direction’ \n", + "2: multiple methods tables found for ‘gridDistance’ \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "NULL\n", + "> \n", + "> \n", + "\n", + "R version 4.2.1 (2022-06-23) -- \"Funny-Looking Kid\"\n", + "Copyright (C) 2022 The R Foundation for Statistical Computing\n", + "Platform: aarch64-unknown-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(MODISTools)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Warning messages:\n", + "1: multiple methods tables found for ‘direction’ \n", + "2: multiple methods tables found for ‘gridDistance’ \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> mt_subset(product = \"MCD12Q2\",\n", + "+ lat = 43.097801,\n", + "+ lon = -87.892998,\n", + "+ band = \"Greenup.Num_Modes_01\",\n", + "+ start = \"2007-01-01\",\n", + "+ end = \"2017-12-31\",\n", + "+ km_lr = 0.0,\n", + "+ km_ab = 0.0,\n", + "+ site_name = \"modis_-87.892998_43.097801\",\n", + "+ out_dir=\"/tmp/data\",\n", + "+ internal = FALSE,\n", + "+ progress = FALSE)\n", + "NULL\n", + "> \n", + "> \n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
xllcorneryllcornercellsizenrowsncolsbandunitsscalelatitudelongitude...startendcompletemodis_datecalendar_datetileproc_datepixelvaluegeometry
0-5740907.94790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.08535-70.69133...2007-01-012017-12-31TrueA20070012007-01-01h12v042022085214812113627POINT (-70.69133 43.08535)
1-5740907.94790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.08535-70.69133...2007-01-012017-12-31TrueA20080012008-01-01h12v042022095003237113991POINT (-70.69133 43.08535)
2-5740907.94790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.08535-70.69133...2007-01-012017-12-31TrueA20090012009-01-01h12v042022096090426114352POINT (-70.69133 43.08535)
3-5740907.94790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.08535-70.69133...2007-01-012017-12-31TrueA20100012010-01-01h12v042022096142536114706POINT (-70.69133 43.08535)
4-5740907.94790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.08535-70.69133...2007-01-012017-12-31TrueA20110012011-01-01h12v042022101031346115080POINT (-70.69133 43.08535)
\n", + "

5 rows × 22 columns

\n", + "
" + ], + "text/plain": [ + " xllcorner yllcorner cellsize nrows ncols band \\\n", + "0 -5740907.9 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "1 -5740907.9 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "2 -5740907.9 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "3 -5740907.9 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "4 -5740907.9 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "\n", + " units scale latitude longitude ... start \\\n", + "0 days since 1-1-1970 1.0 43.08535 -70.69133 ... 2007-01-01 \n", + "1 days since 1-1-1970 1.0 43.08535 -70.69133 ... 2007-01-01 \n", + "2 days since 1-1-1970 1.0 43.08535 -70.69133 ... 2007-01-01 \n", + "3 days since 1-1-1970 1.0 43.08535 -70.69133 ... 2007-01-01 \n", + "4 days since 1-1-1970 1.0 43.08535 -70.69133 ... 2007-01-01 \n", + "\n", + " end complete modis_date calendar_date tile proc_date pixel \\\n", + "0 2017-12-31 True A2007001 2007-01-01 h12v04 2022085214812 1 \n", + "1 2017-12-31 True A2008001 2008-01-01 h12v04 2022095003237 1 \n", + "2 2017-12-31 True A2009001 2009-01-01 h12v04 2022096090426 1 \n", + "3 2017-12-31 True A2010001 2010-01-01 h12v04 2022096142536 1 \n", + "4 2017-12-31 True A2011001 2011-01-01 h12v04 2022101031346 1 \n", + "\n", + " value geometry \n", + "0 13627 POINT (-70.69133 43.08535) \n", + "1 13991 POINT (-70.69133 43.08535) \n", + "2 14352 POINT (-70.69133 43.08535) \n", + "3 14706 POINT (-70.69133 43.08535) \n", + "4 15080 POINT (-70.69133 43.08535) \n", + "\n", + "[5 rows x 22 columns]" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.download()\n", + "df = dataset.load()\n", + "df.head()" + ] + }, + { + "cell_type": "markdown", + "id": "7be0d889-44a3-45cc-8ad7-2a6bd95267d9", + "metadata": {}, + "source": [ + "As the timing of land surface green-up in the MCD12Q2 dataset starts from July 1 in 1970, we need to convert the green-up dates to the units in day of year ranging from 1 to 365 in the corresponding year" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "954231c7-360e-42ef-adbf-f645dd826a8b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
xllcorneryllcornercellsizenrowsncolsbandunitsscalelatitudelongitude...completemodis_datecalendar_datetileproc_datepixelvaluegeometryyeardoy
0-5740907.904790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.085350-70.691330...TrueA20070012007-01-01h12v042022085214812113627POINT (-70.69133 43.08535)2007122
1-5740907.904790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.085350-70.691330...TrueA20080012008-01-01h12v042022095003237113991POINT (-70.69133 43.08535)2008121
2-5740907.904790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.085350-70.691330...TrueA20090012009-01-01h12v042022096090426114352POINT (-70.69133 43.08535)2009117
3-5740907.904790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.085350-70.691330...TrueA20100012010-01-01h12v042022096142536114706POINT (-70.69133 43.08535)2010106
4-5740907.904790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.085350-70.691330...TrueA20110012011-01-01h12v042022101031346115080POINT (-70.69133 43.08535)2011115
5-5740907.904790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.085350-70.691330...TrueA20120012012-01-01h12v042022103175437115446POINT (-70.69133 43.08535)2012116
6-5740907.904790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.085350-70.691330...TrueA20130012013-01-01h12v042022105132233115816POINT (-70.69133 43.08535)2013121
7-5740907.904790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.085350-70.691330...TrueA20140012014-01-01h12v042022110132941116186POINT (-70.69133 43.08535)2014126
8-5740907.904790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.085350-70.691330...TrueA20150012015-01-01h12v042022111202223116552POINT (-70.69133 43.08535)2015127
9-5740907.904790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.085350-70.691330...TrueA20160012016-01-01h12v042022113062129116919POINT (-70.69133 43.08535)2016129
10-5740907.904790653.45463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.085350-70.691330...TrueA20170012017-01-01h12v042022115033332117278POINT (-70.69133 43.08535)2017123
0-7583965.833989585.84463.31271711Greenup.Num_Modes_01days since 1-1-19701.035.879211-84.172203...TrueA20070012007-01-01h11v052022085210339113572POINT (-84.17220 35.87921)200767
1-7583965.833989585.84463.31271711Greenup.Num_Modes_01days since 1-1-19701.035.879211-84.172203...TrueA20080012008-01-01h11v052022094200657113933POINT (-84.17220 35.87921)200863
2-7583965.833989585.84463.31271711Greenup.Num_Modes_01days since 1-1-19701.035.879211-84.172203...TrueA20090012009-01-01h11v052022096085001114313POINT (-84.17220 35.87921)200978
3-7583965.833989585.84463.31271711Greenup.Num_Modes_01days since 1-1-19701.035.879211-84.172203...TrueA20100012010-01-01h11v052022096140232114679POINT (-84.17220 35.87921)201079
4-7583965.833989585.84463.31271711Greenup.Num_Modes_01days since 1-1-19701.035.879211-84.172203...TrueA20110012011-01-01h11v052022101020853115033POINT (-84.17220 35.87921)201168
5-7583965.833989585.84463.31271711Greenup.Num_Modes_01days since 1-1-19701.035.879211-84.172203...TrueA20120012012-01-01h11v052022103171752115396POINT (-84.17220 35.87921)201266
6-7583965.833989585.84463.31271711Greenup.Num_Modes_01days since 1-1-19701.035.879211-84.172203...TrueA20130012013-01-01h11v052022105133036115780POINT (-84.17220 35.87921)201385
7-7583965.833989585.84463.31271711Greenup.Num_Modes_01days since 1-1-19701.035.879211-84.172203...TrueA20140012014-01-01h11v052022110124844116144POINT (-84.17220 35.87921)201484
8-7583965.833989585.84463.31271711Greenup.Num_Modes_01days since 1-1-19701.035.879211-84.172203...TrueA20150012015-01-01h11v052022111195121116505POINT (-84.17220 35.87921)201580
9-7583965.833989585.84463.31271711Greenup.Num_Modes_01days since 1-1-19701.035.879211-84.172203...TrueA20160012016-01-01h11v052022113061032116866POINT (-84.17220 35.87921)201676
10-7583965.833989585.84463.31271711Greenup.Num_Modes_01days since 1-1-19701.035.879211-84.172203...TrueA20170012017-01-01h11v052022114192628117216POINT (-84.17220 35.87921)201761
0-7136405.774792043.39463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.097801-87.892998...TrueA20070012007-01-01h11v042022085205843113605POINT (-87.89300 43.09780)2007100
1-7136405.774792043.39463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.097801-87.892998...TrueA20080012008-01-01h11v042022094201630113989POINT (-87.89300 43.09780)2008119
2-7136405.774792043.39463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.097801-87.892998...TrueA20090012009-01-01h11v042022096091610114350POINT (-87.89300 43.09780)2009115
3-7136405.774792043.39463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.097801-87.892998...TrueA20100012010-01-01h11v042022096142009114702POINT (-87.89300 43.09780)2010102
4-7136405.774792043.39463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.097801-87.892998...TrueA20110012011-01-01h11v042022101021354115079POINT (-87.89300 43.09780)2011114
5-7136405.774792043.39463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.097801-87.892998...TrueA20120012012-01-01h11v042022103180852115416POINT (-87.89300 43.09780)201286
6-7136405.774792043.39463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.097801-87.892998...TrueA20130012013-01-01h11v042022105131104115813POINT (-87.89300 43.09780)2013118
7-7136405.774792043.39463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.097801-87.892998...TrueA20140012014-01-01h11v042022110123643116187POINT (-87.89300 43.09780)2014127
8-7136405.774792043.39463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.097801-87.892998...TrueA20150012015-01-01h11v042022111200725116540POINT (-87.89300 43.09780)2015115
9-7136405.774792043.39463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.097801-87.892998...TrueA20160012016-01-01h11v042022113063802116898POINT (-87.89300 43.09780)2016108
10-7136405.774792043.39463.31271711Greenup.Num_Modes_01days since 1-1-19701.043.097801-87.892998...TrueA20170012017-01-01h11v042022114201303117264POINT (-87.89300 43.09780)2017109
\n", + "

33 rows × 24 columns

\n", + "
" + ], + "text/plain": [ + " xllcorner yllcorner cellsize nrows ncols band \\\n", + "0 -5740907.90 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "1 -5740907.90 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "2 -5740907.90 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "3 -5740907.90 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "4 -5740907.90 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "5 -5740907.90 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "6 -5740907.90 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "7 -5740907.90 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "8 -5740907.90 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "9 -5740907.90 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "10 -5740907.90 4790653.45 463.312717 1 1 Greenup.Num_Modes_01 \n", + "0 -7583965.83 3989585.84 463.312717 1 1 Greenup.Num_Modes_01 \n", + "1 -7583965.83 3989585.84 463.312717 1 1 Greenup.Num_Modes_01 \n", + "2 -7583965.83 3989585.84 463.312717 1 1 Greenup.Num_Modes_01 \n", + "3 -7583965.83 3989585.84 463.312717 1 1 Greenup.Num_Modes_01 \n", + "4 -7583965.83 3989585.84 463.312717 1 1 Greenup.Num_Modes_01 \n", + "5 -7583965.83 3989585.84 463.312717 1 1 Greenup.Num_Modes_01 \n", + "6 -7583965.83 3989585.84 463.312717 1 1 Greenup.Num_Modes_01 \n", + "7 -7583965.83 3989585.84 463.312717 1 1 Greenup.Num_Modes_01 \n", + "8 -7583965.83 3989585.84 463.312717 1 1 Greenup.Num_Modes_01 \n", + "9 -7583965.83 3989585.84 463.312717 1 1 Greenup.Num_Modes_01 \n", + "10 -7583965.83 3989585.84 463.312717 1 1 Greenup.Num_Modes_01 \n", + "0 -7136405.77 4792043.39 463.312717 1 1 Greenup.Num_Modes_01 \n", + "1 -7136405.77 4792043.39 463.312717 1 1 Greenup.Num_Modes_01 \n", + "2 -7136405.77 4792043.39 463.312717 1 1 Greenup.Num_Modes_01 \n", + "3 -7136405.77 4792043.39 463.312717 1 1 Greenup.Num_Modes_01 \n", + "4 -7136405.77 4792043.39 463.312717 1 1 Greenup.Num_Modes_01 \n", + "5 -7136405.77 4792043.39 463.312717 1 1 Greenup.Num_Modes_01 \n", + "6 -7136405.77 4792043.39 463.312717 1 1 Greenup.Num_Modes_01 \n", + "7 -7136405.77 4792043.39 463.312717 1 1 Greenup.Num_Modes_01 \n", + "8 -7136405.77 4792043.39 463.312717 1 1 Greenup.Num_Modes_01 \n", + "9 -7136405.77 4792043.39 463.312717 1 1 Greenup.Num_Modes_01 \n", + "10 -7136405.77 4792043.39 463.312717 1 1 Greenup.Num_Modes_01 \n", + "\n", + " units scale latitude longitude ... complete modis_date \\\n", + "0 days since 1-1-1970 1.0 43.085350 -70.691330 ... True A2007001 \n", + "1 days since 1-1-1970 1.0 43.085350 -70.691330 ... True A2008001 \n", + "2 days since 1-1-1970 1.0 43.085350 -70.691330 ... True A2009001 \n", + "3 days since 1-1-1970 1.0 43.085350 -70.691330 ... True A2010001 \n", + "4 days since 1-1-1970 1.0 43.085350 -70.691330 ... True A2011001 \n", + "5 days since 1-1-1970 1.0 43.085350 -70.691330 ... True A2012001 \n", + "6 days since 1-1-1970 1.0 43.085350 -70.691330 ... True A2013001 \n", + "7 days since 1-1-1970 1.0 43.085350 -70.691330 ... True A2014001 \n", + "8 days since 1-1-1970 1.0 43.085350 -70.691330 ... True A2015001 \n", + "9 days since 1-1-1970 1.0 43.085350 -70.691330 ... True A2016001 \n", + "10 days since 1-1-1970 1.0 43.085350 -70.691330 ... True A2017001 \n", + "0 days since 1-1-1970 1.0 35.879211 -84.172203 ... True A2007001 \n", + "1 days since 1-1-1970 1.0 35.879211 -84.172203 ... True A2008001 \n", + "2 days since 1-1-1970 1.0 35.879211 -84.172203 ... True A2009001 \n", + "3 days since 1-1-1970 1.0 35.879211 -84.172203 ... True A2010001 \n", + "4 days since 1-1-1970 1.0 35.879211 -84.172203 ... True A2011001 \n", + "5 days since 1-1-1970 1.0 35.879211 -84.172203 ... True A2012001 \n", + "6 days since 1-1-1970 1.0 35.879211 -84.172203 ... True A2013001 \n", + "7 days since 1-1-1970 1.0 35.879211 -84.172203 ... True A2014001 \n", + "8 days since 1-1-1970 1.0 35.879211 -84.172203 ... True A2015001 \n", + "9 days since 1-1-1970 1.0 35.879211 -84.172203 ... True A2016001 \n", + "10 days since 1-1-1970 1.0 35.879211 -84.172203 ... True A2017001 \n", + "0 days since 1-1-1970 1.0 43.097801 -87.892998 ... True A2007001 \n", + "1 days since 1-1-1970 1.0 43.097801 -87.892998 ... True A2008001 \n", + "2 days since 1-1-1970 1.0 43.097801 -87.892998 ... True A2009001 \n", + "3 days since 1-1-1970 1.0 43.097801 -87.892998 ... True A2010001 \n", + "4 days since 1-1-1970 1.0 43.097801 -87.892998 ... True A2011001 \n", + "5 days since 1-1-1970 1.0 43.097801 -87.892998 ... True A2012001 \n", + "6 days since 1-1-1970 1.0 43.097801 -87.892998 ... True A2013001 \n", + "7 days since 1-1-1970 1.0 43.097801 -87.892998 ... True A2014001 \n", + "8 days since 1-1-1970 1.0 43.097801 -87.892998 ... True A2015001 \n", + "9 days since 1-1-1970 1.0 43.097801 -87.892998 ... True A2016001 \n", + "10 days since 1-1-1970 1.0 43.097801 -87.892998 ... True A2017001 \n", + "\n", + " calendar_date tile proc_date pixel value \\\n", + "0 2007-01-01 h12v04 2022085214812 1 13627 \n", + "1 2008-01-01 h12v04 2022095003237 1 13991 \n", + "2 2009-01-01 h12v04 2022096090426 1 14352 \n", + "3 2010-01-01 h12v04 2022096142536 1 14706 \n", + "4 2011-01-01 h12v04 2022101031346 1 15080 \n", + "5 2012-01-01 h12v04 2022103175437 1 15446 \n", + "6 2013-01-01 h12v04 2022105132233 1 15816 \n", + "7 2014-01-01 h12v04 2022110132941 1 16186 \n", + "8 2015-01-01 h12v04 2022111202223 1 16552 \n", + "9 2016-01-01 h12v04 2022113062129 1 16919 \n", + "10 2017-01-01 h12v04 2022115033332 1 17278 \n", + "0 2007-01-01 h11v05 2022085210339 1 13572 \n", + "1 2008-01-01 h11v05 2022094200657 1 13933 \n", + "2 2009-01-01 h11v05 2022096085001 1 14313 \n", + "3 2010-01-01 h11v05 2022096140232 1 14679 \n", + "4 2011-01-01 h11v05 2022101020853 1 15033 \n", + "5 2012-01-01 h11v05 2022103171752 1 15396 \n", + "6 2013-01-01 h11v05 2022105133036 1 15780 \n", + "7 2014-01-01 h11v05 2022110124844 1 16144 \n", + "8 2015-01-01 h11v05 2022111195121 1 16505 \n", + "9 2016-01-01 h11v05 2022113061032 1 16866 \n", + "10 2017-01-01 h11v05 2022114192628 1 17216 \n", + "0 2007-01-01 h11v04 2022085205843 1 13605 \n", + "1 2008-01-01 h11v04 2022094201630 1 13989 \n", + "2 2009-01-01 h11v04 2022096091610 1 14350 \n", + "3 2010-01-01 h11v04 2022096142009 1 14702 \n", + "4 2011-01-01 h11v04 2022101021354 1 15079 \n", + "5 2012-01-01 h11v04 2022103180852 1 15416 \n", + "6 2013-01-01 h11v04 2022105131104 1 15813 \n", + "7 2014-01-01 h11v04 2022110123643 1 16187 \n", + "8 2015-01-01 h11v04 2022111200725 1 16540 \n", + "9 2016-01-01 h11v04 2022113063802 1 16898 \n", + "10 2017-01-01 h11v04 2022114201303 1 17264 \n", + "\n", + " geometry year doy \n", + "0 POINT (-70.69133 43.08535) 2007 122 \n", + "1 POINT (-70.69133 43.08535) 2008 121 \n", + "2 POINT (-70.69133 43.08535) 2009 117 \n", + "3 POINT (-70.69133 43.08535) 2010 106 \n", + "4 POINT (-70.69133 43.08535) 2011 115 \n", + "5 POINT (-70.69133 43.08535) 2012 116 \n", + "6 POINT (-70.69133 43.08535) 2013 121 \n", + "7 POINT (-70.69133 43.08535) 2014 126 \n", + "8 POINT (-70.69133 43.08535) 2015 127 \n", + "9 POINT (-70.69133 43.08535) 2016 129 \n", + "10 POINT (-70.69133 43.08535) 2017 123 \n", + "0 POINT (-84.17220 35.87921) 2007 67 \n", + "1 POINT (-84.17220 35.87921) 2008 63 \n", + "2 POINT (-84.17220 35.87921) 2009 78 \n", + "3 POINT (-84.17220 35.87921) 2010 79 \n", + "4 POINT (-84.17220 35.87921) 2011 68 \n", + "5 POINT (-84.17220 35.87921) 2012 66 \n", + "6 POINT (-84.17220 35.87921) 2013 85 \n", + "7 POINT (-84.17220 35.87921) 2014 84 \n", + "8 POINT (-84.17220 35.87921) 2015 80 \n", + "9 POINT (-84.17220 35.87921) 2016 76 \n", + "10 POINT (-84.17220 35.87921) 2017 61 \n", + "0 POINT (-87.89300 43.09780) 2007 100 \n", + "1 POINT (-87.89300 43.09780) 2008 119 \n", + "2 POINT (-87.89300 43.09780) 2009 115 \n", + "3 POINT (-87.89300 43.09780) 2010 102 \n", + "4 POINT (-87.89300 43.09780) 2011 114 \n", + "5 POINT (-87.89300 43.09780) 2012 86 \n", + "6 POINT (-87.89300 43.09780) 2013 118 \n", + "7 POINT (-87.89300 43.09780) 2014 127 \n", + "8 POINT (-87.89300 43.09780) 2015 115 \n", + "9 POINT (-87.89300 43.09780) 2016 108 \n", + "10 POINT (-87.89300 43.09780) 2017 109 \n", + "\n", + "[33 rows x 24 columns]" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['year'] = pd.DatetimeIndex(df['calendar_date']).year\n", + "df['doy'] = df['value']-(df['year']-1970)*365\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "e0d376d1-8148-4f98-b95e-fab90945328d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(33, 24)" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99a226a6-8d56-4632-b650-eb993e4d3620", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "59cf4be3-22b8-4bd3-b075-e099caf1c754", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "springtime", + "language": "python", + "name": "springtime" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/notebooks/mk_data_preparation_npn.ipynb b/docs/notebooks/mk_data_preparation_npn.ipynb new file mode 100644 index 00000000..1c1052c3 --- /dev/null +++ b/docs/notebooks/mk_data_preparation_npn.ipynb @@ -0,0 +1,7591 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "18c79f8b-c888-4b03-a255-1adfc813fd10", + "metadata": {}, + "source": [ + "# Modelling for predicting the spring onset of natural vegetation across the Northern Hemisphere\n", + "\n", + "https://doi.org/10.1016/j.ecolind.2021.108126\n" + ] + }, + { + "cell_type": "markdown", + "id": "aedb37bc-126b-4a09-9fbd-4a4c38295187", + "metadata": {}, + "source": [ + "## Data\n", + "\n", + "- Observation data from the USA National Phenology Network (USA-NPN)\n", + "- MODIS land cover type product and the land cover dynamics product\n", + "- Daymet gridded climate data covering Northern America\n", + "- Climate data obtained from Global Land Data Assimilation System (GLDAS) covering the Northern Hemisphere" + ] + }, + { + "cell_type": "markdown", + "id": "7102c4b8-b70d-4e80-be4c-0d5ba9e30b29", + "metadata": {}, + "source": [ + "### USA-NPN\n", + "\n", + "- Observation records of vegetation phenology from 2895 sites from 2007 to 2017\n", + "- Four vegetation types defined in the USA-NPN dataset, including deciduous broadleaf forests (DBF), evergreen broadleaf forests (EBF), graminoid (GRA), and drought deciduous broadleaf forests (DDBF)\n", + "- Spring onset: breaking leaf buds for DBF, breaking leaf buds for ENF, breaking leaf buds for DDBF, and initial growth of grasses/sedges for GRA\n", + "- Averaging the timing of spring onsets for all records at the same site in the same year\n", + "- Excluding observation data in the sites located in the pixels that are classified as urban and build-up in the MODIS land cover maps" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "4535bcd5-66cc-4a24-83d5-5526be46a71d", + "metadata": {}, + "outputs": [], + "source": [ + "import springtime\n", + "from springtime.datasets.NPNPhenor import NPNPhenor, npn_species, npn_phenophases" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7703746c-8949-4cb2-ac18-9b5d4acfd93e", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import geopandas as gpd\n", + "import pandas as pd\n", + "import math\n", + "import folium\n", + "import os\n", + "import glob\n", + "import tempfile" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "66665915-7b8d-48db-b1e2-6a331e40690d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'/home/jovyan/springtime/docs/notebooks'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "current_path = os.getcwd()\n", + "current_path" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "1e85ce37-7712-4845-bab4-c8bd8643a39b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " R/rpy2 DataFrame (1755 x 18)\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
species_idcommon_namegenus...family_idfamily_namefamily_common_name
\n", + " 120\n", + " \n", + " \"'ohi'a l...\n", + " \n", + " 'Metrosid...\n", + " \n", + " ...\n", + " \n", + " 301\n", + " \n", + " 'Myrtaceae'\n", + " \n", + " 'Myrtle F...\n", + "
\n", + " 1436\n", + " \n", + " 'absinthi...\n", + " \n", + " 'Artemisia'\n", + " \n", + " \n", + " \n", + " 242\n", + " \n", + " 'Asterace...\n", + " \n", + " 'Aster Fa...\n", + "
\n", + " 1227\n", + " \n", + " 'Acadian ...\n", + " \n", + " 'Empidonax'\n", + " \n", + " \n", + " \n", + " 154\n", + " \n", + " 'Tyrannid...\n", + " \n", + " 'Tyrant F...\n", + "
\n", + " 1229\n", + " \n", + " 'acorn wo...\n", + " \n", + " 'Melanerp...\n", + " \n", + " \n", + " \n", + " 158\n", + " \n", + " 'Picidae'\n", + " \n", + " 'Woodpeck...\n", + "
\n", + " ...\n", + " \n", + " ...\n", + " \n", + " ...\n", + " \n", + " \n", + " \n", + " ...\n", + " \n", + " ...\n", + " \n", + " ...\n", + "
\n", + " 228\n", + " \n", + " 'Yoshino ...\n", + " \n", + " 'Prunus'\n", + " \n", + " \n", + " \n", + " 325\n", + " \n", + " 'Rosaceae'\n", + " \n", + " 'Rose Fam...\n", + "
\n", + " 1043\n", + " \n", + " 'youth on...\n", + " \n", + " 'Tolmiea'\n", + " \n", + " \n", + " \n", + " 332\n", + " \n", + " 'Saxifrag...\n", + " \n", + " 'Saxifrag...\n", + "
\n", + " 1395\n", + " \n", + " 'zebra-ta...\n", + " \n", + " 'Callisau...\n", + " \n", + " \n", + " \n", + " 209\n", + " \n", + " 'Phrynoso...\n", + " \n", + " 'Zebra-ta...\n", + "
\n", + " 2188\n", + " \n", + " 'zigzag s...\n", + " \n", + " 'Tradesca...\n", + " \n", + " \n", + " \n", + " 260\n", + " \n", + " 'Commelin...\n", + " \n", + " 'Spiderwo...\n", + "
\n", + " " + ], + "text/plain": [ + " [RTYPES.VECSXP]\n", + "R classes: ('data.frame',)\n", + "[IntSexpVe..., StrSexpVe..., StrSexpVe..., IntSexpVe..., ..., StrSexpVe..., IntSexpVe..., StrSexpVe..., StrSexpVe...]\n", + " species_id: \n", + " [RTYPES.INTSXP]\n", + "R classes: ('integer',)\n", + "[120, 1436, 1227, 1229, ..., 228, 1043, 1395, 2188]\n", + " common_name: \n", + " [RTYPES.STRSXP]\n", + "R classes: ('character',)\n", + "[\"'ohi'a l..., 'absinthi..., 'Acadian ..., 'acorn wo..., ..., 'Yoshino ..., 'youth on..., 'zebra-ta..., 'zigzag s...]\n", + " genus: \n", + " [RTYPES.STRSXP]\n", + "R classes: ('character',)\n", + "['Metrosid..., 'Artemisia', 'Empidonax', 'Melanerp..., ..., 'Prunus', 'Tolmiea', 'Callisau..., 'Tradesca...]\n", + " genus_id: \n", + " [RTYPES.INTSXP]\n", + "R classes: ('integer',)\n", + "[798, 437, 612, 790, ..., 933, 1058, 479, 1061]\n", + "...\n", + " species: \n", + " [RTYPES.STRSXP]\n", + "R classes: ('character',)\n", + "['Myrtales', 'Asterales', 'Passerif..., 'Piciform..., ..., 'Rosales', 'Saxifrag..., 'Squamata', 'Commelin...]\n", + " kingdom: \n", + " [RTYPES.INTSXP]\n", + "R classes: ('integer',)\n", + "[301, 242, 154, 158, ..., 325, 332, 209, 260]\n", + " itis_taxonomic_sn: \n", + " [RTYPES.STRSXP]\n", + "R classes: ('character',)\n", + "['Myrtaceae', 'Asterace..., 'Tyrannid..., 'Picidae', ..., 'Rosaceae', 'Saxifrag..., 'Phrynoso..., 'Commelin...]\n", + " functional_type: \n", + " [RTYPES.STRSXP]\n", + "R classes: ('character',)\n", + "['Myrtle F..., 'Aster Fa..., 'Tyrant F..., 'Woodpeck..., ..., 'Rose Fam..., 'Saxifrag..., 'Zebra-ta..., 'Spiderwo...]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# List IDs and names for available species, phenophases\n", + "species = npn_species()\n", + "species" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "b8a36ba7-3758-40eb-9c2e-ff40f7a2dec0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " species_id common_name genus genus_id genus_common_name\n", + "1 120 'ohi'a lehua Metrosideros 798 Lehuas (Metrosideros)\n", + " species kingdom itis_taxonomic_sn functional_type class_id\n", + "1 polymorpha Plantae 27259 Evergreen broadleaf 15\n", + " class_common_name class_name order_id order_common_name\n", + "1 Flowering Plants Magnoliopsida 89 Myrtle and Evening-primrose Families\n", + " order_name family_id family_name family_common_name\n", + "1 Myrtales 301 Myrtaceae Myrtle Family\n", + "\n" + ] + } + ], + "source": [ + "print(species.head(1))\n", + "# It's not easy to check the column names. I printed the first row and copy-pasted the names here:\n", + "# species_id, common_name, genus genus_id, genus_common_name, species, kingdom, itis_taxonomic_sn,functional_type, class_id, class_common_name, \n", + "# class_name, order_id, order_common_name, order_name family_id, family_name, family_common_nam" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "596190d6-1b7e-421c-a398-4b7c1f9c8354", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
species_idcommon_namegenusgenus_idgenus_common_namespecieskingdomitis_taxonomic_snfunctional_typeclass_idclass_common_nameclass_nameorder_idorder_common_nameorder_namefamily_idfamily_namefamily_common_name
1120'ohi'a lehuaMetrosideros798Lehuas (Metrosideros)polymorphaPlantae27259.0Evergreen broadleaf15Flowering PlantsMagnoliopsida89Myrtle and Evening-primrose FamiliesMyrtales301MyrtaceaeMyrtle Family
21436absinthiumArtemisia437Sagebrushes (Artemisia)absinthiumPlantae35445.0Forb15Flowering PlantsMagnoliopsida69Aster, Bellflower and Buckbean FamiliesAsterales242AsteraceaeAster Family
31227Acadian flycatcherEmpidonax612Empidonax Flycatchers (Empidonax)virescensAnimalia178339.0Bird5BirdsAves31Perching BirdsPasseriformes154TyrannidaeTyrant Flycatchers
41229acorn woodpeckerMelanerpes790Melanerpine Woodpeckers (Melanerpes)formicivorusAnimalia178189.0Bird5BirdsAves33WoodpeckersPiciformes158PicidaeWoodpeckers
52110Adam and EveAplectrum1285Adam and Eves (Aplectrum)hyemalePlantae43489.0Forb15Flowering PlantsMagnoliopsida68Asparagas, Iris, Orchid and Aloe FamiliesAsparagales307OrchidaceaeOrchid Family
.........................................................
17511671yerba mansaAnemopsis413Yerba Mansa (Anemopsis)californicaPlantae18223.0Forb15Flowering PlantsMagnoliopsida92Birthwort and Lizard's-tail FamiliesPiperales331SaururaceaeLizard's-tail Family
1752228Yoshino cherryPrunus933Cherries (Prunus)yedoensisPlantae836663.0Deciduous broadleaf15Flowering PlantsMagnoliopsida96Oleaster, Buckthorn, Rose and Elm FamiliesRosales325RosaceaeRose Family
17531043youth on ageTolmiea1058Youth on Ages (Tolmiea)menziesiiPlantae24533.0Forb15Flowering PlantsMagnoliopsida98Currant, Witch-hazel and Saxifrage FamiliesSaxifragales332SaxifragaceaeSaxifrage Family
17541395zebra-tailed lizardCallisaurus479Zebra-tailed Lizards (Callisaurus)draconoidesAnimalia173906.0Reptile10ReptilesReptilia54Snakes and LizardsSquamata209PhrynosomatidaeZebra-tailed and Horned Lizards
17552188zigzag spiderwortTradescantia1061Spiderworts (Tradescantia)subasperaPlantae39176.0Forb15Flowering PlantsMagnoliopsida74Spiderwort and Water-hyacinth FamiliesCommelinales260CommelinaceaeSpiderwort Family
\n", + "

1755 rows × 18 columns

\n", + "
" + ], + "text/plain": [ + " species_id common_name genus genus_id \\\n", + "1 120 'ohi'a lehua Metrosideros 798 \n", + "2 1436 absinthium Artemisia 437 \n", + "3 1227 Acadian flycatcher Empidonax 612 \n", + "4 1229 acorn woodpecker Melanerpes 790 \n", + "5 2110 Adam and Eve Aplectrum 1285 \n", + "... ... ... ... ... \n", + "1751 1671 yerba mansa Anemopsis 413 \n", + "1752 228 Yoshino cherry Prunus 933 \n", + "1753 1043 youth on age Tolmiea 1058 \n", + "1754 1395 zebra-tailed lizard Callisaurus 479 \n", + "1755 2188 zigzag spiderwort Tradescantia 1061 \n", + "\n", + " genus_common_name species kingdom \\\n", + "1 Lehuas (Metrosideros) polymorpha Plantae \n", + "2 Sagebrushes (Artemisia) absinthium Plantae \n", + "3 Empidonax Flycatchers (Empidonax) virescens Animalia \n", + "4 Melanerpine Woodpeckers (Melanerpes) formicivorus Animalia \n", + "5 Adam and Eves (Aplectrum) hyemale Plantae \n", + "... ... ... ... \n", + "1751 Yerba Mansa (Anemopsis) californica Plantae \n", + "1752 Cherries (Prunus) yedoensis Plantae \n", + "1753 Youth on Ages (Tolmiea) menziesii Plantae \n", + "1754 Zebra-tailed Lizards (Callisaurus) draconoides Animalia \n", + "1755 Spiderworts (Tradescantia) subaspera Plantae \n", + "\n", + " itis_taxonomic_sn functional_type class_id class_common_name \\\n", + "1 27259.0 Evergreen broadleaf 15 Flowering Plants \n", + "2 35445.0 Forb 15 Flowering Plants \n", + "3 178339.0 Bird 5 Birds \n", + "4 178189.0 Bird 5 Birds \n", + "5 43489.0 Forb 15 Flowering Plants \n", + "... ... ... ... ... \n", + "1751 18223.0 Forb 15 Flowering Plants \n", + "1752 836663.0 Deciduous broadleaf 15 Flowering Plants \n", + "1753 24533.0 Forb 15 Flowering Plants \n", + "1754 173906.0 Reptile 10 Reptiles \n", + "1755 39176.0 Forb 15 Flowering Plants \n", + "\n", + " class_name order_id order_common_name \\\n", + "1 Magnoliopsida 89 Myrtle and Evening-primrose Families \n", + "2 Magnoliopsida 69 Aster, Bellflower and Buckbean Families \n", + "3 Aves 31 Perching Birds \n", + "4 Aves 33 Woodpeckers \n", + "5 Magnoliopsida 68 Asparagas, Iris, Orchid and Aloe Families \n", + "... ... ... ... \n", + "1751 Magnoliopsida 92 Birthwort and Lizard's-tail Families \n", + "1752 Magnoliopsida 96 Oleaster, Buckthorn, Rose and Elm Families \n", + "1753 Magnoliopsida 98 Currant, Witch-hazel and Saxifrage Families \n", + "1754 Reptilia 54 Snakes and Lizards \n", + "1755 Magnoliopsida 74 Spiderwort and Water-hyacinth Families \n", + "\n", + " order_name family_id family_name \\\n", + "1 Myrtales 301 Myrtaceae \n", + "2 Asterales 242 Asteraceae \n", + "3 Passeriformes 154 Tyrannidae \n", + "4 Piciformes 158 Picidae \n", + "5 Asparagales 307 Orchidaceae \n", + "... ... ... ... \n", + "1751 Piperales 331 Saururaceae \n", + "1752 Rosales 325 Rosaceae \n", + "1753 Saxifragales 332 Saxifragaceae \n", + "1754 Squamata 209 Phrynosomatidae \n", + "1755 Commelinales 260 Commelinaceae \n", + "\n", + " family_common_name \n", + "1 Myrtle Family \n", + "2 Aster Family \n", + "3 Tyrant Flycatchers \n", + "4 Woodpeckers \n", + "5 Orchid Family \n", + "... ... \n", + "1751 Lizard's-tail Family \n", + "1752 Rose Family \n", + "1753 Saxifrage Family \n", + "1754 Zebra-tailed and Horned Lizards \n", + "1755 Spiderwort Family \n", + "\n", + "[1755 rows x 18 columns]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#help(species)\n", + "species.to_csvfile(current_path+\"/species.csv\")\n", + "species_df = pd.read_csv(current_path+\"/species.csv\")\n", + "species_df" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "4fe5f42d-b2a1-47dc-81c0-788c8d2d7f88", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
species_idcommon_namegenusgenus_idgenus_common_namespecieskingdomitis_taxonomic_snfunctional_typeclass_idclass_common_nameclass_nameorder_idorder_common_nameorder_namefamily_idfamily_namefamily_common_name
111174Allegheny serviceberryAmelanchier402Serviceberries (Amelanchier)laevisPlantae182046.0Deciduous broadleaf15Flowering PlantsMagnoliopsida96Oleaster, Buckthorn, Rose and Elm FamiliesRosales325RosaceaeRose Family
241446alternateleaf dogwoodCornus560Dogwoods (Cornus)alternifoliaPlantae27813.0Deciduous broadleaf15Flowering PlantsMagnoliopsida75Dogwood, Hydrangea and Tupelo FamiliesCornales262CornaceaeDogwood Family
2793American basswoodTilia1056Lindens (Tilia)americanaPlantae21536.0Deciduous broadleaf15Flowering PlantsMagnoliopsida88Mallow and Mezereum FamiliesMalvales294MalvaceaeMallow Family
28812American beautyberryCallicarpa477Beautyberries (Callicarpa)americanaPlantae32144.0Deciduous broadleaf15Flowering PlantsMagnoliopsida83Mint, Olive and Plantain FamiliesLamiales286LamiaceaeMint Family
2979American beechFagus645Beeches (Fagus)grandifoliaPlantae19462.0Deciduous broadleaf15Flowering PlantsMagnoliopsida79Birch, Beech, Walnut and Bayberry FamiliesFagales271FagaceaeBeech Family
.........................................................
1713217Woods' roseRosa965Roses (Rosa)woodsiiPlantae24847.0Deciduous broadleaf15Flowering PlantsMagnoliopsida96Oleaster, Buckthorn, Rose and Elm FamiliesRosales325RosaceaeRose Family
17171905woolly pawpawAsimina442Pawpaws (Asimina)incanaPlantae18109.0Deciduous broadleaf15Flowering PlantsMagnoliopsida86Custard-apple and Magnolia FamiliesMagnoliales233AnnonaceaeCustard-apple Family
172697yellow birchBetula457Birches (Betula)alleghaniensisPlantae19481.0Deciduous broadleaf15Flowering PlantsMagnoliopsida79Birch, Beech, Walnut and Bayberry FamiliesFagales245BetulaceaeBirch Family
17291172yellow buckeyeAesculus383Buckeyes (Aesculus)flavaPlantae837871.0Deciduous broadleaf15Flowering PlantsMagnoliopsida97Sumac, Rue and Soapberry FamiliesSapindales329SapindaceaeSoapberry Family
1752228Yoshino cherryPrunus933Cherries (Prunus)yedoensisPlantae836663.0Deciduous broadleaf15Flowering PlantsMagnoliopsida96Oleaster, Buckthorn, Rose and Elm FamiliesRosales325RosaceaeRose Family
\n", + "

338 rows × 18 columns

\n", + "
" + ], + "text/plain": [ + " species_id common_name genus genus_id \\\n", + "11 1174 Allegheny serviceberry Amelanchier 402 \n", + "24 1446 alternateleaf dogwood Cornus 560 \n", + "27 93 American basswood Tilia 1056 \n", + "28 812 American beautyberry Callicarpa 477 \n", + "29 79 American beech Fagus 645 \n", + "... ... ... ... ... \n", + "1713 217 Woods' rose Rosa 965 \n", + "1717 1905 woolly pawpaw Asimina 442 \n", + "1726 97 yellow birch Betula 457 \n", + "1729 1172 yellow buckeye Aesculus 383 \n", + "1752 228 Yoshino cherry Prunus 933 \n", + "\n", + " genus_common_name species kingdom \\\n", + "11 Serviceberries (Amelanchier) laevis Plantae \n", + "24 Dogwoods (Cornus) alternifolia Plantae \n", + "27 Lindens (Tilia) americana Plantae \n", + "28 Beautyberries (Callicarpa) americana Plantae \n", + "29 Beeches (Fagus) grandifolia Plantae \n", + "... ... ... ... \n", + "1713 Roses (Rosa) woodsii Plantae \n", + "1717 Pawpaws (Asimina) incana Plantae \n", + "1726 Birches (Betula) alleghaniensis Plantae \n", + "1729 Buckeyes (Aesculus) flava Plantae \n", + "1752 Cherries (Prunus) yedoensis Plantae \n", + "\n", + " itis_taxonomic_sn functional_type class_id class_common_name \\\n", + "11 182046.0 Deciduous broadleaf 15 Flowering Plants \n", + "24 27813.0 Deciduous broadleaf 15 Flowering Plants \n", + "27 21536.0 Deciduous broadleaf 15 Flowering Plants \n", + "28 32144.0 Deciduous broadleaf 15 Flowering Plants \n", + "29 19462.0 Deciduous broadleaf 15 Flowering Plants \n", + "... ... ... ... ... \n", + "1713 24847.0 Deciduous broadleaf 15 Flowering Plants \n", + "1717 18109.0 Deciduous broadleaf 15 Flowering Plants \n", + "1726 19481.0 Deciduous broadleaf 15 Flowering Plants \n", + "1729 837871.0 Deciduous broadleaf 15 Flowering Plants \n", + "1752 836663.0 Deciduous broadleaf 15 Flowering Plants \n", + "\n", + " class_name order_id order_common_name \\\n", + "11 Magnoliopsida 96 Oleaster, Buckthorn, Rose and Elm Families \n", + "24 Magnoliopsida 75 Dogwood, Hydrangea and Tupelo Families \n", + "27 Magnoliopsida 88 Mallow and Mezereum Families \n", + "28 Magnoliopsida 83 Mint, Olive and Plantain Families \n", + "29 Magnoliopsida 79 Birch, Beech, Walnut and Bayberry Families \n", + "... ... ... ... \n", + "1713 Magnoliopsida 96 Oleaster, Buckthorn, Rose and Elm Families \n", + "1717 Magnoliopsida 86 Custard-apple and Magnolia Families \n", + "1726 Magnoliopsida 79 Birch, Beech, Walnut and Bayberry Families \n", + "1729 Magnoliopsida 97 Sumac, Rue and Soapberry Families \n", + "1752 Magnoliopsida 96 Oleaster, Buckthorn, Rose and Elm Families \n", + "\n", + " order_name family_id family_name family_common_name \n", + "11 Rosales 325 Rosaceae Rose Family \n", + "24 Cornales 262 Cornaceae Dogwood Family \n", + "27 Malvales 294 Malvaceae Mallow Family \n", + "28 Lamiales 286 Lamiaceae Mint Family \n", + "29 Fagales 271 Fagaceae Beech Family \n", + "... ... ... ... ... \n", + "1713 Rosales 325 Rosaceae Rose Family \n", + "1717 Magnoliales 233 Annonaceae Custard-apple Family \n", + "1726 Fagales 245 Betulaceae Birch Family \n", + "1729 Sapindales 329 Sapindaceae Soapberry Family \n", + "1752 Rosales 325 Rosaceae Rose Family \n", + "\n", + "[338 rows x 18 columns]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "species_df_D = species_df.loc[species_df['functional_type'] == \"Deciduous broadleaf\"]\n", + "species_df_D" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "f76585b2-2160-4d19-b98d-3d4b38456eb4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
species_idcommon_namegenusgenus_idgenus_common_namespecieskingdomitis_taxonomic_snfunctional_typeclass_idclass_common_nameclass_nameorder_idorder_common_nameorder_namefamily_idfamily_namefamily_common_name
1120'ohi'a lehuaMetrosideros798Lehuas (Metrosideros)polymorphaPlantae27259.0Evergreen broadleaf15Flowering PlantsMagnoliopsida89Myrtle and Evening-primrose FamiliesMyrtales301MyrtaceaeMyrtle Family
141861alpine azaleaKalmia731Laurels (Kalmia)procumbensPlantae565766.0Evergreen broadleaf15Flowering PlantsMagnoliopsida77Heath, Phlox and Pitcher-plant FamiliesEricales268EricaceaeHeath Family
361717American century plantAgave385Agaves (Agave)americanaPlantae182660.0Evergreen broadleaf15Flowering PlantsMagnoliopsida68Asparagas, Iris, Orchid and Aloe FamiliesAsparagales241AsparagaceaeAsparagas Family
481982American hollyIlex719Hollies (Ilex)opacaPlantae27982.0Evergreen broadleaf15Flowering PlantsMagnoliopsida66Holly FamilyAquifoliales236AquifoliaceaeHolly Family
1171068banana yuccaYucca1103Yuccas (Yucca)baccataPlantae43134.0Evergreen broadleaf15Flowering PlantsMagnoliopsida68Asparagas, Iris, Orchid and Aloe FamiliesAsparagales241AsparagaceaeAsparagas Family
.........................................................
1675766whitethorn ceanothusCeanothus506Ceanothuses (Ceanothus)cordulatusPlantae28458.0Evergreen broadleaf15Flowering PlantsMagnoliopsida96Oleaster, Buckthorn, Rose and Elm FamiliesRosales323RhamnaceaeBuckthorn Family
1679222wild banyantreeFicus650Figs (Ficus)citrifoliaPlantae19094.0Evergreen broadleaf15Flowering PlantsMagnoliopsida96Oleaster, Buckthorn, Rose and Elm FamiliesRosales299MoraceaeMulberry Family
17211351Wright's silktasselGarrya664Silktassels (Garrya)wrightiiPlantae27839.0Evergreen broadleaf15Flowering PlantsMagnoliopsida80Silk-tassel FamilyGarryales273GarryaceaeSilk-tassel Family
17231467yauponIlex719Hollies (Ilex)vomitoriaPlantae27986.0Evergreen broadleaf15Flowering PlantsMagnoliopsida66Holly FamilyAquifoliales236AquifoliaceaeHolly Family
17241766yellow 'ilimaSida997Fanpetals (Sida)fallaxPlantae21746.0Evergreen broadleaf15Flowering PlantsMagnoliopsida88Mallow and Mezereum FamiliesMalvales294MalvaceaeMallow Family
\n", + "

137 rows × 18 columns

\n", + "
" + ], + "text/plain": [ + " species_id common_name genus genus_id \\\n", + "1 120 'ohi'a lehua Metrosideros 798 \n", + "14 1861 alpine azalea Kalmia 731 \n", + "36 1717 American century plant Agave 385 \n", + "48 1982 American holly Ilex 719 \n", + "117 1068 banana yucca Yucca 1103 \n", + "... ... ... ... ... \n", + "1675 766 whitethorn ceanothus Ceanothus 506 \n", + "1679 222 wild banyantree Ficus 650 \n", + "1721 1351 Wright's silktassel Garrya 664 \n", + "1723 1467 yaupon Ilex 719 \n", + "1724 1766 yellow 'ilima Sida 997 \n", + "\n", + " genus_common_name species kingdom itis_taxonomic_sn \\\n", + "1 Lehuas (Metrosideros) polymorpha Plantae 27259.0 \n", + "14 Laurels (Kalmia) procumbens Plantae 565766.0 \n", + "36 Agaves (Agave) americana Plantae 182660.0 \n", + "48 Hollies (Ilex) opaca Plantae 27982.0 \n", + "117 Yuccas (Yucca) baccata Plantae 43134.0 \n", + "... ... ... ... ... \n", + "1675 Ceanothuses (Ceanothus) cordulatus Plantae 28458.0 \n", + "1679 Figs (Ficus) citrifolia Plantae 19094.0 \n", + "1721 Silktassels (Garrya) wrightii Plantae 27839.0 \n", + "1723 Hollies (Ilex) vomitoria Plantae 27986.0 \n", + "1724 Fanpetals (Sida) fallax Plantae 21746.0 \n", + "\n", + " functional_type class_id class_common_name class_name \\\n", + "1 Evergreen broadleaf 15 Flowering Plants Magnoliopsida \n", + "14 Evergreen broadleaf 15 Flowering Plants Magnoliopsida \n", + "36 Evergreen broadleaf 15 Flowering Plants Magnoliopsida \n", + "48 Evergreen broadleaf 15 Flowering Plants Magnoliopsida \n", + "117 Evergreen broadleaf 15 Flowering Plants Magnoliopsida \n", + "... ... ... ... ... \n", + "1675 Evergreen broadleaf 15 Flowering Plants Magnoliopsida \n", + "1679 Evergreen broadleaf 15 Flowering Plants Magnoliopsida \n", + "1721 Evergreen broadleaf 15 Flowering Plants Magnoliopsida \n", + "1723 Evergreen broadleaf 15 Flowering Plants Magnoliopsida \n", + "1724 Evergreen broadleaf 15 Flowering Plants Magnoliopsida \n", + "\n", + " order_id order_common_name order_name \\\n", + "1 89 Myrtle and Evening-primrose Families Myrtales \n", + "14 77 Heath, Phlox and Pitcher-plant Families Ericales \n", + "36 68 Asparagas, Iris, Orchid and Aloe Families Asparagales \n", + "48 66 Holly Family Aquifoliales \n", + "117 68 Asparagas, Iris, Orchid and Aloe Families Asparagales \n", + "... ... ... ... \n", + "1675 96 Oleaster, Buckthorn, Rose and Elm Families Rosales \n", + "1679 96 Oleaster, Buckthorn, Rose and Elm Families Rosales \n", + "1721 80 Silk-tassel Family Garryales \n", + "1723 66 Holly Family Aquifoliales \n", + "1724 88 Mallow and Mezereum Families Malvales \n", + "\n", + " family_id family_name family_common_name \n", + "1 301 Myrtaceae Myrtle Family \n", + "14 268 Ericaceae Heath Family \n", + "36 241 Asparagaceae Asparagas Family \n", + "48 236 Aquifoliaceae Holly Family \n", + "117 241 Asparagaceae Asparagas Family \n", + "... ... ... ... \n", + "1675 323 Rhamnaceae Buckthorn Family \n", + "1679 299 Moraceae Mulberry Family \n", + "1721 273 Garryaceae Silk-tassel Family \n", + "1723 236 Aquifoliaceae Holly Family \n", + "1724 294 Malvaceae Mallow Family \n", + "\n", + "[137 rows x 18 columns]" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "species_df_E = species_df.loc[species_df['functional_type'] == \"Evergreen broadleaf\"]\n", + "species_df_E" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7cefabd2-4db4-4eb8-b7b5-1aac269f253e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 1, 2, 3, 4, 7, 12, 20, 27, 28, 29, 33,\n", + " 35, 36, 59, 60, 61, 62, 63, 64, 65, 67, 68,\n", + " 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80,\n", + " 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 93,\n", + " 94, 95, 96, 97, 98, 99, 100, 101, 102, 201, 206,\n", + " 211, 214, 216, 217, 227, 228, 292, 293, 303, 309, 312,\n", + " 314, 315, 316, 319, 320, 321, 322, 325, 326, 328, 430,\n", + " 444, 704, 713, 717, 719, 723, 724, 764, 765, 770, 777,\n", + " 778, 779, 780, 781, 783, 784, 789, 799, 802, 804, 810,\n", + " 812, 823, 824, 827, 829, 835, 836, 839, 844, 871, 872,\n", + " 873, 884, 885, 897, 915, 919, 920, 923, 935, 940, 941,\n", + " 942, 944, 949, 952, 962, 970, 976, 977, 982, 983, 988,\n", + " 989, 992, 993, 994, 996, 997, 999, 1000, 1001, 1006, 1007,\n", + " 1008, 1009, 1010, 1015, 1019, 1023, 1030, 1031, 1033, 1044, 1045,\n", + " 1048, 1049, 1056, 1059, 1060, 1066, 1159, 1161, 1162, 1163, 1169,\n", + " 1172, 1173, 1174, 1176, 1177, 1179, 1181, 1184, 1185, 1187, 1188,\n", + " 1189, 1190, 1191, 1192, 1199, 1200, 1201, 1207, 1208, 1211, 1212,\n", + " 1213, 1214, 1215, 1216, 1217, 1245, 1246, 1248, 1250, 1339, 1342,\n", + " 1344, 1345, 1348, 1350, 1353, 1358, 1361, 1362, 1363, 1364, 1366,\n", + " 1367, 1369, 1370, 1371, 1372, 1373, 1374, 1431, 1438, 1439, 1446,\n", + " 1447, 1448, 1452, 1458, 1471, 1472, 1481, 1484, 1485, 1486, 1487,\n", + " 1489, 1491, 1493, 1494, 1499, 1503, 1505, 1509, 1510, 1591, 1605,\n", + " 1607, 1608, 1616, 1632, 1636, 1647, 1649, 1674, 1680, 1682, 1691,\n", + " 1692, 1698, 1716, 1719, 1728, 1730, 1732, 1733, 1736, 1741, 1744,\n", + " 1748, 1753, 1754, 1755, 1756, 1758, 1759, 1760, 1761, 1762, 1771,\n", + " 1775, 1776, 1777, 1779, 1780, 1781, 1805, 1807, 1817, 1818, 1821,\n", + " 1822, 1832, 1835, 1839, 1840, 1843, 1849, 1850, 1851, 1854, 1857,\n", + " 1871, 1873, 1875, 1876, 1878, 1880, 1897, 1905, 1923, 1977, 1987,\n", + " 1997, 2007, 2036, 2042, 2043, 2044, 2046, 2047, 2048, 2049, 2050,\n", + " 2052, 2053, 2059, 2060, 2061, 2066, 2071, 2087, 2093, 2097, 2101,\n", + " 2116, 2131, 2138, 2140, 2142, 2143, 2145, 2194])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ls_sp1 = np.sort(list(species_df_D[\"species_id\"]))\n", + "ls_sp1" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "22639975-bb99-4338-8a5a-3318a37f34dd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 103, 104, 106, 107, 109, 110, 111, 112, 113, 114, 115,\n", + " 116, 117, 119, 120, 121, 127, 218, 221, 222, 226, 298,\n", + " 306, 311, 313, 318, 324, 327, 329, 435, 441, 442, 443,\n", + " 701, 702, 705, 706, 707, 716, 721, 722, 743, 760, 761,\n", + " 766, 769, 785, 790, 793, 830, 857, 860, 861, 877, 878,\n", + " 879, 880, 887, 895, 903, 904, 905, 907, 909, 924, 925,\n", + " 933, 979, 980, 981, 985, 995, 1003, 1011, 1055, 1057, 1058,\n", + " 1067, 1068, 1069, 1160, 1166, 1170, 1178, 1322, 1323, 1324, 1346,\n", + " 1349, 1351, 1359, 1360, 1368, 1430, 1443, 1444, 1467, 1479, 1490,\n", + " 1593, 1594, 1602, 1609, 1626, 1628, 1644, 1681, 1689, 1717, 1720,\n", + " 1766, 1799, 1824, 1845, 1846, 1861, 1870, 1887, 1892, 1910, 1922,\n", + " 1927, 1934, 1938, 1961, 1968, 1969, 1970, 1975, 1976, 1982, 1985,\n", + " 2006, 2054, 2057, 2064, 2139])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ls_sp2 = np.sort(list(species_df_E[\"species_id\"]))\n", + "ls_sp2" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "d31d0d39-9518-46e0-86d1-946759039424", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " phenophase_id phenophase_name phenophase_category color\n", + "1 56 First leaf Leaves \n", + "2 57 75% leaf elongation Leaves \n", + "3 58 First flower Flowers \n", + "4 59 Last flower Flowers \n", + "5 60 First fruit ripe Fruits \n", + "6 61 50% of leaves colored Leaves \n", + "7 63 50% of leaves fallen Leaves \n", + "8 71 Emergence above ground Leaves \n", + "9 72 First flower Flowers \n", + "10 73 First fruit ripe Fruits \n", + "11 75 Full leaf Leaves \n", + "12 76 First leaf Leaves \n", + "13 77 First bloom Flowers Green2\n", + "14 78 Full bloom Flowers Green2\n", + "15 79 End bloom Flowers Green2\n", + "16 105 Budburst Needles \n", + "17 106 First needles Needles \n", + "18 107 First male cone Pollen cones \n", + "19 108 First pollen released Pollen cones \n", + "20 109 First needles fallen Needles \n", + "21 121 First flower bud Flowers \n", + "22 124 First fruit Fruits \n", + "23 127 First leaf Leaves \n", + "24 128 75% leaf elongation Leaves \n", + "25 137 First leaf fallen Leaves \n", + "26 180 >=75% of full leaf size Leaves Green1\n", + "27 181 >=50% of leaves colored Leaves Green1\n", + "28 182 All leaves colored Leaves Green1\n", + "29 183 >=50% of leaves fallen Leaves Green1\n", + "30 184 All leaves fallen Leaves Green1\n", + "31 186 Full flowering Flowers Green2\n", + "32 196 Full pollen release Flowers Green2\n", + "33 200 All leaves withered Leaves Green1\n", + "34 201 Open flowers Flowers Green2\n", + "35 202 Ripe fruits Fruits Green3\n", + "36 205 Open flowers Flowers Green2\n", + "37 206 Full flowering Flowers Green2\n", + "38 207 End of flowering Flowers Green2\n", + "39 210 Open flowers Flowers Green2\n", + "40 211 Full flowering Flowers Green2\n", + "41 221 Full pollen release Pollen cones Green2\n", + "42 227 Ripe seeds Fruits Green3\n", + "43 232 Emerging leaves Leaves Green1\n", + "44 233 Young unfolded leaves Leaves Green1\n", + "45 256 Flower buds Flowers Green2\n", + "46 261 >=50% of needles colored Needles Green1\n", + "47 262 All needles colored Needles Green1\n", + "48 263 >=50% of needles fallen Needles Green1\n", + "49 264 All needles fallen Needles Green1\n", + "50 274 Adults on land Activity Brown1\n", + "51 275 Adults in water Activity Brown1\n", + "52 276 Vocalizing Reproduction Brown2\n", + "53 279 Mating Reproduction Brown2\n", + "54 281 Fresh eggs Reproduction Brown2\n", + "55 289 Dead adults Development Brown3\n", + "56 290 Individuals in a net Method Brown4\n", + "57 291 Individuals in a trap Method Brown4\n", + "58 292 Live individuals Activity Brown1\n", + "59 293 Calls or song Activity Brown1\n", + "60 294 Singing individuals Activity Brown1\n", + "61 295 Territorial individuals Activity Brown1\n", + "62 296 Mating Reproduction Brown2\n", + "63 297 Nest building Reproduction Brown2\n", + "64 298 Occupied nest Reproduction Brown2\n", + "65 304 Nestlings Development Brown3\n", + "66 308 Fledged young Development Brown3\n", + "67 310 Fruit/seed consumption Activity Brown1\n", + "68 311 Nut gathering Activity Brown1\n", + "69 312 Flower visitation Activity Brown1\n", + "70 315 Dead individuals Development Brown3\n", + "71 316 Dead nestlings or young Development Brown3\n", + "72 318 Adults in freshwater Activity Brown1\n", + "73 319 Adults in saltwater Activity Brown1\n", + "74 322 Adults migrating upstream Activity Brown1\n", + "75 323 Adults migrating downstream Activity Brown1\n", + "76 324 Juveniles moving upstream Development Brown1\n", + "77 326 Individuals on a hook Method Brown4\n", + "78 327 Adults Activity Brown1\n", + "79 330 Mating Reproduction Brown2\n", + "80 331 Egg laying Reproduction Brown2\n", + "81 333 Caterpillars Development Brown3\n", + "82 336 Dead caterpillars Development Brown3\n", + "83 337 Individuals at a light Method Brown4\n", + "84 338 Males vocalizing Reproduction Brown2\n", + "85 339 Male combat Reproduction Brown2\n", + "86 340 Courtship Reproduction Brown2\n", + "87 341 Mating Reproduction Brown2\n", + "88 344 Young individuals Development Brown3\n", + "89 349 Egg laying Reproduction Brown2\n", + "90 350 Mating Reproduction Brown2\n", + "91 353 Recently emerged adults Development Brown3\n", + "92 354 Migrating adults Activity Brown1\n", + "93 355 Individuals on land Activity Brown1\n", + "94 356 Individuals in water Activity Brown1\n", + "95 357 Adults vocalizing Reproduction Brown2\n", + "96 362 Nesting Reproduction Brown2\n", + "97 363 Mating Reproduction Brown2\n", + "98 367 Larvae Development Brown3\n", + "99 370 Male adults Activity Brown1\n", + "100 371 Breaking leaf buds Leaves Green1\n", + "101 373 Breaking leaf buds Leaves Green1\n", + "102 374 All leaf buds broken Leaves Green1\n", + "103 390 Ripe fruits Fruits Green3\n", + "104 392 Unripe seed cones Seed cones Green3\n", + "105 393 Ripe seed cones Seed cones Green3\n", + "106 412 First bloom Flowers \n", + "107 416 End bloom Flowers \n", + "108 417 First red berry Fruits \n", + "109 418 Full red berries Fruits \n", + "110 419 First shriveled berry Fruits \n", + "111 420 Full shriveled berries Fruits \n", + "112 428 First bloom Flowers \n", + "113 429 Full bloom Flowers \n", + "114 440 Juveniles in saltwater Development Brown3\n", + "115 441 Young individuals Development Brown3\n", + "116 442 Nest building Reproduction Brown2\n", + "117 443 Adults feeding Activity Brown1\n", + "118 444 Migrating adults Activity Brown1\n", + "119 445 Adults feeding Activity Brown1\n", + "120 446 Feeding Activity Brown1\n", + "121 447 Caterpillars feeding Development Brown3\n", + "122 448 Dead or dying adults Development Brown3\n", + "123 449 Nymphs Development Brown3\n", + "124 450 Nymphs feeding Development Brown3\n", + "125 451 Dead nymphs Development Brown3\n", + "126 452 Individuals on land Activity Brown1\n", + "127 453 Individuals in water Activity Brown1\n", + "128 454 Summer coat Development Brown3\n", + "129 455 Winter coat Development Brown3\n", + "130 456 Male combat Reproduction Brown3\n", + "131 457 Insect consumption Activity Brown1\n", + "132 458 Individuals at a feeding station Method Brown4\n", + "133 467 Increasing leaf size Leaves Green1\n", + "134 471 Falling leaves Leaves Green1\n", + "135 472 Falling needles Needles Green1\n", + "136 480 Breaking needle buds Needles Green1\n", + "137 481 Breaking needle buds Needles Green1\n", + "138 482 Initial growth Leaves Green1\n", + "139 483 Leaves Leaves Green1\n", + "140 484 Young leaves Leaves Green1\n", + "141 485 Young needles Needles Green1\n", + "142 486 Young needles Needles Green1\n", + "143 487 Needles Needles Green1\n", + "144 488 Leaves Leaves Green1\n", + "145 489 Leaves Leaves Green1\n", + "146 490 Pollen cones Pollen cones Green2\n", + "147 491 Recent cone or seed drop Seed cones Green3\n", + "148 492 Initial growth Leaves Green1\n", + "149 493 Flower heads Flowers Green2\n", + "150 494 Open flowers Flowers Green2\n", + "151 495 Open pollen cones Pollen cones Green2\n", + "152 496 Emerging needles Needles Green1\n", + "153 497 Leaves Leaves Green1\n", + "154 498 Colored leaves Leaves Green1\n", + "155 499 Colored needles Needles Green1\n", + "156 500 Flowers or flower buds Flowers Green2\n", + "157 501 Open flowers Flowers Green2\n", + "158 502 Pollen release Flowers Green2\n", + "159 503 Pollen release Pollen cones Green2\n", + "160 504 Recent fruit or seed drop Fruits Green3\n", + "161 505 Young leaves Leaves Green1\n", + "162 506 Caterpillars in tent Development Brown3\n", + "163 507 Subadults Development Brown3\n", + "164 508 Initial growth Leaves Green1\n", + "165 509 Leaves Leaves Green1\n", + "166 510 New side branches Leaves Green1\n", + "167 511 Receptacles Flowers Green2\n", + "168 512 Flat receptacles Flowers Green2\n", + "169 513 Smooth inflated receptacles Flowers Green2\n", + "170 514 Dotted inflated receptacles Flowers Green2\n", + "171 515 Torn receptacles Flowers Green2\n", + "172 516 Fruits Fruits Green3\n", + "173 517 Nest building Reproduction Brown2\n", + "174 518 Nest building Reproduction Brown2\n", + "175 519 Drone cells Reproduction Brown2\n", + "176 520 Nest provisioning Reproduction Brown2\n", + "177 521 Eggs Reproduction Brown2\n", + "178 522 Pupae Development Brown3\n", + "179 523 Dead adults Development Brown3\n", + "180 524 Eggs Reproduction Brown2\n", + "181 525 Winged adults Activity Brown1\n", + "182 526 Dead nymphs Development Brown3\n", + "183 527 Nest provisioning Reproduction Brown2\n", + "184 528 Courtship calling Reproduction Brown2\n", + "185 529 Recent egg laying Reproduction Brown2\n", + "186 530 Cast-off skins Development Brown3\n", + "187 531 Eggs Reproduction Brown2\n", + "188 532 Larvae feeding Development Brown3\n", + "189 533 Dead larvae Development Brown3\n", + "190 539 Downy young Development Brown3\n", + "191 540 Partially-fledged young Development Brown3\n", + "192 541 Fledged young Development Brown3\n", + "193 542 Feeding Activity Brown1\n", + "194 544 Dormant nymphs Development Brown3\n", + "195 545 Post-dormant nymphs Development Brown3\n", + "196 546 Crawlers Development Brown3\n", + "197 547 Egg laying Reproduction Brown2\n", + "198 548 Egg laying Reproduction Brown2\n", + "199 549 Mating Reproduction Brown2\n", + " pheno_class_id\n", + "1 1\n", + "2 2\n", + "3 7\n", + "4 9\n", + "5 12\n", + "6 4\n", + "7 5\n", + "8 1\n", + "9 7\n", + "10 12\n", + "11 3\n", + "12 1\n", + "13 7\n", + "14 7\n", + "15 9\n", + "16 1\n", + "17 2\n", + "18 6\n", + "19 8\n", + "20 5\n", + "21 6\n", + "22 10\n", + "23 1\n", + "24 2\n", + "25 5\n", + "26 2\n", + "27 4\n", + "28 4\n", + "29 5\n", + "30 5\n", + "31 7\n", + "32 8\n", + "33 5\n", + "34 7\n", + "35 12\n", + "36 7\n", + "37 7\n", + "38 9\n", + "39 7\n", + "40 7\n", + "41 8\n", + "42 12\n", + "43 1\n", + "44 2\n", + "45 6\n", + "46 4\n", + "47 4\n", + "48 5\n", + "49 5\n", + "50 66\n", + "51 65\n", + "52 67\n", + "53 82\n", + "54 90\n", + "55 130\n", + "56 135\n", + "57 135\n", + "58 62\n", + "59 67\n", + "60 84\n", + "61 83\n", + "62 82\n", + "63 86\n", + "64 94\n", + "65 99\n", + "66 102\n", + "67 70\n", + "68 72\n", + "69 71\n", + "70 130\n", + "71 131\n", + "72 63\n", + "73 64\n", + "74 126\n", + "75 127\n", + "76 128\n", + "77 135\n", + "78 62\n", + "79 82\n", + "80 136\n", + "81 109\n", + "82 133\n", + "83 135\n", + "84 67\n", + "85 85\n", + "86 77\n", + "87 82\n", + "88 98\n", + "89 136\n", + "90 82\n", + "91 116\n", + "92 125\n", + "93 66\n", + "94 65\n", + "95 67\n", + "96 87\n", + "97 82\n", + "98 108\n", + "99 80\n", + "100 1\n", + "101 1\n", + "102 3\n", + "103 12\n", + "104 11\n", + "105 12\n", + "106 7\n", + "107 9\n", + "108 12\n", + "109 12\n", + "110 12\n", + "111 12\n", + "112 7\n", + "113 7\n", + "114 98\n", + "115 98\n", + "116 86\n", + "117 68\n", + "118 125\n", + "119 68\n", + "120 68\n", + "121 75\n", + "122 130\n", + "123 111\n", + "124 76\n", + "125 134\n", + "126 66\n", + "127 65\n", + "128 123\n", + "129 124\n", + "130 85\n", + "131 69\n", + "132 135\n", + "133 2\n", + "134 5\n", + "135 5\n", + "136 1\n", + "137 1\n", + "138 1\n", + "139 3\n", + "140 2\n", + "141 2\n", + "142 2\n", + "143 3\n", + "144 3\n", + "145 3\n", + "146 6\n", + "147 13\n", + "148 1\n", + "149 6\n", + "150 7\n", + "151 7\n", + "152 1\n", + "153 3\n", + "154 4\n", + "155 4\n", + "156 6\n", + "157 7\n", + "158 8\n", + "159 8\n", + "160 13\n", + "161 2\n", + "162 110\n", + "163 114\n", + "164 1\n", + "165 3\n", + "166 2\n", + "167 6\n", + "168 6\n", + "169 6\n", + "170 6\n", + "171 9\n", + "172 10\n", + "173 86\n", + "174 86\n", + "175 93\n", + "176 95\n", + "177 90\n", + "178 115\n", + "179 130\n", + "180 90\n", + "181 81\n", + "182 134\n", + "183 95\n", + "184 78\n", + "185 91\n", + "186 117\n", + "187 90\n", + "188 74\n", + "189 132\n", + "190 100\n", + "191 101\n", + "192 102\n", + "193 68\n", + "194 129\n", + "195 113\n", + "196 112\n", + "197 136\n", + "198 136\n", + "199 82\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No phenophase provided for further validation.\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Help on NULLType in module rpy2.rinterface_lib.sexp object:\n", + "\n", + "class NULLType(Sexp)\n", + " | NULLType(*args, **kwargs)\n", + " | \n", + " | A singleton class for R's NULL.\n", + " | \n", + " | Method resolution order:\n", + " | NULLType\n", + " | Sexp\n", + " | rpy2.rinterface_lib._rinterface_capi.SupportsSEXP\n", + " | builtins.object\n", + " | \n", + " | Methods defined here:\n", + " | \n", + " | __bool__(self) -> bool\n", + " | This is always False.\n", + " | \n", + " | __init__(self)\n", + " | Initialize self. See help(type(self)) for accurate signature.\n", + " | \n", + " | ----------------------------------------------------------------------\n", + " | Readonly properties defined here:\n", + " | \n", + " | rid\n", + " | ID of the underlying R object (memory address).\n", + " | \n", + " | ----------------------------------------------------------------------\n", + " | Data descriptors defined here:\n", + " | \n", + " | __sexp__\n", + " | Access to the underlying C pointer to the R object.\n", + " | \n", + " | When assigning a new SexpCapsule to this attribute, the\n", + " | R C-level type of the new capsule must be equal to the\n", + " | type of the old capsule. A ValueError is raised otherwise.\n", + " | \n", + " | ----------------------------------------------------------------------\n", + " | Data and other attributes defined here:\n", + " | \n", + " | __abstractmethods__ = frozenset()\n", + " | \n", + " | ----------------------------------------------------------------------\n", + " | Methods inherited from Sexp:\n", + " | \n", + " | __getstate__(self) -> bytes\n", + " | \n", + " | __repr__(self) -> str\n", + " | Return repr(self).\n", + " | \n", + " | __setstate__(self, state: bytes) -> None\n", + " | \n", + " | do_slot = _(*args, **kwargs)\n", + " | \n", + " | do_slot_assign(self, name: str, value) -> None\n", + " | \n", + " | get_attrib = _(*args, **kwargs)\n", + " | \n", + " | list_attrs = _(*args, **kwargs)\n", + " | \n", + " | rsame(self, sexp) -> bool\n", + " | # TODO: deprecate this (and implement __eq__) ?\n", + " | \n", + " | ----------------------------------------------------------------------\n", + " | Readonly properties inherited from Sexp:\n", + " | \n", + " | __sexp_refcount__\n", + " | Count the number of independent Python references to\n", + " | the underlying R object.\n", + " | \n", + " | named\n", + " | \n", + " | names_from_c_attribute\n", + " | \n", + " | typeof\n", + " | \n", + " | ----------------------------------------------------------------------\n", + " | Data descriptors inherited from Sexp:\n", + " | \n", + " | names\n", + " | \n", + " | rclass\n", + " | Get or set the R \"class\" attribute for the object.\n", + " | \n", + " | ----------------------------------------------------------------------\n", + " | Data descriptors inherited from rpy2.rinterface_lib._rinterface_capi.SupportsSEXP:\n", + " | \n", + " | __dict__\n", + " | dictionary for instance variables (if defined)\n", + " | \n", + " | __weakref__\n", + " | list of weak references to the object (if defined)\n", + "\n" + ] + } + ], + "source": [ + "phenophases = npn_phenophases()\n", + "help(phenophases)\n", + "# phenophases.to_csvfile(current_path+\"/phenophases.csv\")\n", + "# phenophases_df = pd.read_csv(current_path+\"/phenophases.csv\")\n", + "# phenophases_df" + ] + }, + { + "cell_type": "markdown", + "id": "e5f78734-5aa2-4570-8cf7-5efffe9ef48e", + "metadata": {}, + "source": [ + "#### Species and Phenophases\n", + "\n", + "It's not possible to download all the species based on the \"functional_type\"! I get list of all the species and download all then concatenate them.\n", + "\n", + "**Species id**: \n", + "- DBF (1174,1446,...)\n", + "- EBF(120, 1861,...)\n", + "- GRA(1677,1032,1971,...)" + ] + }, + { + "cell_type": "markdown", + "id": "a11c2d6c-1974-49d4-803a-030ea40ab139", + "metadata": {}, + "source": [ + "**Phenophases**:\n", + "\n", + "- breaking leaf buds (371,373)\n", + "- initial growth (482,492,508)" + ] + }, + { + "cell_type": "markdown", + "id": "8f347fd1-a470-4c12-b37b-596d3538d2f0", + "metadata": {}, + "source": [ + "### Data preparation" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "face47c9-7e8a-4375-b3fc-0da2569c7431", + "metadata": {}, + "outputs": [], + "source": [ + "# Load dataset\n", + "# years is needed! [start,end+1]!\n", + "# If there is no data for one year we get error---check years=[2013, 2014]\n", + "\n", + "# A lot of queries returned no data Error! For example the one below\n", + "\n", + "# dataset = NPNPhenor(species=1446, phenophase=373, years=[2007, 2018])\n", + "# dataset.download()\n", + "# df1 = dataset.load()\n", + "# df1" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "1cbcb5da-dbbd-4b7c-8fd7-9988e06c0e8d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "338\n", + "137\n" + ] + } + ], + "source": [ + "# In totall there are 1755 species!\n", + "print(len(ls_sp1))\n", + "print(len(ls_sp2))" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "48112415-31f1-42ee-a0b2-f1454384f178", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_103_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_103_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_104_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_104_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_106_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_106_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_107_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_107_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_109_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_109_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_110_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_110_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_111_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_111_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_112_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_112_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_113_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_113_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_114_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_114_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_115_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_115_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_116_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_116_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_117_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_117_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_119_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_119_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_120_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_120_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_121_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_121_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_127_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_127_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_218_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_218_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_221_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_221_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_222_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_222_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_226_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_226_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_298_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_298_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_306_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_306_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_311_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_311_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_313_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_313_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_318_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_318_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_324_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_324_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_327_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_327_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_329_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_329_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_435_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_435_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_441_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_441_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_442_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_442_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_443_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_443_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_701_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_701_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_702_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_702_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_705_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_705_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_706_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_706_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_707_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_707_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_716_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_716_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_721_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_721_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_722_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_722_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_743_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_743_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_760_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_760_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_761_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_761_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_766_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_766_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_769_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_769_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_785_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_785_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_790_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_790_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_793_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_793_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_830_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_830_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_857_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_857_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_860_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_860_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_861_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_861_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_877_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_877_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_878_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_878_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_879_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_879_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_880_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_880_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_887_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_887_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_895_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_895_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_903_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_903_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_904_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_904_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_905_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_905_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_907_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_907_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_909_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_909_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_924_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_924_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_925_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_925_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_933_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_933_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_979_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_979_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_980_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_980_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_981_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_981_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_985_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_985_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_995_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_995_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1003_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1003_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1011_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1011_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1055_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1055_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1057_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1057_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1058_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1058_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1067_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1067_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1068_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1068_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1069_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1069_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1160_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1160_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1166_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1166_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1170_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1170_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1178_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1178_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1322_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1322_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1323_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1323_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1324_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1324_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1346_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1346_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1349_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1349_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1351_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1351_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1359_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1359_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1360_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1360_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1368_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1368_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1430_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1430_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1443_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1443_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1444_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1444_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1467_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1467_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1479_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1479_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1490_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1490_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1593_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1593_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1594_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1594_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1602_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1602_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1609_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1609_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1626_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1626_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1628_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1628_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1644_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1644_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1681_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1681_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1689_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1689_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1717_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1717_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1720_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1720_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1766_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1766_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1799_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1799_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1824_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1824_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1845_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1845_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1846_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1846_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1861_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1861_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1870_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1870_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1887_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1887_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1892_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1892_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1910_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1910_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1922_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1922_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1927_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1927_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1934_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1934_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1938_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1938_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1961_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1961_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1968_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1968_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1969_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1969_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1970_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1970_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1975_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1975_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1976_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1976_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1982_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1982_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1985_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_1985_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_2006_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_2006_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_2054_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_2054_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_2057_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_2057_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_2064_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_2064_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_2139_371_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading /tmp/data/NPN/phenor_npn_data_2139_373_2007-01-01_2007-12-31.rds\n", + " |======================================================================| 100%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "R[write to console]: No encoding supplied: defaulting to UTF-8.\n", + "\n", + "R[write to console]: Error in (function (species = 3, phenophase = 371, start = \"2000-01-01\", : \n", + " Query returned no data, check your input parameters!\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[]\n" + ] + }, + { + "ename": "ValueError", + "evalue": "No objects to concatenate", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[20], line 22\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;28mprint\u001b[39m(all_filenames)\n\u001b[1;32m 21\u001b[0m \u001b[38;5;66;03m# combine all files in the list\u001b[39;00m\n\u001b[0;32m---> 22\u001b[0m combined_csv \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconcat\u001b[49m\u001b[43m(\u001b[49m\u001b[43m[\u001b[49m\u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_csv\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mf\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mall_filenames\u001b[49m\u001b[43m \u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 23\u001b[0m combined_csv\u001b[38;5;241m.\u001b[39mto_csv( current_path \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/combined_csv.csv\u001b[39m\u001b[38;5;124m\"\u001b[39m, index\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m, encoding\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mutf-8-sig\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", + "File \u001b[0;32m~/mambaforge-pypy3/envs/springtime/lib/python3.9/site-packages/pandas/util/_decorators.py:331\u001b[0m, in \u001b[0;36mdeprecate_nonkeyword_arguments..decorate..wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 325\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) \u001b[38;5;241m>\u001b[39m num_allow_args:\n\u001b[1;32m 326\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m 327\u001b[0m msg\u001b[38;5;241m.\u001b[39mformat(arguments\u001b[38;5;241m=\u001b[39m_format_argument_list(allow_args)),\n\u001b[1;32m 328\u001b[0m \u001b[38;5;167;01mFutureWarning\u001b[39;00m,\n\u001b[1;32m 329\u001b[0m stacklevel\u001b[38;5;241m=\u001b[39mfind_stack_level(),\n\u001b[1;32m 330\u001b[0m )\n\u001b[0;32m--> 331\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/mambaforge-pypy3/envs/springtime/lib/python3.9/site-packages/pandas/core/reshape/concat.py:368\u001b[0m, in \u001b[0;36mconcat\u001b[0;34m(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy)\u001b[0m\n\u001b[1;32m 146\u001b[0m \u001b[38;5;129m@deprecate_nonkeyword_arguments\u001b[39m(version\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, allowed_args\u001b[38;5;241m=\u001b[39m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mobjs\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[1;32m 147\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mconcat\u001b[39m(\n\u001b[1;32m 148\u001b[0m objs: Iterable[NDFrame] \u001b[38;5;241m|\u001b[39m Mapping[HashableT, NDFrame],\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 157\u001b[0m copy: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 158\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m DataFrame \u001b[38;5;241m|\u001b[39m Series:\n\u001b[1;32m 159\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 160\u001b[0m \u001b[38;5;124;03m Concatenate pandas objects along a particular axis.\u001b[39;00m\n\u001b[1;32m 161\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 366\u001b[0m \u001b[38;5;124;03m 1 3 4\u001b[39;00m\n\u001b[1;32m 367\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 368\u001b[0m op \u001b[38;5;241m=\u001b[39m \u001b[43m_Concatenator\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 369\u001b[0m \u001b[43m \u001b[49m\u001b[43mobjs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 370\u001b[0m \u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 371\u001b[0m \u001b[43m \u001b[49m\u001b[43mignore_index\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mignore_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 372\u001b[0m \u001b[43m \u001b[49m\u001b[43mjoin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mjoin\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 373\u001b[0m \u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkeys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 374\u001b[0m \u001b[43m \u001b[49m\u001b[43mlevels\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlevels\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 375\u001b[0m \u001b[43m \u001b[49m\u001b[43mnames\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnames\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 376\u001b[0m \u001b[43m \u001b[49m\u001b[43mverify_integrity\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mverify_integrity\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 377\u001b[0m \u001b[43m \u001b[49m\u001b[43mcopy\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcopy\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 378\u001b[0m \u001b[43m \u001b[49m\u001b[43msort\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msort\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 379\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 381\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m op\u001b[38;5;241m.\u001b[39mget_result()\n", + "File \u001b[0;32m~/mambaforge-pypy3/envs/springtime/lib/python3.9/site-packages/pandas/core/reshape/concat.py:425\u001b[0m, in \u001b[0;36m_Concatenator.__init__\u001b[0;34m(self, objs, axis, join, keys, levels, names, ignore_index, verify_integrity, copy, sort)\u001b[0m\n\u001b[1;32m 422\u001b[0m objs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(objs)\n\u001b[1;32m 424\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(objs) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m--> 425\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo objects to concatenate\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 427\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m keys \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 428\u001b[0m objs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(com\u001b[38;5;241m.\u001b[39mnot_none(\u001b[38;5;241m*\u001b[39mobjs))\n", + "\u001b[0;31mValueError\u001b[0m: No objects to concatenate" + ] + } + ], + "source": [ + "#ls_species = ls_sp1\n", + "ls_species = ls_sp2\n", + "ls_phases = [371,373]\n", + "with tempfile.TemporaryDirectory() as tmpdirname:\n", + " for i in ls_species:\n", + " for j in ls_phases:\n", + " try:\n", + " dataset = NPNPhenor(species=i, phenophase=j, years=[2007, 2018])\n", + " dataset.download()\n", + " df1 = dataset.load()\n", + " df1.to_csv(tmpdirname + \"/species_\" + str(i)+str(j)+ \".csv\")\n", + " print(df1.shape)\n", + " except:\n", + " pass\n", + "\n", + " # list all CSV files in working directory.\n", + " os.chdir(tmpdirname)\n", + " all_filenames = [i for i in glob.glob('*.csv')]\n", + " print(all_filenames)\n", + " \n", + " # combine all files in the list\n", + " combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])\n", + " combined_csv.to_csv( current_path + \"/combined_csv.csv\", index=False, encoding='utf-8-sig')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84aaf938-f8a8-4fa4-b4bc-1ebb92784fab", + "metadata": {}, + "outputs": [], + "source": [ + "# dataset = NPNPhenor(species=36, phenophase=483, years=[2012, 2013])\n", + "# dataset.download()\n", + "# df1 = dataset.load()\n", + "# list(df1.columns)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bac02238-6613-4abe-8be5-33d163b49329", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "springtime", + "language": "python", + "name": "springtime" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/notebooks/mk_modelling_npn.ipynb b/docs/notebooks/mk_modelling_npn.ipynb new file mode 100644 index 00000000..73050728 --- /dev/null +++ b/docs/notebooks/mk_modelling_npn.ipynb @@ -0,0 +1,9927 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "119c48ae-a861-4031-aed9-737313df9105", + "metadata": {}, + "source": [ + "# Comparisons of numerical phenology models and machine learning methods on predicting the spring onset of natural vegetation across the Northern Hemisphere\n", + "\n", + "From this paper: https://www.sciencedirect.com/science/article/pii/S1470160X21007913\n", + "
\n", + "Phenological observations for **Deciduous broadleaf forests (DBF)** from **NPN network** in the period of **2007 to 2017**\n", + "
\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "f4b76d74-b7c5-4b61-bccb-c156fbe21906", + "metadata": {}, + "outputs": [], + "source": [ + "from springtime.datasets.daymet import DaymetSinglePoint, DaymetMultiplePoints" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8a0fa8d4-2625-4e58-96ce-647a97f3ce39", + "metadata": {}, + "outputs": [], + "source": [ + "from pyPhenology import models, utils\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "62297aea-a6a3-4270-a874-845003330d84", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import geopandas as gpd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import math\n", + "from shapely import wkt\n", + "from datetime import datetime" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f016ed10-8f11-427f-a469-b84216f05c79", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import r2_score,mean_absolute_error,mean_squared_error" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "6ca4ed8b-413c-4a72-953f-1c64b7014756", + "metadata": {}, + "outputs": [], + "source": [ + "from merf import MERF" + ] + }, + { + "cell_type": "markdown", + "id": "e70ea2c5-f514-4b05-ab53-ba41247c2490", + "metadata": {}, + "source": [ + "## Data preparation" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4156f34c-edf5-4005-b2c6-e194002d2d90", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0site_idelevation_in_metersstatespecies_idgenusspeciescommon_namekingdomindividual_id...first_yes_doyfirst_yes_julian_datenumdays_since_prior_nolast_yes_yearlast_yes_monthlast_yes_daylast_yes_doylast_yes_julian_datenumdays_until_next_nogeometry
0155331382OR92Symphoricarposalbuscommon snowberryPlantae4094...1442454245-999920075241442454245-9999POINT (-116.97386 45.56820)
1255331382OR92Symphoricarposalbuscommon snowberryPlantae4100...1512454252-99992007671582454259-9999POINT (-116.97386 45.56820)
2355331382OR92Symphoricarposalbuscommon snowberryPlantae4101...1442454245-999920076211722454273-9999POINT (-116.97386 45.56820)
3155331382OR92Symphoricarposalbuscommon snowberryPlantae4094...1362454602-999920086191712454637-9999POINT (-116.97386 45.56820)
4255331382OR92Symphoricarposalbuscommon snowberryPlantae4100...1362454602-99992008612164245463035POINT (-116.97386 45.56820)
\n", + "

5 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 site_id elevation_in_meters state species_id genus \\\n", + "0 1 5533 1382 OR 92 Symphoricarpos \n", + "1 2 5533 1382 OR 92 Symphoricarpos \n", + "2 3 5533 1382 OR 92 Symphoricarpos \n", + "3 1 5533 1382 OR 92 Symphoricarpos \n", + "4 2 5533 1382 OR 92 Symphoricarpos \n", + "\n", + " species common_name kingdom individual_id ... first_yes_doy \\\n", + "0 albus common snowberry Plantae 4094 ... 144 \n", + "1 albus common snowberry Plantae 4100 ... 151 \n", + "2 albus common snowberry Plantae 4101 ... 144 \n", + "3 albus common snowberry Plantae 4094 ... 136 \n", + "4 albus common snowberry Plantae 4100 ... 136 \n", + "\n", + " first_yes_julian_date numdays_since_prior_no last_yes_year \\\n", + "0 2454245 -9999 2007 \n", + "1 2454252 -9999 2007 \n", + "2 2454245 -9999 2007 \n", + "3 2454602 -9999 2008 \n", + "4 2454602 -9999 2008 \n", + "\n", + " last_yes_month last_yes_day last_yes_doy last_yes_julian_date \\\n", + "0 5 24 144 2454245 \n", + "1 6 7 158 2454259 \n", + "2 6 21 172 2454273 \n", + "3 6 19 171 2454637 \n", + "4 6 12 164 2454630 \n", + "\n", + " numdays_until_next_no geometry \n", + "0 -9999 POINT (-116.97386 45.56820) \n", + "1 -9999 POINT (-116.97386 45.56820) \n", + "2 -9999 POINT (-116.97386 45.56820) \n", + "3 -9999 POINT (-116.97386 45.56820) \n", + "4 35 POINT (-116.97386 45.56820) \n", + "\n", + "[5 rows x 25 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv(\"combined_DBF.csv\")\n", + "df['geometry'] = df['geometry'].apply(wkt.loads)\n", + "df = gpd.GeoDataFrame(df, crs='epsg:4326')\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "dae6e93e-a0a1-49b9-849b-0524ed9c0f40", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "We have 5059 observations\n", + "The observations are from 2007 to 2017\n" + ] + } + ], + "source": [ + "print(\"We have\",df.shape[0], \"observations\")\n", + "print(\"The observations are from\",df['last_yes_year'].min(),\"to\",df['last_yes_year'].max())" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "fabdb3a0-a931-4383-b5c4-5932cc9cf3df", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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vXISnvqsFt9/dTu8R+qZWyx2TM3Ro9CsiVPkREREREQ0nrHRPhERxZQgCOgecGLF7z9Gl82Jv36lCgaV/3syd59TgU/2d+LxTw4NJ8QAwCOKuP/d/XGImIiIiIiIJgImxYiIKOZOnZqF65eU4N439uCh1Qfx6JfnIcegGrVdmkYOjUKGd3a3+tzPGzuaUd81EOtwiYiIiIhoAmBSjIiI4uKmZaW4ckEh1h7uwtdf2ILbV5RjxdTMEdvkGdWwOdz49ECHz314ReCZL2riES4REREREY1zTIoREVFcCIKAey+agaoSM6x2N372391QyiR48IrZuGFpCTL1SlTmGXDf23sD9hx7eVMDegeccYyciIiIiIjGIybFiIgobhQyCR67Zh5mFxgBAO/ubsOdL2/HZwc7cNvJZZhTlIa/r6sPuI8BpweXPLYG2xp64xAxERERERGNV4IoiuLYmyUvq9UKo9EIi8UCg8GQ6HCIiCgIdpcHv/jfHvxzQ+AE2PEWlJiwqbZn+LFUIuDrK8rxjdMmQyHjPR4iIiIiIgotT8SrCCIiijuVXIr7LpmJ3106Cyp5eF9FHq+IP35YjYv//AXe2NGMbhuXVBIRERERUfBkiQ6AiIgmrisWFqKq1Iz/+9cOrK/pDmsfu5ut+MY/tgIApucasHxyBr571lTIpbzvQ0RERERE/jEpRkRECVWSocU/b1mMF9bX4b6392HA6fG5XXPvIOYXm4YfSwTArFXg3d1tw8/tabFiZr6RCTEiIiIiIhoTk2JERJRwEomAa5eU4KzKHKyr6cbOxl5sqe/F5rpjPcSae+1o7rUPPzZrFXjmhoWozKvFwx8chEkjR5Zehf87uyIRPwIREREREaUYNtonIqKk9fH+dvz0P7tR3z0w4vlpuQb8/PzpWFSWDgDwekVIJEIiQiQiIiIioiQSSp6IlWJERJS0VkzNwnt3pGN7Qy92NVvR0juIGflGXDA7b0QSjAkxIiIiIiIKFZNiRESU1FRyKRaVpQ9XhREREREREUUDOxETEREREREREdGEw6QYERERERERERFNOEyKERERERERERHRhMOkGBERERERERERTThMihERERERERER0YTDpBgREREREREREU04TIoREREREREREdGEw6QYERERERERERFNOEyKERERERERERHRhMOkGBERERERERERTThMihERERERERER0YTDpBgREREREREREU04TIoREREREREREdGEw6QYERERERERERFNOEyKERERERERERHRhMOkGBERERERERERTThMihERERERERER0YTDpBgREREREREREU04TIoREREREREREdGEw6QYERERERERERFNOEyKERERERERERHRhMOkGBERERERERERTThMihERERERERER0YTDpBgREREREREREU04TIoREREREREREdGEw6QYERERERERERFNOEyKERERERERERHRhMOkGBERERERERERTThMihERERERERER0YTDpBgREREREREREU04TIoREREREREREdGEw6QYERFREERRTHQIREREREQURbJEB0BERJSsGnsG8KcPq7Glvgd9djd+cUElzqzMSXRYREREREQUBUyKERER+bDucBe+/sIWdNmcw8/9+eNDOK0iCzIpC62JiIiIiFIdk2JERETHqW7vw4PvH8BbO1tHPL+wxIQ/XDmHCTEiIiIionGCSTEiIprQ7C4P3tzRgo/2t2NbQy8aewaHX5NKBFwyNx83nFSCyjxjAqMkIiIiIqJoY1KMiIgmJFEU8cwXtXjkw4PI1Clx5cJCXLWwCEVmDTbXd+Pj/R24dnExFpSYEx0qERERERHFAJNiREQ0YXTbnOjoc6Cjz4Fnv6jB4U4bfnFBJc6blQepRBjerihdg4vnFiQwUiIiIiIiijUmxYiIaNxrtdhx75t78OaOFgCAQSXDD8+ZhsvmF7BHGBERERHRBMWkGBERjWv/3d6MH762E/0ONwAgx6DCX2+qwpRsfYIjIyIiIiKiRGJSjIiIxq1nv6jBL/63Z8RzNy0rZUKMiIiIJjSXxws5q+WJwN8CIiIal5p7B3H/u/tHPT+7MC3+wRAREdEooihCFMVEhzEhvbCuDj//727YjlTSE01UrBQjIqJxRRRFfLivHb9+ay8GnJ5Rrw+6Rj9HRERE8eXyeHH3azux7nAXzqrMwQ1LS1Bo1iQ6rAmjs9+J59bUAgB+fkFlYoMhSiAmxYiIaNw41NGPH762E+truv1u87/tzTh5cgYEQfC7DRER+SeKIpp6B7Gptgdb63tQ2zWAxp4B9DvcyNKrkG1QosisRVmmFjPyjZhdYORnLo3Q73Dj9r9vxmcHOwEAT39eg7+urcWXFxXjOysnI02jiHkMOxst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7S+JxssNN9wgABjwtWXLFkEQerfrnTVrlqBWq4XIyEihuLhYeOmllwSv19vvPFu2bBFmzZolyOVyITs7W1i3bt3E/zAUUKcaS4IgCHV1dcL5558vqFQqIS4uTrj//vsFt9vd7zwcS/Rte/bsEUpKSgSdTicolUph+vTpwpNPPik4HI5+x+3fv184/fTTBYVCIaSmpgpPP/10gCqmYPfnP/9ZmDJliiCXy4X58+cLO3bsCHRJFMSuvPJKITk5WZDL5UJqaqpw5ZVXClVVVX232+124Y477hCio6OFiIgI4dJLLxVaW1sDWDEFiy1btgz6uuiGG24QBEEQfD6fsHbtWiExMVFQKBTCueeeKxw9erTfOTo7O4Wrr75aUKvVglarFW688UbBbDYH4KehQBpqLNlsNmHZsmVCfHy8IJPJhIyMDOGWW24R2tra+p2DY4nGSiQIgjCxMRwREREREREREVFgiQNdABERERERERER0URjKEZERERERERERGGHoRgREREREREREYUdhmJERERERERERBR2GIoREREREREREVHYYShGRERERERERERhh6EYERERERERERGFHYZiREREREREREQUdhiKERERERERERFR2GEoRkREREREREREYYehGBERERERERERhR2GYkREREREREREFHb+P74zTsiZ7429AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))\n", + "df.plot(ax=world.plot(figsize=(15, 15)), marker='.', color='red', markersize=5)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "42eb63e1-f9c9-4461-83d2-4212f09d4bc0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0site_idelevation_in_metersstatespecies_idgenusspeciescommon_namekingdomindividual_id...numdays_since_prior_nolast_yes_yearlast_yes_monthlast_yes_daylast_yes_doylast_yes_julian_datenumdays_until_next_nogeometrylatlon
0155331382OR92Symphoricarposalbuscommon snowberryPlantae4094...-999920075241442454245-9999POINT (-116.97386 45.56820)45.568195-116.973862
1255331382OR92Symphoricarposalbuscommon snowberryPlantae4100...-99992007671582454259-9999POINT (-116.97386 45.56820)45.568195-116.973862
2355331382OR92Symphoricarposalbuscommon snowberryPlantae4101...-999920076211722454273-9999POINT (-116.97386 45.56820)45.568195-116.973862
3155331382OR92Symphoricarposalbuscommon snowberryPlantae4094...-999920086191712454637-9999POINT (-116.97386 45.56820)45.568195-116.973862
4255331382OR92Symphoricarposalbuscommon snowberryPlantae4100...-99992008612164245463035POINT (-116.97386 45.56820)45.568195-116.973862
..................................................................
505429627639145NH36Syringavulgariscommon lilacPlantae143257...8520171273412458095-9999POINT (-72.26594 42.92350)42.923504-72.265938
505529727659246MN36Syringavulgariscommon lilacPlantae143328...11201711303342458088-9999POINT (-93.20499 44.92120)44.921204-93.204987
505629827659246MN36Syringavulgariscommon lilacPlantae143340...11201711303342458088-9999POINT (-93.20499 44.92120)44.921204-93.204987
505729927659246MN36Syringavulgariscommon lilacPlantae143341...11201711303342458088-9999POINT (-93.20499 44.92120)44.921204-93.204987
505830019171369UT36Syringavulgariscommon lilacPlantae268756...-99992017328872457841-9999POINT (-111.89124 41.66597)41.665974-111.891243
\n", + "

5059 rows × 27 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 site_id elevation_in_meters state species_id \\\n", + "0 1 5533 1382 OR 92 \n", + "1 2 5533 1382 OR 92 \n", + "2 3 5533 1382 OR 92 \n", + "3 1 5533 1382 OR 92 \n", + "4 2 5533 1382 OR 92 \n", + "... ... ... ... ... ... \n", + "5054 296 27639 145 NH 36 \n", + "5055 297 27659 246 MN 36 \n", + "5056 298 27659 246 MN 36 \n", + "5057 299 27659 246 MN 36 \n", + "5058 300 1917 1369 UT 36 \n", + "\n", + " genus species common_name kingdom individual_id ... \\\n", + "0 Symphoricarpos albus common snowberry Plantae 4094 ... \n", + "1 Symphoricarpos albus common snowberry Plantae 4100 ... \n", + "2 Symphoricarpos albus common snowberry Plantae 4101 ... \n", + "3 Symphoricarpos albus common snowberry Plantae 4094 ... \n", + "4 Symphoricarpos albus common snowberry Plantae 4100 ... \n", + "... ... ... ... ... ... ... \n", + "5054 Syringa vulgaris common lilac Plantae 143257 ... \n", + "5055 Syringa vulgaris common lilac Plantae 143328 ... \n", + "5056 Syringa vulgaris common lilac Plantae 143340 ... \n", + "5057 Syringa vulgaris common lilac Plantae 143341 ... \n", + "5058 Syringa vulgaris common lilac Plantae 268756 ... \n", + "\n", + " numdays_since_prior_no last_yes_year last_yes_month last_yes_day \\\n", + "0 -9999 2007 5 24 \n", + "1 -9999 2007 6 7 \n", + "2 -9999 2007 6 21 \n", + "3 -9999 2008 6 19 \n", + "4 -9999 2008 6 12 \n", + "... ... ... ... ... \n", + "5054 85 2017 12 7 \n", + "5055 11 2017 11 30 \n", + "5056 11 2017 11 30 \n", + "5057 11 2017 11 30 \n", + "5058 -9999 2017 3 28 \n", + "\n", + " last_yes_doy last_yes_julian_date numdays_until_next_no \\\n", + "0 144 2454245 -9999 \n", + "1 158 2454259 -9999 \n", + "2 172 2454273 -9999 \n", + "3 171 2454637 -9999 \n", + "4 164 2454630 35 \n", + "... ... ... ... \n", + "5054 341 2458095 -9999 \n", + "5055 334 2458088 -9999 \n", + "5056 334 2458088 -9999 \n", + "5057 334 2458088 -9999 \n", + "5058 87 2457841 -9999 \n", + "\n", + " geometry lat lon \n", + "0 POINT (-116.97386 45.56820) 45.568195 -116.973862 \n", + "1 POINT (-116.97386 45.56820) 45.568195 -116.973862 \n", + "2 POINT (-116.97386 45.56820) 45.568195 -116.973862 \n", + "3 POINT (-116.97386 45.56820) 45.568195 -116.973862 \n", + "4 POINT (-116.97386 45.56820) 45.568195 -116.973862 \n", + "... ... ... ... \n", + "5054 POINT (-72.26594 42.92350) 42.923504 -72.265938 \n", + "5055 POINT (-93.20499 44.92120) 44.921204 -93.204987 \n", + "5056 POINT (-93.20499 44.92120) 44.921204 -93.204987 \n", + "5057 POINT (-93.20499 44.92120) 44.921204 -93.204987 \n", + "5058 POINT (-111.89124 41.66597) 41.665974 -111.891243 \n", + "\n", + "[5059 rows x 27 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['lat'] = df.geometry.apply(lambda p: p.y)\n", + "df['lon'] = df.geometry.apply(lambda p: p.x)\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "de663f15-12fb-404c-a33c-3f16b0223948", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Unnamed: 0', 'site_id', 'elevation_in_meters', 'state', 'species_id',\n", + " 'genus', 'species', 'common_name', 'kingdom', 'individual_id',\n", + " 'phenophase_id', 'phenophase_description', 'first_yes_year',\n", + " 'first_yes_month', 'first_yes_day', 'first_yes_doy',\n", + " 'first_yes_julian_date', 'numdays_since_prior_no', 'last_yes_year',\n", + " 'last_yes_month', 'last_yes_day', 'last_yes_doy',\n", + " 'last_yes_julian_date', 'numdays_until_next_no', 'geometry', 'lat',\n", + " 'lon'],\n", + " dtype='object')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "25c879f3-7a8c-4e3c-882d-f89d1c87391d", + "metadata": {}, + "outputs": [], + "source": [ + "df = df.drop(columns = ['elevation_in_meters', 'state','species_id', 'genus','species','common_name','kingdom','individual_id','phenophase_description'])" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "815ba505-1de9-4d12-aebc-7cbbf187d412", + "metadata": {}, + "outputs": [], + "source": [ + "def format_timestamp(x):\n", + " date_string = str(int(x.first_yes_year)) + '-'+ str(int( x.first_yes_month)) + '-'+ str(int(x.first_yes_day))\n", + " date_object = datetime.strptime(date_string, \"%Y-%m-%d\")\n", + " return date_object" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "8c662d04-9a0d-4ee6-ab89-e02932e0f281", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0site_idphenophase_idfirst_yes_yearfirst_yes_monthfirst_yes_dayfirst_yes_doyfirst_yes_julian_datenumdays_since_prior_nolast_yes_yearlast_yes_monthlast_yes_daylast_yes_doylast_yes_julian_datenumdays_until_next_nogeometrylatlontimestamp
01553337120075241442454245-999920075241442454245-9999POINT (-116.97386 45.56820)45.568195-116.9738622007-05-24
12553337120075311512454252-99992007671582454259-9999POINT (-116.97386 45.56820)45.568195-116.9738622007-05-31
23553337120075241442454245-999920076211722454273-9999POINT (-116.97386 45.56820)45.568195-116.9738622007-05-24
31553337120085151362454602-999920086191712454637-9999POINT (-116.97386 45.56820)45.568195-116.9738622008-05-15
42553337120085151362454602-99992008612164245463035POINT (-116.97386 45.56820)45.568195-116.9738622008-05-15
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 site_id phenophase_id first_yes_year first_yes_month \\\n", + "0 1 5533 371 2007 5 \n", + "1 2 5533 371 2007 5 \n", + "2 3 5533 371 2007 5 \n", + "3 1 5533 371 2008 5 \n", + "4 2 5533 371 2008 5 \n", + "\n", + " first_yes_day first_yes_doy first_yes_julian_date \\\n", + "0 24 144 2454245 \n", + "1 31 151 2454252 \n", + "2 24 144 2454245 \n", + "3 15 136 2454602 \n", + "4 15 136 2454602 \n", + "\n", + " numdays_since_prior_no last_yes_year last_yes_month last_yes_day \\\n", + "0 -9999 2007 5 24 \n", + "1 -9999 2007 6 7 \n", + "2 -9999 2007 6 21 \n", + "3 -9999 2008 6 19 \n", + "4 -9999 2008 6 12 \n", + "\n", + " last_yes_doy last_yes_julian_date numdays_until_next_no \\\n", + "0 144 2454245 -9999 \n", + "1 158 2454259 -9999 \n", + "2 172 2454273 -9999 \n", + "3 171 2454637 -9999 \n", + "4 164 2454630 35 \n", + "\n", + " geometry lat lon timestamp \n", + "0 POINT (-116.97386 45.56820) 45.568195 -116.973862 2007-05-24 \n", + "1 POINT (-116.97386 45.56820) 45.568195 -116.973862 2007-05-31 \n", + "2 POINT (-116.97386 45.56820) 45.568195 -116.973862 2007-05-24 \n", + "3 POINT (-116.97386 45.56820) 45.568195 -116.973862 2008-05-15 \n", + "4 POINT (-116.97386 45.56820) 45.568195 -116.973862 2008-05-15 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['timestamp'] = df.apply(format_timestamp, axis = 1)\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "691e3208-0c9b-482a-b98f-33943590edfb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0site_idphenophase_idfirst_yes_yearfirst_yes_monthfirst_yes_dayfirst_yes_doyfirst_yes_julian_datenumdays_since_prior_nolast_yes_yearlast_yes_monthlast_yes_daylast_yes_doylast_yes_julian_datenumdays_until_next_nogeometrylatlontimestampmean_doy
01553337120075241442454245-999920075241442454245-9999POINT (-116.97386 45.56820)45.568195-116.9738622007-05-24145.75
12553337120075311512454252-99992007671582454259-9999POINT (-116.97386 45.56820)45.568195-116.9738622007-05-31145.75
23553337120075241442454245-999920076211722454273-9999POINT (-116.97386 45.56820)45.568195-116.9738622007-05-24145.75
31553337120085151362454602-999920086191712454637-9999POINT (-116.97386 45.56820)45.568195-116.9738622008-05-15136.00
42553337120085151362454602-99992008612164245463035POINT (-116.97386 45.56820)45.568195-116.9738622008-05-15136.00
...............................................................
505429627639373201712734124580958520171273412458095-9999POINT (-72.26594 42.92350)42.923504-72.2659382017-12-07341.00
50552972765937320171130334245808811201711303342458088-9999POINT (-93.20499 44.92120)44.921204-93.2049872017-11-30334.00
50562982765937320171130334245808811201711303342458088-9999POINT (-93.20499 44.92120)44.921204-93.2049872017-11-30334.00
50572992765937320171130334245808811201711303342458088-9999POINT (-93.20499 44.92120)44.921204-93.2049872017-11-30334.00
505830019173732017328872457841-99992017328872457841-9999POINT (-111.89124 41.66597)41.665974-111.8912432017-03-2887.00
\n", + "

5059 rows × 20 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 site_id phenophase_id first_yes_year first_yes_month \\\n", + "0 1 5533 371 2007 5 \n", + "1 2 5533 371 2007 5 \n", + "2 3 5533 371 2007 5 \n", + "3 1 5533 371 2008 5 \n", + "4 2 5533 371 2008 5 \n", + "... ... ... ... ... ... \n", + "5054 296 27639 373 2017 12 \n", + "5055 297 27659 373 2017 11 \n", + "5056 298 27659 373 2017 11 \n", + "5057 299 27659 373 2017 11 \n", + "5058 300 1917 373 2017 3 \n", + "\n", + " first_yes_day first_yes_doy first_yes_julian_date \\\n", + "0 24 144 2454245 \n", + "1 31 151 2454252 \n", + "2 24 144 2454245 \n", + "3 15 136 2454602 \n", + "4 15 136 2454602 \n", + "... ... ... ... \n", + "5054 7 341 2458095 \n", + "5055 30 334 2458088 \n", + "5056 30 334 2458088 \n", + "5057 30 334 2458088 \n", + "5058 28 87 2457841 \n", + "\n", + " numdays_since_prior_no last_yes_year last_yes_month last_yes_day \\\n", + "0 -9999 2007 5 24 \n", + "1 -9999 2007 6 7 \n", + "2 -9999 2007 6 21 \n", + "3 -9999 2008 6 19 \n", + "4 -9999 2008 6 12 \n", + "... ... ... ... ... \n", + "5054 85 2017 12 7 \n", + "5055 11 2017 11 30 \n", + "5056 11 2017 11 30 \n", + "5057 11 2017 11 30 \n", + "5058 -9999 2017 3 28 \n", + "\n", + " last_yes_doy last_yes_julian_date numdays_until_next_no \\\n", + "0 144 2454245 -9999 \n", + "1 158 2454259 -9999 \n", + "2 172 2454273 -9999 \n", + "3 171 2454637 -9999 \n", + "4 164 2454630 35 \n", + "... ... ... ... \n", + "5054 341 2458095 -9999 \n", + "5055 334 2458088 -9999 \n", + "5056 334 2458088 -9999 \n", + "5057 334 2458088 -9999 \n", + "5058 87 2457841 -9999 \n", + "\n", + " geometry lat lon timestamp mean_doy \n", + "0 POINT (-116.97386 45.56820) 45.568195 -116.973862 2007-05-24 145.75 \n", + "1 POINT (-116.97386 45.56820) 45.568195 -116.973862 2007-05-31 145.75 \n", + "2 POINT (-116.97386 45.56820) 45.568195 -116.973862 2007-05-24 145.75 \n", + "3 POINT (-116.97386 45.56820) 45.568195 -116.973862 2008-05-15 136.00 \n", + "4 POINT (-116.97386 45.56820) 45.568195 -116.973862 2008-05-15 136.00 \n", + "... ... ... ... ... ... \n", + "5054 POINT (-72.26594 42.92350) 42.923504 -72.265938 2017-12-07 341.00 \n", + "5055 POINT (-93.20499 44.92120) 44.921204 -93.204987 2017-11-30 334.00 \n", + "5056 POINT (-93.20499 44.92120) 44.921204 -93.204987 2017-11-30 334.00 \n", + "5057 POINT (-93.20499 44.92120) 44.921204 -93.204987 2017-11-30 334.00 \n", + "5058 POINT (-111.89124 41.66597) 41.665974 -111.891243 2017-03-28 87.00 \n", + "\n", + "[5059 rows x 20 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# compute only one doy per site_id and year (all the phenophases related to the spring onset)\n", + "df['mean_doy'] = df.groupby(['site_id', 'first_yes_year'])['first_yes_doy'].transform(lambda x: x.mean())\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "0097d65d-20cb-4687-847c-f6ffdbf073b0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0site_idphenophase_idfirst_yes_yearfirst_yes_monthfirst_yes_dayfirst_yes_doyfirst_yes_julian_datenumdays_since_prior_nolast_yes_yearlast_yes_monthlast_yes_daylast_yes_doylast_yes_julian_datenumdays_until_next_nogeometrylatlontimestampmean_doy
01553337120075241442454245-999920075241442454245-9999POINT (-116.97386 45.56820)45.568195-116.9738622007-05-24146.0
12553337120075311512454252-99992007671582454259-9999POINT (-116.97386 45.56820)45.568195-116.9738622007-05-31146.0
23553337120075241442454245-999920076211722454273-9999POINT (-116.97386 45.56820)45.568195-116.9738622007-05-24146.0
31553337120085151362454602-999920086191712454637-9999POINT (-116.97386 45.56820)45.568195-116.9738622008-05-15136.0
42553337120085151362454602-99992008612164245463035POINT (-116.97386 45.56820)45.568195-116.9738622008-05-15136.0
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 site_id phenophase_id first_yes_year first_yes_month \\\n", + "0 1 5533 371 2007 5 \n", + "1 2 5533 371 2007 5 \n", + "2 3 5533 371 2007 5 \n", + "3 1 5533 371 2008 5 \n", + "4 2 5533 371 2008 5 \n", + "\n", + " first_yes_day first_yes_doy first_yes_julian_date \\\n", + "0 24 144 2454245 \n", + "1 31 151 2454252 \n", + "2 24 144 2454245 \n", + "3 15 136 2454602 \n", + "4 15 136 2454602 \n", + "\n", + " numdays_since_prior_no last_yes_year last_yes_month last_yes_day \\\n", + "0 -9999 2007 5 24 \n", + "1 -9999 2007 6 7 \n", + "2 -9999 2007 6 21 \n", + "3 -9999 2008 6 19 \n", + "4 -9999 2008 6 12 \n", + "\n", + " last_yes_doy last_yes_julian_date numdays_until_next_no \\\n", + "0 144 2454245 -9999 \n", + "1 158 2454259 -9999 \n", + "2 172 2454273 -9999 \n", + "3 171 2454637 -9999 \n", + "4 164 2454630 35 \n", + "\n", + " geometry lat lon timestamp mean_doy \n", + "0 POINT (-116.97386 45.56820) 45.568195 -116.973862 2007-05-24 146.0 \n", + "1 POINT (-116.97386 45.56820) 45.568195 -116.973862 2007-05-31 146.0 \n", + "2 POINT (-116.97386 45.56820) 45.568195 -116.973862 2007-05-24 146.0 \n", + "3 POINT (-116.97386 45.56820) 45.568195 -116.973862 2008-05-15 136.0 \n", + "4 POINT (-116.97386 45.56820) 45.568195 -116.973862 2008-05-15 136.0 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['mean_doy'] = df['mean_doy'].apply(lambda x: round(x,0))\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "4e000b15-b77e-4f29-9ff1-1d5b6183fe6c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0site_idphenophase_idfirst_yes_yearfirst_yes_monthfirst_yes_dayfirst_yes_doyfirst_yes_julian_datenumdays_since_prior_nolast_yes_yearlast_yes_monthlast_yes_daylast_yes_doylast_yes_julian_datenumdays_until_next_nogeometrylatlontimestampmean_doy
10381123712009449424549264200952122245495436POINT (-70.69133 43.08535)43.085350-70.6913302009-04-04113.0
33658923732009415105245493762009419109245494126POINT (-70.69133 43.08535)43.085350-70.6913302009-04-15113.0
32881223732009416106245493812009419109245494130POINT (-70.69133 43.08535)43.085350-70.6913302009-04-16113.0
282422371200952122245495413200952122245495436POINT (-70.69133 43.08535)43.085350-70.6913302009-05-02113.0
2857352371200952122245495413200952122245495436POINT (-70.69133 43.08535)43.085350-70.6913302009-05-02113.0
...............................................................
101512335924371201751713724578915201752414424578982POINT (-89.54215 46.23197)46.231968-89.5421522017-05-17134.0
102413235924371201751713724578915201752414424578982POINT (-89.54215 46.23197)46.231968-89.5421522017-05-17134.0
100711535924371201751913924578932201752914924579032POINT (-89.54215 46.23197)46.231968-89.5421522017-05-19134.0
10201283592437120175221422457896320176215324579073POINT (-89.54215 46.23197)46.231968-89.5421522017-05-22134.0
10181263592437120175261462457900220176215324579073POINT (-89.54215 46.23197)46.231968-89.5421522017-05-26134.0
\n", + "

5059 rows × 20 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 site_id phenophase_id first_yes_year first_yes_month \\\n", + "1038 11 2 371 2009 4 \n", + "3365 89 2 373 2009 4 \n", + "3288 12 2 373 2009 4 \n", + "2824 2 2 371 2009 5 \n", + "2857 35 2 371 2009 5 \n", + "... ... ... ... ... ... \n", + "1015 123 35924 371 2017 5 \n", + "1024 132 35924 371 2017 5 \n", + "1007 115 35924 371 2017 5 \n", + "1020 128 35924 371 2017 5 \n", + "1018 126 35924 371 2017 5 \n", + "\n", + " first_yes_day first_yes_doy first_yes_julian_date \\\n", + "1038 4 94 2454926 \n", + "3365 15 105 2454937 \n", + "3288 16 106 2454938 \n", + "2824 2 122 2454954 \n", + "2857 2 122 2454954 \n", + "... ... ... ... \n", + "1015 17 137 2457891 \n", + "1024 17 137 2457891 \n", + "1007 19 139 2457893 \n", + "1020 22 142 2457896 \n", + "1018 26 146 2457900 \n", + "\n", + " numdays_since_prior_no last_yes_year last_yes_month last_yes_day \\\n", + "1038 4 2009 5 2 \n", + "3365 6 2009 4 19 \n", + "3288 1 2009 4 19 \n", + "2824 13 2009 5 2 \n", + "2857 13 2009 5 2 \n", + "... ... ... ... ... \n", + "1015 5 2017 5 24 \n", + "1024 5 2017 5 24 \n", + "1007 2 2017 5 29 \n", + "1020 3 2017 6 2 \n", + "1018 2 2017 6 2 \n", + "\n", + " last_yes_doy last_yes_julian_date numdays_until_next_no \\\n", + "1038 122 2454954 36 \n", + "3365 109 2454941 26 \n", + "3288 109 2454941 30 \n", + "2824 122 2454954 36 \n", + "2857 122 2454954 36 \n", + "... ... ... ... \n", + "1015 144 2457898 2 \n", + "1024 144 2457898 2 \n", + "1007 149 2457903 2 \n", + "1020 153 2457907 3 \n", + "1018 153 2457907 3 \n", + "\n", + " geometry lat lon timestamp mean_doy \n", + "1038 POINT (-70.69133 43.08535) 43.085350 -70.691330 2009-04-04 113.0 \n", + "3365 POINT (-70.69133 43.08535) 43.085350 -70.691330 2009-04-15 113.0 \n", + "3288 POINT (-70.69133 43.08535) 43.085350 -70.691330 2009-04-16 113.0 \n", + "2824 POINT (-70.69133 43.08535) 43.085350 -70.691330 2009-05-02 113.0 \n", + "2857 POINT (-70.69133 43.08535) 43.085350 -70.691330 2009-05-02 113.0 \n", + "... ... ... ... ... ... \n", + "1015 POINT (-89.54215 46.23197) 46.231968 -89.542152 2017-05-17 134.0 \n", + "1024 POINT (-89.54215 46.23197) 46.231968 -89.542152 2017-05-17 134.0 \n", + "1007 POINT (-89.54215 46.23197) 46.231968 -89.542152 2017-05-19 134.0 \n", + "1020 POINT (-89.54215 46.23197) 46.231968 -89.542152 2017-05-22 134.0 \n", + "1018 POINT (-89.54215 46.23197) 46.231968 -89.542152 2017-05-26 134.0 \n", + "\n", + "[5059 rows x 20 columns]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#sorting data/ later drop duplicates will keep the first\n", + "df = df.sort_values(['site_id','timestamp'])\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "44efded5-a497-4021-9bbd-10264e73d6e8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0site_idphenophase_idfirst_yes_yearfirst_yes_monthfirst_yes_dayfirst_yes_doyfirst_yes_julian_datenumdays_since_prior_nolast_yes_yearlast_yes_monthlast_yes_daylast_yes_doylast_yes_julian_datenumdays_until_next_nogeometrylatlontimestampmean_doy
10381123712009449424549264200952122245495436POINT (-70.69133 43.08535)43.085350-70.6913302009-04-04113.0
1057523712010320792455276720105512524553225POINT (-70.69133 43.08535)43.085350-70.6913302010-03-20100.0
1077123712011414104245566642011427117245567915POINT (-70.69133 43.08535)43.085350-70.6913302011-04-14111.0
380192373201232383245601012012489924560263POINT (-70.69133 43.08535)43.085350-70.6913302012-03-2390.0
39778237320134171072456400120135612624564197POINT (-70.69133 43.08535)43.085350-70.6913302013-04-17113.0
...............................................................
864863591437120165612724575152201651113224575202POINT (-89.58568 45.50487)45.504875-89.5856782016-05-06132.0
9921003591437120174241142457868720175312324578772POINT (-89.58568 45.50487)45.504875-89.5856782017-04-24133.0
76786359243712015511212457144220155112124571443POINT (-89.54215 46.23197)46.231968-89.5421522015-05-01126.0
876983592437120164910024574881120164910024574886POINT (-89.54215 46.23197)46.231968-89.5421522016-04-09123.0
10081163592437120175812824578823201751213224578865POINT (-89.54215 46.23197)46.231968-89.5421522017-05-08134.0
\n", + "

2350 rows × 20 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 site_id phenophase_id first_yes_year first_yes_month \\\n", + "1038 11 2 371 2009 4 \n", + "1057 5 2 371 2010 3 \n", + "1077 1 2 371 2011 4 \n", + "3801 9 2 373 2012 3 \n", + "3977 8 2 373 2013 4 \n", + "... ... ... ... ... ... \n", + "864 86 35914 371 2016 5 \n", + "992 100 35914 371 2017 4 \n", + "767 86 35924 371 2015 5 \n", + "876 98 35924 371 2016 4 \n", + "1008 116 35924 371 2017 5 \n", + "\n", + " first_yes_day first_yes_doy first_yes_julian_date \\\n", + "1038 4 94 2454926 \n", + "1057 20 79 2455276 \n", + "1077 14 104 2455666 \n", + "3801 23 83 2456010 \n", + "3977 17 107 2456400 \n", + "... ... ... ... \n", + "864 6 127 2457515 \n", + "992 24 114 2457868 \n", + "767 1 121 2457144 \n", + "876 9 100 2457488 \n", + "1008 8 128 2457882 \n", + "\n", + " numdays_since_prior_no last_yes_year last_yes_month last_yes_day \\\n", + "1038 4 2009 5 2 \n", + "1057 7 2010 5 5 \n", + "1077 4 2011 4 27 \n", + "3801 1 2012 4 8 \n", + "3977 1 2013 5 6 \n", + "... ... ... ... ... \n", + "864 2 2016 5 11 \n", + "992 7 2017 5 3 \n", + "767 2 2015 5 1 \n", + "876 11 2016 4 9 \n", + "1008 3 2017 5 12 \n", + "\n", + " last_yes_doy last_yes_julian_date numdays_until_next_no \\\n", + "1038 122 2454954 36 \n", + "1057 125 2455322 5 \n", + "1077 117 2455679 15 \n", + "3801 99 2456026 3 \n", + "3977 126 2456419 7 \n", + "... ... ... ... \n", + "864 132 2457520 2 \n", + "992 123 2457877 2 \n", + "767 121 2457144 3 \n", + "876 100 2457488 6 \n", + "1008 132 2457886 5 \n", + "\n", + " geometry lat lon timestamp mean_doy \n", + "1038 POINT (-70.69133 43.08535) 43.085350 -70.691330 2009-04-04 113.0 \n", + "1057 POINT (-70.69133 43.08535) 43.085350 -70.691330 2010-03-20 100.0 \n", + "1077 POINT (-70.69133 43.08535) 43.085350 -70.691330 2011-04-14 111.0 \n", + "3801 POINT (-70.69133 43.08535) 43.085350 -70.691330 2012-03-23 90.0 \n", + "3977 POINT (-70.69133 43.08535) 43.085350 -70.691330 2013-04-17 113.0 \n", + "... ... ... ... ... ... \n", + "864 POINT (-89.58568 45.50487) 45.504875 -89.585678 2016-05-06 132.0 \n", + "992 POINT (-89.58568 45.50487) 45.504875 -89.585678 2017-04-24 133.0 \n", + "767 POINT (-89.54215 46.23197) 46.231968 -89.542152 2015-05-01 126.0 \n", + "876 POINT (-89.54215 46.23197) 46.231968 -89.542152 2016-04-09 123.0 \n", + "1008 POINT (-89.54215 46.23197) 46.231968 -89.542152 2017-05-08 134.0 \n", + "\n", + "[2350 rows x 20 columns]" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_clean = df.drop_duplicates(subset=['site_id','first_yes_year'])\n", + "df_clean" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "0e279ee9-a182-4ef4-b2d4-4087dbe7e2b9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0site_idphenophase_idfirst_yes_yearfirst_yes_monthfirst_yes_dayfirst_yes_doyfirst_yes_julian_datenumdays_since_prior_nolast_yes_yearlast_yes_monthlast_yes_daylast_yes_doylast_yes_julian_datenumdays_until_next_nogeometrylatlontimestampmean_doy
3279393732009499924549311200942011024549424POINT (-87.89300 43.09780)43.097801-87.8929982009-04-09105.0
3431155272373200936652454897-999920093665245489741POINT (-108.90000 39.30000)39.299999-108.9000022009-03-0684.0
366515847373201143932455655720114111012455663-9999POINT (-87.79898 41.86990)41.869896-87.7989812011-04-0393.0
296935543437120114261162455678320115312324556857POINT (-70.40681 43.63101)43.631012-70.4068152011-04-26116.0
481456119137320174191092457863520175301502457904-9999POINT (-87.95583 42.25259)42.252590-87.9558262017-04-19109.0
...............................................................
190674183732011314732455635-999920113147324556357POINT (-76.55337 38.88813)38.888126-76.5533682011-03-14141.0
18728313037320104191092455306520105312324553207POINT (-93.49281 47.24176)47.241760-93.4928052010-04-19112.0
21079651513732012325852456012-99992012325852456012-9999POINT (-88.29793 41.34128)41.341278-88.2979352012-03-2585.0
2168361826373201347972456390620134898245639112POINT (-73.87393 40.85976)40.859764-73.8739322013-04-0797.0
35799921953732010324832455280-99992010324832455280-9999POINT (-75.38850 39.99911)39.999107-75.3885042010-03-2483.0
\n", + "

100 rows × 20 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 site_id phenophase_id first_yes_year first_yes_month \\\n", + "3279 3 9 373 2009 4 \n", + "3431 155 272 373 2009 3 \n", + "3665 15 847 373 2011 4 \n", + "2969 35 5434 371 2011 4 \n", + "4814 56 1191 373 2017 4 \n", + "... ... ... ... ... ... \n", + "1906 7 418 373 2011 3 \n", + "1872 83 130 373 2010 4 \n", + "2107 96 5151 373 2012 3 \n", + "2168 36 1826 373 2013 4 \n", + "3579 99 2195 373 2010 3 \n", + "\n", + " first_yes_day first_yes_doy first_yes_julian_date \\\n", + "3279 9 99 2454931 \n", + "3431 6 65 2454897 \n", + "3665 3 93 2455655 \n", + "2969 26 116 2455678 \n", + "4814 19 109 2457863 \n", + "... ... ... ... \n", + "1906 14 73 2455635 \n", + "1872 19 109 2455306 \n", + "2107 25 85 2456012 \n", + "2168 7 97 2456390 \n", + "3579 24 83 2455280 \n", + "\n", + " numdays_since_prior_no last_yes_year last_yes_month last_yes_day \\\n", + "3279 1 2009 4 20 \n", + "3431 -9999 2009 3 6 \n", + "3665 7 2011 4 11 \n", + "2969 3 2011 5 3 \n", + "4814 5 2017 5 30 \n", + "... ... ... ... ... \n", + "1906 -9999 2011 3 14 \n", + "1872 5 2010 5 3 \n", + "2107 -9999 2012 3 25 \n", + "2168 6 2013 4 8 \n", + "3579 -9999 2010 3 24 \n", + "\n", + " last_yes_doy last_yes_julian_date numdays_until_next_no \\\n", + "3279 110 2454942 4 \n", + "3431 65 2454897 41 \n", + "3665 101 2455663 -9999 \n", + "2969 123 2455685 7 \n", + "4814 150 2457904 -9999 \n", + "... ... ... ... \n", + "1906 73 2455635 7 \n", + "1872 123 2455320 7 \n", + "2107 85 2456012 -9999 \n", + "2168 98 2456391 12 \n", + "3579 83 2455280 -9999 \n", + "\n", + " geometry lat lon timestamp mean_doy \n", + "3279 POINT (-87.89300 43.09780) 43.097801 -87.892998 2009-04-09 105.0 \n", + "3431 POINT (-108.90000 39.30000) 39.299999 -108.900002 2009-03-06 84.0 \n", + "3665 POINT (-87.79898 41.86990) 41.869896 -87.798981 2011-04-03 93.0 \n", + "2969 POINT (-70.40681 43.63101) 43.631012 -70.406815 2011-04-26 116.0 \n", + "4814 POINT (-87.95583 42.25259) 42.252590 -87.955826 2017-04-19 109.0 \n", + "... ... ... ... ... ... \n", + "1906 POINT (-76.55337 38.88813) 38.888126 -76.553368 2011-03-14 141.0 \n", + "1872 POINT (-93.49281 47.24176) 47.241760 -93.492805 2010-04-19 112.0 \n", + "2107 POINT (-88.29793 41.34128) 41.341278 -88.297935 2012-03-25 85.0 \n", + "2168 POINT (-73.87393 40.85976) 40.859764 -73.873932 2013-04-07 97.0 \n", + "3579 POINT (-75.38850 39.99911) 39.999107 -75.388504 2010-03-24 83.0 \n", + "\n", + "[100 rows x 20 columns]" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# take random 100 observations\n", + "obs_data = df_clean.sample(n=100)\n", + "obs_data" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "5b069d24-2587-40ea-bd8b-49f8a2d7b6ac", + "metadata": {}, + "outputs": [], + "source": [ + "# from shapely.geometry import Point\n", + "# obs_data['geometry'] = [Point(xy) for xy in zip(obs_data.lon, obs_data.lat)]\n", + "# obs_data" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "84ded1a2-5439-48bf-9f59-e251bd657090", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DaymetMultiplePoints(dataset='daymet_multiple_points', points=[(-87.892998, 43.097801), (-108.900002, 39.299999), (-87.798981, 41.869896), (-70.406815, 43.631012), (-87.955826, 42.25259), (-71.440529, 43.854237), (-70.69133, 43.08535), (-85.633453, 38.25729), (-69.985458, 44.42337), (-81.693153, 41.433689), (-87.798981, 41.869896), (-98.695633, 46.899017), (-83.303322, 35.510715), (-79.415192, 39.06464), (-84.595879, 42.703114), (-147.880295, 64.925751), (-72.599998, 43.380001), (-98.705498, 46.908852), (-71.362434, 42.293243), (-87.70285, 41.913803), (-84.513054, 39.145248), (-79.689758, 39.36087), (-92.751999, 36.524502), (-81.633675, 34.477066), (-112.056061, 36.204147), (-93.795433, 42.929218), (-96.782646, 44.314655), (-93.470726, 47.515331), (-73.947464, 44.272942), (-71.440529, 43.854237), (-87.783676, 44.085667), (-81.725487, 41.238537), (-105.917198, 35.518261), (-73.220451, 41.972836), (-79.418045, 39.063416), (-88.381523, 42.186203), (-78.619591, 42.763412), (-105.076782, 40.199249), (-87.798981, 41.869896), (-114.850861, 45.101624), (-77.024651, 39.394035), (-81.145103, 41.480873), (-99.855309, 42.553192), (-98.705482, 46.908863), (-96.78257, 44.314625), (-118.804436, 45.650951), (-70.176582, 41.290379), (-73.873741, 42.219055), (-114.972984, 36.055347), (-143.038651, 63.323421), (-105.5746, 41.296783), (-122.074013, 42.705845), (-122.689301, 42.192146), (-91.437325, 37.918934), (-95.547943, 42.489243), (-67.898643, 46.614246), (-73.885437, 40.75375), (-96.459999, 40.580002), (-106.624191, 35.082458), (-91.437325, 37.918934), (-88.022522, 43.387383), (-85.242989, 39.367615), (-90.562172, 43.164249), (-104.89093, 39.498241), (-106.677002, 35.138), (-85.633453, 38.25729), (-105.96991, 35.639633), (-104.87365, 39.667038), (-78.72068, 35.903923), (-92.789955, 44.924969), (-96.782631, 44.314629), (-77.362717, 38.947868), (-73.433449, 42.936153), (-96.784554, 44.315334), (-77.080002, 43.0), (-96.784554, 44.315334), (-87.878204, 43.081448), (-96.784233, 44.317989), (-82.993546, 39.346977), (-98.542, 41.59), (-113.634499, 47.219101), (-105.099319, 39.550663), (-96.784416, 44.316689), (-100.726822, 48.614853), (-73.878189, 40.860519), (-108.950043, 38.38916), (-88.101791, 42.997086), (-96.784554, 44.315334), (-94.83091, 39.930405), (-83.689034, 35.639187), (-70.921326, 42.267677), (-92.913094, 45.339485), (-76.5513, 40.414211), (-80.857506, 35.182804), (-79.415192, 39.06464), (-76.553368, 38.888126), (-93.492805, 47.24176), (-88.297935, 41.341278), (-73.873932, 40.859764), (-75.388504, 39.999107)], years=(2007, 2017))" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# we need the site_id too. So maybe better zip(df1.site_id,df1.lon, df1.lat)\n", + "dataset = DaymetMultiplePoints(points=list(zip(obs_data.lon, obs_data.lat)), years=[2007, 2017])\n", + "dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "82cf77d0-985a-41af-95da-49c1b9d90db0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-108.900002_39.299999\",\n", + "+ lat = 39.299999,\n", + "+ lon = -108.900002,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-108.900002_39.299999 at 39.299999/-108.900002 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-70.406815_43.631012\",\n", + "+ lat = 43.631012,\n", + "+ lon = -70.406815,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-70.406815_43.631012 at 43.631012/-70.406815 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-69.985458_44.42337\",\n", + "+ lat = 44.42337,\n", + "+ lon = -69.985458,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-69.985458_44.42337 at 44.42337/-69.985458 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-98.695633_46.899017\",\n", + "+ lat = 46.899017,\n", + "+ lon = -98.695633,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-98.695633_46.899017 at 46.899017/-98.695633 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-79.415192_39.06464\",\n", + "+ lat = 39.06464,\n", + "+ lon = -79.415192,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-79.415192_39.06464 at 39.06464/-79.415192 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-84.595879_42.703114\",\n", + "+ lat = 42.703114,\n", + "+ lon = -84.595879,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-84.595879_42.703114 at 42.703114/-84.595879 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-147.880295_64.925751\",\n", + "+ lat = 64.925751,\n", + "+ lon = -147.880295,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-147.880295_64.925751 at 64.925751/-147.880295 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-98.705498_46.908852\",\n", + "+ lat = 46.908852,\n", + "+ lon = -98.705498,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-98.705498_46.908852 at 46.908852/-98.705498 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-71.362434_42.293243\",\n", + "+ lat = 42.293243,\n", + "+ lon = -71.362434,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-71.362434_42.293243 at 42.293243/-71.362434 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-87.70285_41.913803\",\n", + "+ lat = 41.913803,\n", + "+ lon = -87.70285,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-87.70285_41.913803 at 41.913803/-87.70285 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-84.513054_39.145248\",\n", + "+ lat = 39.145248,\n", + "+ lon = -84.513054,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-84.513054_39.145248 at 39.145248/-84.513054 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-79.689758_39.36087\",\n", + "+ lat = 39.36087,\n", + "+ lon = -79.689758,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-79.689758_39.36087 at 39.36087/-79.689758 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-81.633675_34.477066\",\n", + "+ lat = 34.477066,\n", + "+ lon = -81.633675,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-81.633675_34.477066 at 34.477066/-81.633675 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-112.056061_36.204147\",\n", + "+ lat = 36.204147,\n", + "+ lon = -112.056061,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-112.056061_36.204147 at 36.204147/-112.056061 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-96.782646_44.314655\",\n", + "+ lat = 44.314655,\n", + "+ lon = -96.782646,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-96.782646_44.314655 at 44.314655/-96.782646 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-93.470726_47.515331\",\n", + "+ lat = 47.515331,\n", + "+ lon = -93.470726,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-93.470726_47.515331 at 47.515331/-93.470726 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-73.947464_44.272942\",\n", + "+ lat = 44.272942,\n", + "+ lon = -73.947464,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-73.947464_44.272942 at 44.272942/-73.947464 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-87.783676_44.085667\",\n", + "+ lat = 44.085667,\n", + "+ lon = -87.783676,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-87.783676_44.085667 at 44.085667/-87.783676 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-81.725487_41.238537\",\n", + "+ lat = 41.238537,\n", + "+ lon = -81.725487,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-81.725487_41.238537 at 41.238537/-81.725487 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-79.418045_39.063416\",\n", + "+ lat = 39.063416,\n", + "+ lon = -79.418045,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-79.418045_39.063416 at 39.063416/-79.418045 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-88.381523_42.186203\",\n", + "+ lat = 42.186203,\n", + "+ lon = -88.381523,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-88.381523_42.186203 at 42.186203/-88.381523 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-78.619591_42.763412\",\n", + "+ lat = 42.763412,\n", + "+ lon = -78.619591,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-78.619591_42.763412 at 42.763412/-78.619591 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-105.076782_40.199249\",\n", + "+ lat = 40.199249,\n", + "+ lon = -105.076782,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-105.076782_40.199249 at 40.199249/-105.076782 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-114.850861_45.101624\",\n", + "+ lat = 45.101624,\n", + "+ lon = -114.850861,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-114.850861_45.101624 at 45.101624/-114.850861 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-77.024651_39.394035\",\n", + "+ lat = 39.394035,\n", + "+ lon = -77.024651,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-77.024651_39.394035 at 39.394035/-77.024651 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-81.145103_41.480873\",\n", + "+ lat = 41.480873,\n", + "+ lon = -81.145103,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-81.145103_41.480873 at 41.480873/-81.145103 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-99.855309_42.553192\",\n", + "+ lat = 42.553192,\n", + "+ lon = -99.855309,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-99.855309_42.553192 at 42.553192/-99.855309 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-96.78257_44.314625\",\n", + "+ lat = 44.314625,\n", + "+ lon = -96.78257,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-96.78257_44.314625 at 44.314625/-96.78257 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-118.804436_45.650951\",\n", + "+ lat = 45.650951,\n", + "+ lon = -118.804436,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-118.804436_45.650951 at 45.650951/-118.804436 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-70.176582_41.290379\",\n", + "+ lat = 41.290379,\n", + "+ lon = -70.176582,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-70.176582_41.290379 at 41.290379/-70.176582 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-73.873741_42.219055\",\n", + "+ lat = 42.219055,\n", + "+ lon = -73.873741,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-73.873741_42.219055 at 42.219055/-73.873741 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-114.972984_36.055347\",\n", + "+ lat = 36.055347,\n", + "+ lon = -114.972984,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-114.972984_36.055347 at 36.055347/-114.972984 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-143.038651_63.323421\",\n", + "+ lat = 63.323421,\n", + "+ lon = -143.038651,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-143.038651_63.323421 at 63.323421/-143.038651 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-122.074013_42.705845\",\n", + "+ lat = 42.705845,\n", + "+ lon = -122.074013,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-122.074013_42.705845 at 42.705845/-122.074013 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-122.689301_42.192146\",\n", + "+ lat = 42.192146,\n", + "+ lon = -122.689301,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-122.689301_42.192146 at 42.192146/-122.689301 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-95.547943_42.489243\",\n", + "+ lat = 42.489243,\n", + "+ lon = -95.547943,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-95.547943_42.489243 at 42.489243/-95.547943 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-67.898643_46.614246\",\n", + "+ lat = 46.614246,\n", + "+ lon = -67.898643,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-67.898643_46.614246 at 46.614246/-67.898643 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-73.885437_40.75375\",\n", + "+ lat = 40.75375,\n", + "+ lon = -73.885437,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-73.885437_40.75375 at 40.75375/-73.885437 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-106.624191_35.082458\",\n", + "+ lat = 35.082458,\n", + "+ lon = -106.624191,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-106.624191_35.082458 at 35.082458/-106.624191 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-88.022522_43.387383\",\n", + "+ lat = 43.387383,\n", + "+ lon = -88.022522,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-88.022522_43.387383 at 43.387383/-88.022522 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-85.242989_39.367615\",\n", + "+ lat = 39.367615,\n", + "+ lon = -85.242989,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-85.242989_39.367615 at 39.367615/-85.242989 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-90.562172_43.164249\",\n", + "+ lat = 43.164249,\n", + "+ lon = -90.562172,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-90.562172_43.164249 at 43.164249/-90.562172 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-104.89093_39.498241\",\n", + "+ lat = 39.498241,\n", + "+ lon = -104.89093,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-104.89093_39.498241 at 39.498241/-104.89093 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-105.96991_35.639633\",\n", + "+ lat = 35.639633,\n", + "+ lon = -105.96991,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-105.96991_35.639633 at 35.639633/-105.96991 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-104.87365_39.667038\",\n", + "+ lat = 39.667038,\n", + "+ lon = -104.87365,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-104.87365_39.667038 at 39.667038/-104.87365 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-78.72068_35.903923\",\n", + "+ lat = 35.903923,\n", + "+ lon = -78.72068,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-78.72068_35.903923 at 35.903923/-78.72068 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-96.782631_44.314629\",\n", + "+ lat = 44.314629,\n", + "+ lon = -96.782631,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-96.782631_44.314629 at 44.314629/-96.782631 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-77.362717_38.947868\",\n", + "+ lat = 38.947868,\n", + "+ lon = -77.362717,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-77.362717_38.947868 at 38.947868/-77.362717 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-73.433449_42.936153\",\n", + "+ lat = 42.936153,\n", + "+ lon = -73.433449,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-73.433449_42.936153 at 42.936153/-73.433449 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-96.784554_44.315334\",\n", + "+ lat = 44.315334,\n", + "+ lon = -96.784554,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-96.784554_44.315334 at 44.315334/-96.784554 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-77.080002_43.0\",\n", + "+ lat = 43.0,\n", + "+ lon = -77.080002,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-77.080002_43.0 at 43/-77.080002 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-87.878204_43.081448\",\n", + "+ lat = 43.081448,\n", + "+ lon = -87.878204,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-87.878204_43.081448 at 43.081448/-87.878204 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-96.784233_44.317989\",\n", + "+ lat = 44.317989,\n", + "+ lon = -96.784233,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-96.784233_44.317989 at 44.317989/-96.784233 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-82.993546_39.346977\",\n", + "+ lat = 39.346977,\n", + "+ lon = -82.993546,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-82.993546_39.346977 at 39.346977/-82.993546 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-113.634499_47.219101\",\n", + "+ lat = 47.219101,\n", + "+ lon = -113.634499,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-113.634499_47.219101 at 47.219101/-113.634499 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-105.099319_39.550663\",\n", + "+ lat = 39.550663,\n", + "+ lon = -105.099319,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-105.099319_39.550663 at 39.550663/-105.099319 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-96.784416_44.316689\",\n", + "+ lat = 44.316689,\n", + "+ lon = -96.784416,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-96.784416_44.316689 at 44.316689/-96.784416 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-100.726822_48.614853\",\n", + "+ lat = 48.614853,\n", + "+ lon = -100.726822,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-100.726822_48.614853 at 48.614853/-100.726822 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-73.878189_40.860519\",\n", + "+ lat = 40.860519,\n", + "+ lon = -73.878189,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-73.878189_40.860519 at 40.860519/-73.878189 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-88.101791_42.997086\",\n", + "+ lat = 42.997086,\n", + "+ lon = -88.101791,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-88.101791_42.997086 at 42.997086/-88.101791 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-94.83091_39.930405\",\n", + "+ lat = 39.930405,\n", + "+ lon = -94.83091,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-94.83091_39.930405 at 39.930405/-94.83091 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-92.913094_45.339485\",\n", + "+ lat = 45.339485,\n", + "+ lon = -92.913094,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-92.913094_45.339485 at 45.339485/-92.913094 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-76.5513_40.414211\",\n", + "+ lat = 40.414211,\n", + "+ lon = -76.5513,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-76.5513_40.414211 at 40.414211/-76.5513 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-80.857506_35.182804\",\n", + "+ lat = 35.182804,\n", + "+ lon = -80.857506,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-80.857506_35.182804 at 35.182804/-80.857506 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-76.553368_38.888126\",\n", + "+ lat = 38.888126,\n", + "+ lon = -76.553368,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-76.553368_38.888126 at 38.888126/-76.553368 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-93.492805_47.24176\",\n", + "+ lat = 47.24176,\n", + "+ lon = -93.492805,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-93.492805_47.24176 at 47.24176/-93.492805 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-88.297935_41.341278\",\n", + "+ lat = 41.341278,\n", + "+ lon = -88.297935,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-88.297935_41.341278 at 41.341278/-88.297935 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-73.873932_40.859764\",\n", + "+ lat = 40.859764,\n", + "+ lon = -73.873932,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-73.873932_40.859764 at 40.859764/-73.873932 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n", + "\n", + "R version 4.2.3 (2023-03-15) -- \"Shortstop Beagle\"\n", + "Copyright (C) 2023 The R Foundation for Statistical Computing\n", + "Platform: x86_64-conda-linux-gnu (64-bit)\n", + "\n", + "R is free software and comes with ABSOLUTELY NO WARRANTY.\n", + "You are welcome to redistribute it under certain conditions.\n", + "Type 'license()' or 'licence()' for distribution details.\n", + "\n", + " Natural language support but running in an English locale\n", + "\n", + "R is a collaborative project with many contributors.\n", + "Type 'contributors()' for more information and\n", + "'citation()' on how to cite R or R packages in publications.\n", + "\n", + "Type 'demo()' for some demos, 'help()' for on-line help, or\n", + "'help.start()' for an HTML browser interface to help.\n", + "Type 'q()' to quit R.\n", + "\n", + "> library(daymetr)\n", + "> daymetr::download_daymet(\n", + "+ site = \"daymet_single_point_-75.388504_39.999107\",\n", + "+ lat = 39.999107,\n", + "+ lon = -75.388504,\n", + "+ start = 2007,\n", + "+ end = 2017,\n", + "+ path=\"/tmp/data\",\n", + "+ internal = FALSE)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading DAYMET data for: daymet_single_point_-75.388504_39.999107 at 39.999107/-75.388504 latitude/longitude !\n", + "\n", + "Done !\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> \n", + "> \n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yearydaydayl (s)prcp (mm/day)srad (W/m^2)swe (kg/m^2)tmax (deg c)tmin (deg c)vp (Pa)xygeometry
02007131955.080.0154.0855.516.190.51633.55-87.89299843.097801POINT (-87.89300 43.09780)
12007232001.910.0205.0453.886.24-2.14521.99-87.89299843.097801POINT (-87.89300 43.09780)
22007332052.560.0234.7451.8910.05-1.25557.52-87.89299843.097801POINT (-87.89300 43.09780)
32007432106.990.0204.0648.5610.401.91701.11-87.89299843.097801POINT (-87.89300 43.09780)
42007532165.170.0172.1644.3410.694.06816.15-87.89299843.097801POINT (-87.89300 43.09780)
.......................................
4010201736133017.900.0142.370.00-3.02-8.69317.06-75.38850439.999107POINT (-75.38850 39.99911)
4011201736233041.860.0162.140.00-5.52-11.92245.17-75.38850439.999107POINT (-75.38850 39.99911)
4012201736333069.321.0192.701.00-5.12-11.92245.18-75.38850439.999107POINT (-75.38850 39.99911)
4013201736433100.261.0200.731.99-3.83-10.90266.14-75.38850439.999107POINT (-75.38850 39.99911)
4014201736533134.660.0184.881.99-7.19-13.37218.11-75.38850439.999107POINT (-75.38850 39.99911)
\n", + "

401500 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " year yday dayl (s) prcp (mm/day) srad (W/m^2) swe (kg/m^2) \\\n", + "0 2007 1 31955.08 0.0 154.08 55.51 \n", + "1 2007 2 32001.91 0.0 205.04 53.88 \n", + "2 2007 3 32052.56 0.0 234.74 51.89 \n", + "3 2007 4 32106.99 0.0 204.06 48.56 \n", + "4 2007 5 32165.17 0.0 172.16 44.34 \n", + "... ... ... ... ... ... ... \n", + "4010 2017 361 33017.90 0.0 142.37 0.00 \n", + "4011 2017 362 33041.86 0.0 162.14 0.00 \n", + "4012 2017 363 33069.32 1.0 192.70 1.00 \n", + "4013 2017 364 33100.26 1.0 200.73 1.99 \n", + "4014 2017 365 33134.66 0.0 184.88 1.99 \n", + "\n", + " tmax (deg c) tmin (deg c) vp (Pa) x y \\\n", + "0 6.19 0.51 633.55 -87.892998 43.097801 \n", + "1 6.24 -2.14 521.99 -87.892998 43.097801 \n", + "2 10.05 -1.25 557.52 -87.892998 43.097801 \n", + "3 10.40 1.91 701.11 -87.892998 43.097801 \n", + "4 10.69 4.06 816.15 -87.892998 43.097801 \n", + "... ... ... ... ... ... \n", + "4010 -3.02 -8.69 317.06 -75.388504 39.999107 \n", + "4011 -5.52 -11.92 245.17 -75.388504 39.999107 \n", + "4012 -5.12 -11.92 245.18 -75.388504 39.999107 \n", + "4013 -3.83 -10.90 266.14 -75.388504 39.999107 \n", + "4014 -7.19 -13.37 218.11 -75.388504 39.999107 \n", + "\n", + " geometry \n", + "0 POINT (-87.89300 43.09780) \n", + "1 POINT (-87.89300 43.09780) \n", + "2 POINT (-87.89300 43.09780) \n", + "3 POINT (-87.89300 43.09780) \n", + "4 POINT (-87.89300 43.09780) \n", + "... ... \n", + "4010 POINT (-75.38850 39.99911) \n", + "4011 POINT (-75.38850 39.99911) \n", + "4012 POINT (-75.38850 39.99911) \n", + "4013 POINT (-75.38850 39.99911) \n", + "4014 POINT (-75.38850 39.99911) \n", + "\n", + "[401500 rows x 12 columns]" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.download()\n", + "tempdata = dataset.load()\n", + "tempdata" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "f85a13a1-2768-419b-b955-e0bde101e2b1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yearydaydayl (s)prcp (mm/day)srad (W/m^2)swe (kg/m^2)tmax (deg c)tmin (deg c)vp (Pa)xygeometrydate
02007131955.080.0154.0855.516.190.51633.55-87.89299843.097801POINT (-87.89300 43.09780)2007-01-01
12007232001.910.0205.0453.886.24-2.14521.99-87.89299843.097801POINT (-87.89300 43.09780)2007-01-02
22007332052.560.0234.7451.8910.05-1.25557.52-87.89299843.097801POINT (-87.89300 43.09780)2007-01-03
32007432106.990.0204.0648.5610.401.91701.11-87.89299843.097801POINT (-87.89300 43.09780)2007-01-04
42007532165.170.0172.1644.3410.694.06816.15-87.89299843.097801POINT (-87.89300 43.09780)2007-01-05
\n", + "
" + ], + "text/plain": [ + " year yday dayl (s) prcp (mm/day) srad (W/m^2) swe (kg/m^2) \\\n", + "0 2007 1 31955.08 0.0 154.08 55.51 \n", + "1 2007 2 32001.91 0.0 205.04 53.88 \n", + "2 2007 3 32052.56 0.0 234.74 51.89 \n", + "3 2007 4 32106.99 0.0 204.06 48.56 \n", + "4 2007 5 32165.17 0.0 172.16 44.34 \n", + "\n", + " tmax (deg c) tmin (deg c) vp (Pa) x y \\\n", + "0 6.19 0.51 633.55 -87.892998 43.097801 \n", + "1 6.24 -2.14 521.99 -87.892998 43.097801 \n", + "2 10.05 -1.25 557.52 -87.892998 43.097801 \n", + "3 10.40 1.91 701.11 -87.892998 43.097801 \n", + "4 10.69 4.06 816.15 -87.892998 43.097801 \n", + "\n", + " geometry date \n", + "0 POINT (-87.89300 43.09780) 2007-01-01 \n", + "1 POINT (-87.89300 43.09780) 2007-01-02 \n", + "2 POINT (-87.89300 43.09780) 2007-01-03 \n", + "3 POINT (-87.89300 43.09780) 2007-01-04 \n", + "4 POINT (-87.89300 43.09780) 2007-01-05 " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# we need date\n", + "tempdata[\"combined\"] = tempdata[\"year\"]*1000 + tempdata[\"yday\"]\n", + "tempdata[\"date\"] = pd.to_datetime(tempdata[\"combined\"], format = \"%Y%j\")\n", + "tempdata = tempdata.drop(columns =[\"combined\"])\n", + "tempdata.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "bc523100-cce1-4a38-a399-09468103f726", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yeardoydayl (s)prcp (mm/day)srad (W/m^2)swe (kg/m^2)tmax (deg c)tmin (deg c)vp (Pa)xygeometrydatesite_idtemperature
02007131955.080.0154.0855.516.190.51633.55-87.89299843.097801POINT (-87.89300 43.09780)2007-01-0193.350
12007232001.910.0205.0453.886.24-2.14521.99-87.89299843.097801POINT (-87.89300 43.09780)2007-01-0292.050
22007332052.560.0234.7451.8910.05-1.25557.52-87.89299843.097801POINT (-87.89300 43.09780)2007-01-0394.400
32007432106.990.0204.0648.5610.401.91701.11-87.89299843.097801POINT (-87.89300 43.09780)2007-01-0496.155
42007532165.170.0172.1644.3410.694.06816.15-87.89299843.097801POINT (-87.89300 43.09780)2007-01-0597.375
\n", + "
" + ], + "text/plain": [ + " year doy dayl (s) prcp (mm/day) srad (W/m^2) swe (kg/m^2) \\\n", + "0 2007 1 31955.08 0.0 154.08 55.51 \n", + "1 2007 2 32001.91 0.0 205.04 53.88 \n", + "2 2007 3 32052.56 0.0 234.74 51.89 \n", + "3 2007 4 32106.99 0.0 204.06 48.56 \n", + "4 2007 5 32165.17 0.0 172.16 44.34 \n", + "\n", + " tmax (deg c) tmin (deg c) vp (Pa) x y \\\n", + "0 6.19 0.51 633.55 -87.892998 43.097801 \n", + "1 6.24 -2.14 521.99 -87.892998 43.097801 \n", + "2 10.05 -1.25 557.52 -87.892998 43.097801 \n", + "3 10.40 1.91 701.11 -87.892998 43.097801 \n", + "4 10.69 4.06 816.15 -87.892998 43.097801 \n", + "\n", + " geometry date site_id temperature \n", + "0 POINT (-87.89300 43.09780) 2007-01-01 9 3.350 \n", + "1 POINT (-87.89300 43.09780) 2007-01-02 9 2.050 \n", + "2 POINT (-87.89300 43.09780) 2007-01-03 9 4.400 \n", + "3 POINT (-87.89300 43.09780) 2007-01-04 9 6.155 \n", + "4 POINT (-87.89300 43.09780) 2007-01-05 9 7.375 " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# we need site id\n", + "tempdata = tempdata.merge(obs_data[[\"site_id\",\"geometry\"]], on='geometry', how='left')\n", + "\n", + "# We need doy column for the pyphenology! I would use a different name...this is confusing\n", + "tempdata = tempdata.rename(columns={'yday': 'doy'})\n", + "\n", + "# we need temperature\n", + "tempdata['temperature'] = (tempdata['tmax (deg c)'] + tempdata['tmin (deg c)'])/2\n", + "tempdata.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "824c139f-13c4-4c6a-b3ad-f8bf3b349177", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yeardoydayl (s)prcp (mm/day)srad (W/m^2)swe (kg/m^2)tmax (deg c)tmin (deg c)vp (Pa)xygeometrydatesite_idtemperature
361352007131955.0814.77183.7368.346.49-7.93336.30-70.6913343.085350POINT (-70.69133 43.08535)2007-01-012-0.720
361362007232001.910.0090.3864.985.631.98704.60-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0223.805
361372007332052.560.00238.0863.7810.36-3.13484.89-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0323.615
361382007432106.990.00213.9261.4810.06-0.52588.05-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0424.770
361392007532165.170.67219.5157.3515.533.84803.73-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0529.685
................................................
325210201736133147.190.00310.293.3512.59-15.05160.57-104.8736539.667038POINT (-104.87365 39.66704)2017-12-2727143-1.230
325211201736233170.810.00266.063.3511.26-6.96322.56-104.8736539.667038POINT (-104.87365 39.66704)2017-12-28271432.150
325212201736333197.890.00292.273.1617.47-5.54318.48-104.8736539.667038POINT (-104.87365 39.66704)2017-12-29271435.965
325213201736433228.410.00279.833.169.56-10.47244.29-104.8736539.667038POINT (-104.87365 39.66704)2017-12-3027143-0.455
325214201736533262.330.00157.933.16-2.51-11.18260.22-104.8736539.667038POINT (-104.87365 39.66704)2017-12-3127143-6.845
\n", + "

481800 rows × 15 columns

\n", + "
" + ], + "text/plain": [ + " year doy dayl (s) prcp (mm/day) srad (W/m^2) swe (kg/m^2) \\\n", + "36135 2007 1 31955.08 14.77 183.73 68.34 \n", + "36136 2007 2 32001.91 0.00 90.38 64.98 \n", + "36137 2007 3 32052.56 0.00 238.08 63.78 \n", + "36138 2007 4 32106.99 0.00 213.92 61.48 \n", + "36139 2007 5 32165.17 0.67 219.51 57.35 \n", + "... ... ... ... ... ... ... \n", + "325210 2017 361 33147.19 0.00 310.29 3.35 \n", + "325211 2017 362 33170.81 0.00 266.06 3.35 \n", + "325212 2017 363 33197.89 0.00 292.27 3.16 \n", + "325213 2017 364 33228.41 0.00 279.83 3.16 \n", + "325214 2017 365 33262.33 0.00 157.93 3.16 \n", + "\n", + " tmax (deg c) tmin (deg c) vp (Pa) x y \\\n", + "36135 6.49 -7.93 336.30 -70.69133 43.085350 \n", + "36136 5.63 1.98 704.60 -70.69133 43.085350 \n", + "36137 10.36 -3.13 484.89 -70.69133 43.085350 \n", + "36138 10.06 -0.52 588.05 -70.69133 43.085350 \n", + "36139 15.53 3.84 803.73 -70.69133 43.085350 \n", + "... ... ... ... ... ... \n", + "325210 12.59 -15.05 160.57 -104.87365 39.667038 \n", + "325211 11.26 -6.96 322.56 -104.87365 39.667038 \n", + "325212 17.47 -5.54 318.48 -104.87365 39.667038 \n", + "325213 9.56 -10.47 244.29 -104.87365 39.667038 \n", + "325214 -2.51 -11.18 260.22 -104.87365 39.667038 \n", + "\n", + " geometry date site_id temperature \n", + "36135 POINT (-70.69133 43.08535) 2007-01-01 2 -0.720 \n", + "36136 POINT (-70.69133 43.08535) 2007-01-02 2 3.805 \n", + "36137 POINT (-70.69133 43.08535) 2007-01-03 2 3.615 \n", + "36138 POINT (-70.69133 43.08535) 2007-01-04 2 4.770 \n", + "36139 POINT (-70.69133 43.08535) 2007-01-05 2 9.685 \n", + "... ... ... ... ... \n", + "325210 POINT (-104.87365 39.66704) 2017-12-27 27143 -1.230 \n", + "325211 POINT (-104.87365 39.66704) 2017-12-28 27143 2.150 \n", + "325212 POINT (-104.87365 39.66704) 2017-12-29 27143 5.965 \n", + "325213 POINT (-104.87365 39.66704) 2017-12-30 27143 -0.455 \n", + "325214 POINT (-104.87365 39.66704) 2017-12-31 27143 -6.845 \n", + "\n", + "[481800 rows x 15 columns]" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# ordered by 'site_id and date'\n", + "weather_data_raw_sorted = tempdata.sort_values([\"site_id\", \"date\"])\n", + "weather_data_raw_sorted" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "6048cbb2-3687-4ca6-a361-3b0011e18b5c", + "metadata": {}, + "outputs": [], + "source": [ + "# Renaming\n", + "weather_data_raw_sorted = weather_data_raw_sorted.rename(columns={'dayl (s)': 'dayl', 'prcp (mm/day)': 'prcp', 'srad (W/m^2)': 'srad','swe (kg/m^2)': 'swe',\n", + " 'tmax (deg c)': 'tmax','tmin (deg c)': 'tmin', 'vp (Pa)': 'vp'})\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6c461317-25cf-4d56-bbd6-2097057e0f14", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "cdb6dc25-5927-436e-b355-097b8fca0e57", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yeardoydaylprcpsradswetmaxtminxygeometrydatesite_idtemperature
361352007131955.0814.77183.7368.346.49-7.93-70.6913343.085350POINT (-70.69133 43.08535)2007-01-012-0.720
361362007232001.910.0090.3864.985.631.98-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0223.805
361372007332052.560.00238.0863.7810.36-3.13-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0323.615
361382007432106.990.00213.9261.4810.06-0.52-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0424.770
361392007532165.170.67219.5157.3515.533.84-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0529.685
.............................................
325210201736133147.190.00310.293.3512.59-15.05-104.8736539.667038POINT (-104.87365 39.66704)2017-12-2727143-1.230
325211201736233170.810.00266.063.3511.26-6.96-104.8736539.667038POINT (-104.87365 39.66704)2017-12-28271432.150
325212201736333197.890.00292.273.1617.47-5.54-104.8736539.667038POINT (-104.87365 39.66704)2017-12-29271435.965
325213201736433228.410.00279.833.169.56-10.47-104.8736539.667038POINT (-104.87365 39.66704)2017-12-3027143-0.455
325214201736533262.330.00157.933.16-2.51-11.18-104.8736539.667038POINT (-104.87365 39.66704)2017-12-3127143-6.845
\n", + "

481800 rows × 14 columns

\n", + "
" + ], + "text/plain": [ + " year doy dayl prcp srad swe tmax tmin x \\\n", + "36135 2007 1 31955.08 14.77 183.73 68.34 6.49 -7.93 -70.69133 \n", + "36136 2007 2 32001.91 0.00 90.38 64.98 5.63 1.98 -70.69133 \n", + "36137 2007 3 32052.56 0.00 238.08 63.78 10.36 -3.13 -70.69133 \n", + "36138 2007 4 32106.99 0.00 213.92 61.48 10.06 -0.52 -70.69133 \n", + "36139 2007 5 32165.17 0.67 219.51 57.35 15.53 3.84 -70.69133 \n", + "... ... ... ... ... ... ... ... ... ... \n", + "325210 2017 361 33147.19 0.00 310.29 3.35 12.59 -15.05 -104.87365 \n", + "325211 2017 362 33170.81 0.00 266.06 3.35 11.26 -6.96 -104.87365 \n", + "325212 2017 363 33197.89 0.00 292.27 3.16 17.47 -5.54 -104.87365 \n", + "325213 2017 364 33228.41 0.00 279.83 3.16 9.56 -10.47 -104.87365 \n", + "325214 2017 365 33262.33 0.00 157.93 3.16 -2.51 -11.18 -104.87365 \n", + "\n", + " y geometry date site_id \\\n", + "36135 43.085350 POINT (-70.69133 43.08535) 2007-01-01 2 \n", + "36136 43.085350 POINT (-70.69133 43.08535) 2007-01-02 2 \n", + "36137 43.085350 POINT (-70.69133 43.08535) 2007-01-03 2 \n", + "36138 43.085350 POINT (-70.69133 43.08535) 2007-01-04 2 \n", + "36139 43.085350 POINT (-70.69133 43.08535) 2007-01-05 2 \n", + "... ... ... ... ... \n", + "325210 39.667038 POINT (-104.87365 39.66704) 2017-12-27 27143 \n", + "325211 39.667038 POINT (-104.87365 39.66704) 2017-12-28 27143 \n", + "325212 39.667038 POINT (-104.87365 39.66704) 2017-12-29 27143 \n", + "325213 39.667038 POINT (-104.87365 39.66704) 2017-12-30 27143 \n", + "325214 39.667038 POINT (-104.87365 39.66704) 2017-12-31 27143 \n", + "\n", + " temperature \n", + "36135 -0.720 \n", + "36136 3.805 \n", + "36137 3.615 \n", + "36138 4.770 \n", + "36139 9.685 \n", + "... ... \n", + "325210 -1.230 \n", + "325211 2.150 \n", + "325212 5.965 \n", + "325213 -0.455 \n", + "325214 -6.845 \n", + "\n", + "[481800 rows x 14 columns]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Why?\n", + "weather_data_raw_sorted = weather_data_raw_sorted.drop(columns = ['vp'])\n", + "weather_data_raw_sorted" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "978544ef-305b-4206-b345-a1ba6959e8d1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(481800, 14)\n", + "(369380, 14)\n" + ] + } + ], + "source": [ + "# Checking for duplicates\n", + "# Why do we have so many duplicates? because of multiple phenopahses?\n", + "\n", + "print(weather_data_raw_sorted.shape)\n", + "weather_data_raw_sorted = weather_data_raw_sorted.drop_duplicates(subset=('date','site_id'))\n", + "print(weather_data_raw_sorted.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "a087c9e7-ac6b-49ad-be15-8f4663cedc04", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yeardoydaylprcpsradswetmaxtminxygeometrydatesite_idtemperature
361352007131955.0814.77183.7368.346.49-7.93-70.6913343.085350POINT (-70.69133 43.08535)2007-01-012-0.720
361362007232001.910.0090.3864.985.631.98-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0223.805
361372007332052.560.00238.0863.7810.36-3.13-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0323.615
361382007432106.990.00213.9261.4810.06-0.52-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0424.770
361392007532165.170.67219.5157.3515.533.84-70.6913343.085350POINT (-70.69133 43.08535)2007-01-0529.685
.............................................
325210201736133147.190.00310.293.3512.59-15.05-104.8736539.667038POINT (-104.87365 39.66704)2017-12-2727143-1.230
325211201736233170.810.00266.063.3511.26-6.96-104.8736539.667038POINT (-104.87365 39.66704)2017-12-28271432.150
325212201736333197.890.00292.273.1617.47-5.54-104.8736539.667038POINT (-104.87365 39.66704)2017-12-29271435.965
325213201736433228.410.00279.833.169.56-10.47-104.8736539.667038POINT (-104.87365 39.66704)2017-12-3027143-0.455
325214201736533262.330.00157.933.16-2.51-11.18-104.8736539.667038POINT (-104.87365 39.66704)2017-12-3127143-6.845
\n", + "

369380 rows × 14 columns

\n", + "
" + ], + "text/plain": [ + " year doy dayl prcp srad swe tmax tmin x \\\n", + "36135 2007 1 31955.08 14.77 183.73 68.34 6.49 -7.93 -70.69133 \n", + "36136 2007 2 32001.91 0.00 90.38 64.98 5.63 1.98 -70.69133 \n", + "36137 2007 3 32052.56 0.00 238.08 63.78 10.36 -3.13 -70.69133 \n", + "36138 2007 4 32106.99 0.00 213.92 61.48 10.06 -0.52 -70.69133 \n", + "36139 2007 5 32165.17 0.67 219.51 57.35 15.53 3.84 -70.69133 \n", + "... ... ... ... ... ... ... ... ... ... \n", + "325210 2017 361 33147.19 0.00 310.29 3.35 12.59 -15.05 -104.87365 \n", + "325211 2017 362 33170.81 0.00 266.06 3.35 11.26 -6.96 -104.87365 \n", + "325212 2017 363 33197.89 0.00 292.27 3.16 17.47 -5.54 -104.87365 \n", + "325213 2017 364 33228.41 0.00 279.83 3.16 9.56 -10.47 -104.87365 \n", + "325214 2017 365 33262.33 0.00 157.93 3.16 -2.51 -11.18 -104.87365 \n", + "\n", + " y geometry date site_id \\\n", + "36135 43.085350 POINT (-70.69133 43.08535) 2007-01-01 2 \n", + "36136 43.085350 POINT (-70.69133 43.08535) 2007-01-02 2 \n", + "36137 43.085350 POINT (-70.69133 43.08535) 2007-01-03 2 \n", + "36138 43.085350 POINT (-70.69133 43.08535) 2007-01-04 2 \n", + "36139 43.085350 POINT (-70.69133 43.08535) 2007-01-05 2 \n", + "... ... ... ... ... \n", + "325210 39.667038 POINT (-104.87365 39.66704) 2017-12-27 27143 \n", + "325211 39.667038 POINT (-104.87365 39.66704) 2017-12-28 27143 \n", + "325212 39.667038 POINT (-104.87365 39.66704) 2017-12-29 27143 \n", + "325213 39.667038 POINT (-104.87365 39.66704) 2017-12-30 27143 \n", + "325214 39.667038 POINT (-104.87365 39.66704) 2017-12-31 27143 \n", + "\n", + " temperature \n", + "36135 -0.720 \n", + "36136 3.805 \n", + "36137 3.615 \n", + "36138 4.770 \n", + "36139 9.685 \n", + "... ... \n", + "325210 -1.230 \n", + "325211 2.150 \n", + "325212 5.965 \n", + "325213 -0.455 \n", + "325214 -6.845 \n", + "\n", + "[369380 rows x 14 columns]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "weather_data_raw_sorted" + ] + }, + { + "cell_type": "markdown", + "id": "8b2d721e-ac6c-4233-96a2-5f2a86180419", + "metadata": {}, + "source": [ + "#### FE from weather data based on sliding window over timeseries" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "4fc9ff36-0f86-4419-a6a9-686fb901c965", + "metadata": {}, + "outputs": [], + "source": [ + "# \n", + "# the dataframe has been prevously ordered by 'site_id and date'\n", + "# so the rolling can be done by groupping by location and then calculate the rolling ...\n", + "def compute_windows(dataframe, size):\n", + " print('processing size: ' + str(size))\n", + " column_index_name = str(size)\n", + " columns_names = list(['tmax', 'tmin', 'prcp', 'srad', 'swe'])\n", + " columns_new_names = [column_name + '_' + column_index_name for column_name in columns_names]\n", + " combined_input_data = dataframe.groupby('site_id')[columns_names].rolling(size).mean().reset_index(0,drop=True)\n", + " combined_input_data.columns = columns_new_names\n", + " return combined_input_data" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "aeb70019-c75b-4f87-ab59-6f7951804c05", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "processing size: 3\n", + "processing size: 7\n", + "processing size: 15\n", + "processing size: 30\n", + "processing size: 90\n", + "processing size: 365\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yeardoydaylprcpsradswetmaxtminxy...tmax_90tmin_90prcp_90srad_90swe_90tmax_365tmin_365prcp_365srad_365swe_365
325210201736133147.190.0310.293.3512.59-15.05-104.8736539.667038...14.945556-1.5451110.527333268.3152220.20255619.5846853.5919731.127644355.7608770.598219
325211201736233170.810.0266.063.3511.26-6.96-104.8736539.667038...14.871667-1.6890000.519778267.7238890.23977819.5807123.5984381.127644355.6769590.587370
325212201736333197.890.0292.273.1617.47-5.54-104.8736539.667038...14.819000-1.8167780.519778266.6498890.27488919.5996443.5999731.127644355.7626030.576000
325213201736433228.410.0279.833.169.56-10.47-104.8736539.667038...14.662444-2.0094440.460778266.5350000.31000019.6007403.5935341.127644355.7999730.564630
325214201736533262.330.0157.933.16-2.51-11.18-104.8736539.667038...14.537444-2.1838890.400000267.2038890.34511119.5436443.5714251.127644355.4388770.556575
\n", + "

5 rows × 44 columns

\n", + "
" + ], + "text/plain": [ + " year doy dayl prcp srad swe tmax tmin x \\\n", + "325210 2017 361 33147.19 0.0 310.29 3.35 12.59 -15.05 -104.87365 \n", + "325211 2017 362 33170.81 0.0 266.06 3.35 11.26 -6.96 -104.87365 \n", + "325212 2017 363 33197.89 0.0 292.27 3.16 17.47 -5.54 -104.87365 \n", + "325213 2017 364 33228.41 0.0 279.83 3.16 9.56 -10.47 -104.87365 \n", + "325214 2017 365 33262.33 0.0 157.93 3.16 -2.51 -11.18 -104.87365 \n", + "\n", + " y ... tmax_90 tmin_90 prcp_90 srad_90 swe_90 \\\n", + "325210 39.667038 ... 14.945556 -1.545111 0.527333 268.315222 0.202556 \n", + "325211 39.667038 ... 14.871667 -1.689000 0.519778 267.723889 0.239778 \n", + "325212 39.667038 ... 14.819000 -1.816778 0.519778 266.649889 0.274889 \n", + "325213 39.667038 ... 14.662444 -2.009444 0.460778 266.535000 0.310000 \n", + "325214 39.667038 ... 14.537444 -2.183889 0.400000 267.203889 0.345111 \n", + "\n", + " tmax_365 tmin_365 prcp_365 srad_365 swe_365 \n", + "325210 19.584685 3.591973 1.127644 355.760877 0.598219 \n", + "325211 19.580712 3.598438 1.127644 355.676959 0.587370 \n", + "325212 19.599644 3.599973 1.127644 355.762603 0.576000 \n", + "325213 19.600740 3.593534 1.127644 355.799973 0.564630 \n", + "325214 19.543644 3.571425 1.127644 355.438877 0.556575 \n", + "\n", + "[5 rows x 44 columns]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# for each size compute the windows (rolling)\n", + "partial_results_all = weather_data_raw_sorted.copy()\n", + "for size in [3,7,15,30,90,365]:\n", + " partial_results = compute_windows(weather_data_raw_sorted, size)\n", + " partial_results_all = pd.concat([partial_results_all,partial_results], axis = 1)\n", + "partial_results_all.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "6b475a4a-11e6-41a0-8b8b-408e5a8497ef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yeardoydaylprcpsradswetmaxtminxy...tmax_90tmin_90prcp_90srad_90swe_90tmax_365tmin_365prcp_365srad_365swe_365
361352007131955.0814.77183.7368.346.49-7.93-70.6913343.08535...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
361362007232001.910.0090.3864.985.631.98-70.6913343.08535...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
361372007332052.560.00238.0863.7810.36-3.13-70.6913343.08535...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
361382007432106.990.00213.9261.4810.06-0.52-70.6913343.08535...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
361392007532165.170.67219.5157.3515.533.84-70.6913343.08535...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
361402007632227.046.41149.4050.5220.7610.25-70.6913343.08535...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
361412007732292.569.56163.0847.5212.111.16-70.6913343.08535...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
361422007832361.6916.91124.0344.498.271.20-70.6913343.08535...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
361432007932434.380.00162.3942.315.98-0.79-70.6913343.08535...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
3614420071032510.560.00181.2542.171.91-5.67-70.6913343.08535...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", + "

10 rows × 44 columns

\n", + "
" + ], + "text/plain": [ + " year doy dayl prcp srad swe tmax tmin x \\\n", + "36135 2007 1 31955.08 14.77 183.73 68.34 6.49 -7.93 -70.69133 \n", + "36136 2007 2 32001.91 0.00 90.38 64.98 5.63 1.98 -70.69133 \n", + "36137 2007 3 32052.56 0.00 238.08 63.78 10.36 -3.13 -70.69133 \n", + "36138 2007 4 32106.99 0.00 213.92 61.48 10.06 -0.52 -70.69133 \n", + "36139 2007 5 32165.17 0.67 219.51 57.35 15.53 3.84 -70.69133 \n", + "36140 2007 6 32227.04 6.41 149.40 50.52 20.76 10.25 -70.69133 \n", + "36141 2007 7 32292.56 9.56 163.08 47.52 12.11 1.16 -70.69133 \n", + "36142 2007 8 32361.69 16.91 124.03 44.49 8.27 1.20 -70.69133 \n", + "36143 2007 9 32434.38 0.00 162.39 42.31 5.98 -0.79 -70.69133 \n", + "36144 2007 10 32510.56 0.00 181.25 42.17 1.91 -5.67 -70.69133 \n", + "\n", + " y ... tmax_90 tmin_90 prcp_90 srad_90 swe_90 tmax_365 \\\n", + "36135 43.08535 ... NaN NaN NaN NaN NaN NaN \n", + "36136 43.08535 ... NaN NaN NaN NaN NaN NaN \n", + "36137 43.08535 ... NaN NaN NaN NaN NaN NaN \n", + "36138 43.08535 ... NaN NaN NaN NaN NaN NaN \n", + "36139 43.08535 ... NaN NaN NaN NaN NaN NaN \n", + "36140 43.08535 ... NaN NaN NaN NaN NaN NaN \n", + "36141 43.08535 ... NaN NaN NaN NaN NaN NaN \n", + "36142 43.08535 ... NaN NaN NaN NaN NaN NaN \n", + "36143 43.08535 ... NaN NaN NaN NaN NaN NaN \n", + "36144 43.08535 ... NaN NaN NaN NaN NaN NaN \n", + "\n", + " tmin_365 prcp_365 srad_365 swe_365 \n", + "36135 NaN NaN NaN NaN \n", + "36136 NaN NaN NaN NaN \n", + "36137 NaN NaN NaN NaN \n", + "36138 NaN NaN NaN NaN \n", + "36139 NaN NaN NaN NaN \n", + "36140 NaN NaN NaN NaN \n", + "36141 NaN NaN NaN NaN \n", + "36142 NaN NaN NaN NaN \n", + "36143 NaN NaN NaN NaN \n", + "36144 NaN NaN NaN NaN \n", + "\n", + "[10 rows x 44 columns]" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "partial_results_all.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "889a8395-4f46-43ef-97bf-896375f46128", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yeardoydaylprcpsradswetmaxtminxy...tmax_90tmin_90prcp_90srad_90swe_90tmax_365tmin_365prcp_365srad_365swe_365
365002008131955.0812.92146.3672.472.00-7.53-70.6913343.08535...8.819444-1.0306674.063333186.07511112.29600013.9286853.0134793.677014306.89131526.260438
365012008232001.910.00206.1972.470.12-10.11-70.6913343.08535...8.514889-1.3051114.063333184.93677813.10122213.9135892.9803563.677014307.20860326.280959
365022008332052.560.00180.6172.47-9.93-18.11-70.6913343.08535...8.117111-1.6074444.063333182.98355613.90644413.8580002.9393153.677014307.05115126.304767
365032008432106.990.00255.9772.47-2.68-18.74-70.6913343.08535...7.814444-1.9585563.979556183.39844414.71166713.8230962.8893973.677014307.16635626.334877
365042008532165.170.00232.5272.472.88-9.66-70.6913343.08535...7.663667-2.1951113.933889184.75744415.51688913.7884382.8524113.675178307.20200026.376301
\n", + "

5 rows × 44 columns

\n", + "
" + ], + "text/plain": [ + " year doy dayl prcp srad swe tmax tmin x \\\n", + "36500 2008 1 31955.08 12.92 146.36 72.47 2.00 -7.53 -70.69133 \n", + "36501 2008 2 32001.91 0.00 206.19 72.47 0.12 -10.11 -70.69133 \n", + "36502 2008 3 32052.56 0.00 180.61 72.47 -9.93 -18.11 -70.69133 \n", + "36503 2008 4 32106.99 0.00 255.97 72.47 -2.68 -18.74 -70.69133 \n", + "36504 2008 5 32165.17 0.00 232.52 72.47 2.88 -9.66 -70.69133 \n", + "\n", + " y ... tmax_90 tmin_90 prcp_90 srad_90 swe_90 \\\n", + "36500 43.08535 ... 8.819444 -1.030667 4.063333 186.075111 12.296000 \n", + "36501 43.08535 ... 8.514889 -1.305111 4.063333 184.936778 13.101222 \n", + "36502 43.08535 ... 8.117111 -1.607444 4.063333 182.983556 13.906444 \n", + "36503 43.08535 ... 7.814444 -1.958556 3.979556 183.398444 14.711667 \n", + "36504 43.08535 ... 7.663667 -2.195111 3.933889 184.757444 15.516889 \n", + "\n", + " tmax_365 tmin_365 prcp_365 srad_365 swe_365 \n", + "36500 13.928685 3.013479 3.677014 306.891315 26.260438 \n", + "36501 13.913589 2.980356 3.677014 307.208603 26.280959 \n", + "36502 13.858000 2.939315 3.677014 307.051151 26.304767 \n", + "36503 13.823096 2.889397 3.677014 307.166356 26.334877 \n", + "36504 13.788438 2.852411 3.675178 307.202000 26.376301 \n", + "\n", + "[5 rows x 44 columns]" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# remove the year-1 (2007)\n", + "weather_data_raw = partial_results_all[partial_results_all['year']>2007]\n", + "weather_data_raw.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "789e555e-58e8-4c94-9244-653718ff4c3c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(335800, 44)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "weather_data_raw_clean = pd.DataFrame()\n", + "weather_data_raw_clean = weather_data_raw.dropna()\n", + "weather_data_raw_clean.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "f32612cb-ec9f-42a0-9e71-a59244210ff7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yeardoydaylprcpsradswetmaxtminxy...tmax_90tmin_90prcp_90srad_90swe_90tmax_365tmin_365prcp_365srad_365swe_365
02008131955.0812.92146.3672.472.00-7.53-70.6913343.085350...8.819444-1.0306674.063333186.07511112.29600013.9286853.0134793.677014306.89131526.260438
12008232001.910.00206.1972.470.12-10.11-70.6913343.085350...8.514889-1.3051114.063333184.93677813.10122213.9135892.9803563.677014307.20860326.280959
22008332052.560.00180.6172.47-9.93-18.11-70.6913343.085350...8.117111-1.6074444.063333182.98355613.90644413.8580002.9393153.677014307.05115126.304767
32008432106.990.00255.9772.47-2.68-18.74-70.6913343.085350...7.814444-1.9585563.979556183.39844414.71166713.8230962.8893973.677014307.16635626.334877
42008532165.170.00232.5272.472.88-9.66-70.6913343.085350...7.663667-2.1951113.933889184.75744415.51688913.7884382.8524113.675178307.20200026.376301
..................................................................
335795201736133147.190.00310.293.3512.59-15.05-104.8736539.667038...14.945556-1.5451110.527333268.3152220.20255619.5846853.5919731.127644355.7608770.598219
335796201736233170.810.00266.063.3511.26-6.96-104.8736539.667038...14.871667-1.6890000.519778267.7238890.23977819.5807123.5984381.127644355.6769590.587370
335797201736333197.890.00292.273.1617.47-5.54-104.8736539.667038...14.819000-1.8167780.519778266.6498890.27488919.5996443.5999731.127644355.7626030.576000
335798201736433228.410.00279.833.169.56-10.47-104.8736539.667038...14.662444-2.0094440.460778266.5350000.31000019.6007403.5935341.127644355.7999730.564630
335799201736533262.330.00157.933.16-2.51-11.18-104.8736539.667038...14.537444-2.1838890.400000267.2038890.34511119.5436443.5714251.127644355.4388770.556575
\n", + "

335800 rows × 44 columns

\n", + "
" + ], + "text/plain": [ + " year doy dayl prcp srad swe tmax tmin x \\\n", + "0 2008 1 31955.08 12.92 146.36 72.47 2.00 -7.53 -70.69133 \n", + "1 2008 2 32001.91 0.00 206.19 72.47 0.12 -10.11 -70.69133 \n", + "2 2008 3 32052.56 0.00 180.61 72.47 -9.93 -18.11 -70.69133 \n", + "3 2008 4 32106.99 0.00 255.97 72.47 -2.68 -18.74 -70.69133 \n", + "4 2008 5 32165.17 0.00 232.52 72.47 2.88 -9.66 -70.69133 \n", + "... ... ... ... ... ... ... ... ... ... \n", + "335795 2017 361 33147.19 0.00 310.29 3.35 12.59 -15.05 -104.87365 \n", + "335796 2017 362 33170.81 0.00 266.06 3.35 11.26 -6.96 -104.87365 \n", + "335797 2017 363 33197.89 0.00 292.27 3.16 17.47 -5.54 -104.87365 \n", + "335798 2017 364 33228.41 0.00 279.83 3.16 9.56 -10.47 -104.87365 \n", + "335799 2017 365 33262.33 0.00 157.93 3.16 -2.51 -11.18 -104.87365 \n", + "\n", + " y ... tmax_90 tmin_90 prcp_90 srad_90 swe_90 \\\n", + "0 43.085350 ... 8.819444 -1.030667 4.063333 186.075111 12.296000 \n", + "1 43.085350 ... 8.514889 -1.305111 4.063333 184.936778 13.101222 \n", + "2 43.085350 ... 8.117111 -1.607444 4.063333 182.983556 13.906444 \n", + "3 43.085350 ... 7.814444 -1.958556 3.979556 183.398444 14.711667 \n", + "4 43.085350 ... 7.663667 -2.195111 3.933889 184.757444 15.516889 \n", + "... ... ... ... ... ... ... ... \n", + "335795 39.667038 ... 14.945556 -1.545111 0.527333 268.315222 0.202556 \n", + "335796 39.667038 ... 14.871667 -1.689000 0.519778 267.723889 0.239778 \n", + "335797 39.667038 ... 14.819000 -1.816778 0.519778 266.649889 0.274889 \n", + "335798 39.667038 ... 14.662444 -2.009444 0.460778 266.535000 0.310000 \n", + "335799 39.667038 ... 14.537444 -2.183889 0.400000 267.203889 0.345111 \n", + "\n", + " tmax_365 tmin_365 prcp_365 srad_365 swe_365 \n", + "0 13.928685 3.013479 3.677014 306.891315 26.260438 \n", + "1 13.913589 2.980356 3.677014 307.208603 26.280959 \n", + "2 13.858000 2.939315 3.677014 307.051151 26.304767 \n", + "3 13.823096 2.889397 3.677014 307.166356 26.334877 \n", + "4 13.788438 2.852411 3.675178 307.202000 26.376301 \n", + "... ... ... ... ... ... \n", + "335795 19.584685 3.591973 1.127644 355.760877 0.598219 \n", + "335796 19.580712 3.598438 1.127644 355.676959 0.587370 \n", + "335797 19.599644 3.599973 1.127644 355.762603 0.576000 \n", + "335798 19.600740 3.593534 1.127644 355.799973 0.564630 \n", + "335799 19.543644 3.571425 1.127644 355.438877 0.556575 \n", + "\n", + "[335800 rows x 44 columns]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "weather_data_raw_clean = weather_data_raw_clean.reset_index(drop=True)\n", + "weather_data_raw_clean" + ] + }, + { + "cell_type": "markdown", + "id": "d8eb0585-372b-4a36-bc04-430aba50aef9", + "metadata": {}, + "source": [ + "## Numerical phenology models (pyPhenology)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "21494a3d-5f3a-4701-92a0-9e110face4c7", + "metadata": {}, + "outputs": [], + "source": [ + "predictors = weather_data_raw_clean[['site_id','year','doy','temperature']]\n", + "observations = obs_data[['site_id','first_yes_year','timestamp','mean_doy']]\n", + "observations = observations.rename(columns={\"first_yes_year\": \"year\", \"mean_doy\": \"doy\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "ed951a7a-5234-4eb0-b803-fee0698ea9f8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training Shape: (80, 4)\n", + "Testing Shape: (20, 4)\n" + ] + } + ], + "source": [ + "observations_tr = observations.iloc[0:80,:]\n", + "observations_te = observations.iloc[80:,:]\n", + "print('Training Shape:', observations_tr.shape)\n", + "print('Testing Shape:', observations_te.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "0ca09607-68d7-48bd-a0be-6ac2655a9bbc", + "metadata": {}, + "outputs": [], + "source": [ + "model = models.ThermalTime()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "103da20a-aea8-4652-afd1-3d2213561ead", + "metadata": {}, + "outputs": [], + "source": [ + "model.fit(observations_tr, predictors)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "9e353196-0ea5-4c8e-a1c9-556382336981", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'t1': 74.66551714791491, 'T': 9.929658076896436, 'F': 72.7455771890464}" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.get_params()" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "e9558da8-b402-47d6-95be-f8d191f03f0e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([142, 100, 102, 132, 104, 102, 117, 127, 98, 88, 82, 115, 105,\n", + " 83, 95, 94, 109, 78, 104, 80])" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ypred_T = model.predict(to_predict=observations_te, predictors=predictors)\n", + "ypred_T" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "33e84ebf-581f-4901-be60-0e9904dc07cf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([126., 111., 96., 126., 113., 103., 121., 121., 166., 60., 107.,\n", + " 114., 83., 51., 103., 141., 112., 85., 97., 83.])" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ytest = observations_te[\"doy\"].values\n", + "ytest" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "7e7780a7-3fd6-4c30-9f41-2be82221b5ea", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ThermalTime Model\n", + "mean_absolute_error: 15.5\n", + "mean_squared_error: 525.7\n", + "r2: 0.196727010187983\n" + ] + } + ], + "source": [ + "print(\"ThermalTime Model\")\n", + "print(\"mean_absolute_error: \", mean_absolute_error(ytest, ypred_T))\n", + "print(\"mean_squared_error: \", mean_squared_error(ytest, ypred_T))\n", + "print(\"r2: \", r2_score(ytest, ypred_T))" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "3a0b87e7-d76f-4ac5-971e-25fa9f0eceb7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8MUlEQVR4nO3de3gU5d3/8c8mgQSBbAyYbKKg0aIQoYgiNELrg8YSD/EAHrCAVK1UKloREamGEE+I1dZiNTzYWmiBHmwVDdYogghqBCFSfjEUEFNQyMEas+FgIGTn90ceNkx2AzlsdmZ336/rynV1vzM7+81A2Y/3PfeMwzAMQwAAADYSZXUDAAAAzRFQAACA7RBQAACA7RBQAACA7RBQAACA7RBQAACA7RBQAACA7RBQAACA7cRY3UB7eDwe7d27Vz179pTD4bC6HQAA0AqGYWjfvn1KTU1VVNTxx0hCMqDs3btXffr0sboNAADQDl988YVOO+204+4TkgGlZ8+ekhp/wfj4eIu7AQAArVFbW6s+ffp4v8ePJyQDytFpnfj4eAIKAAAhpjWXZ3CRLAAAsB0CCgAAsB0CCgAAsB0CCgAAsB0CCgAAsB0CCgAAsB0CCgAAsB0CCgAAsJ2QvFEbgLZr8BjaUFatqn11SuoZp2FpiYqO4llWAOyJgAJEgMKScuUVlKrcXeetpTjjlJudrqyBKRZ2BgD+McUDhLnCknJNWVJsCieSVOGu05QlxSosKbeoMwBoGQEFCGMNHkN5BaUy/Gw7WssrKFWDx98eAGAdAgoQxjaUVfuMnBzLkFTurtOGsurgNQXA3r7eKb0zR/pqu6VtcA0KEMaq9rUcTtqzH4Aw9+Fz0tsPN/7v/VXStS9Y1goBBQhjST3jArofgDDlaZCe7icd/LqpNvhm6/oRAQUIa8PSEpXijFOFu87vdSgOSS5n45JjABHqq23S88PMtfu2SvGp1vTzf7gGBQhj0VEO5WanS2oMI8c6+jo3O537oQCRau3T5nCSOkTKrbE8nEgEFCDsZQ1MUf6E8+VymqdxXM445U84n/ugAJGo4Yj0eIq0+tGm2nULpclrJIc9/oOFKR4gAmQNTNFl6S7uJAtAqvxUyr/IXJu+XeqZbE0/LSCgABEiOsqhjLN6Wd0GACutfkxa+8um16ePkH78hm1GTY5FQAEAINwdOSw9doq5dsMi6dzrLGmnNQgoAACEs72bpYUXm2szPpe623tElYtkAQAIV2/nmMPJWZdKc9y2DycSIygAAISf+jrp8WYXvY5bJvW/0pp+2oGAAgBAOPlyo/S7S821mf+Rup1sSTvtRUABACBc/HOGtGFh0+v+V0njllrXTwcQUAAACHWHD0pPNLvp4vh/SP0yreknANp8kezatWuVnZ2t1NRUORwOLV++3GefrVu36uqrr5bT6VT37t114YUXavfu3d7tdXV1uuuuu9SrVy/16NFDY8eOVWVlZYd+EQAAItKuIt9w8uDukA4nUjsCyoEDBzR48GA9//zzfrfv3LlTI0eOVP/+/bVmzRpt2bJFOTk5iotrus32tGnTVFBQoJdfflnvvfee9u7dqzFjxrT/twAAIBK9NlX6Q1bT60E3NK7SiXNa11OAOAzD8PeQ09a92eHQq6++qmuvvdZbGzdunLp06aI//elPft/jdrt1yimnaNmyZbr++uslSf/+9781YMAAFRUV6Xvf+94JP7e2tlZOp1Nut1vx8fHtbR8AgNB0aL8091Rz7ZbXpDP/x5J2Wqst398BvQ+Kx+PRG2+8obPPPlujR49WUlKShg8fbpoG2rRpk+rr65WZ2TT01L9/f/Xt21dFRUV+j3vo0CHV1taafgAAiEifv+cbTmbtsX04aauABpSqqirt379fTz75pLKysvT222/ruuuu05gxY/Tee+9JkioqKtS1a1clJCSY3pucnKyKigq/x507d66cTqf3p0+fPoFsGwCA0PCPO6Q/Xt30esjEximd2B7W9dRJArqKx+PxSJKuueYaTZs2TZJ03nnn6cMPP9SCBQt08cUXH+/tLZo1a5buu+8+7+va2lpCCgAgctS5pSf7mmu3vimdfpH//cNAQANK7969FRMTo/T0dFN9wIABev/99yVJLpdLhw8fVk1NjWkUpbKyUi6Xy+9xY2NjFRsbG8hWAQAIDTvekZaONdceqpC6dLOmnyAJ6BRP165ddeGFF2rbtm2m+vbt23X66adLki644AJ16dJFq1at8m7ftm2bdu/erYyMjEC2AwBAaPvLeHM4GTa5cUonzMOJ1I4RlP379+uzzz7zvi4rK9PmzZuVmJiovn37asaMGbrpppv0gx/8QKNGjVJhYaEKCgq0Zs0aSZLT6dTtt9+u++67T4mJiYqPj9fdd9+tjIyMVq3g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9Om6//77JUlut1vJyclatGiRxo0bd8LPqK2tldPplNvtVnx8fCDbt5eGeunR3ubaqRdId6y2ph/41eAxNHLeap9wcpRDkssZp/dnXsJ0D4CI1pbv74CPoLz++usaOnSobrjhBiUlJWnIkCF68cUXvdvLyspUUVGhzMym1SZOp1PDhw9XUVGR32MeOnRItbW1pp+w998dvuHk9ncIJza0oay6xXAiSYakcnedNpRVB68pAAhxAQ8on3/+ufLz89WvXz+99dZbmjJliu655x4tXrxYklRR0Xjb9eTkZNP7kpOTvduamzt3rpxOp/enT58+gW7bXtb9SvrtUHMtt0bqc6El7eD4qva1bmqytfsBADphFY/H49HQoUP1xBNPSJKGDBmikpISLViwQJMmTWrXMWfNmqX77rvP+7q2tjY8Q0rDEWneGdLhfU21rCel702xrCWcWFLP1j2EsbX7AQA6YQQlJSVF6enpptqAAQO0e/duSZLL5ZIkVVZWmvaprKz0bmsuNjZW8fHxpp+wU1kqPdrLHE6mbyOchIBhaYlKccappatLHJJSnI1LjgEArRPwgDJixAht27bNVNu+fbtOP/10SVJaWppcLpdWrVrl3V5bW6v169crIyMj0O2EhnfnSvnH/O59vtc4pdPTf2CDvURHOZSb3RjKm4eUo69zs9O5QBYA2iDgUzzTpk3TRRddpCeeeEI33nijNmzYoIULF2rhwoWSJIfDoXvvvVePPfaY+vXrp7S0NOXk5Cg1NVXXXnttoNuxt4Z66XGX5DnSVLv+JWngWOt6QrtkDUxR/oTzlVdQarpg1uWMU252urIGpljYHQCEnoAvM5akFStWaNasWdqxY4fS0tJ033336Y477vBuNwxDubm5WrhwoWpqajRy5Ei98MILOvvss1t1/LBYZly+RfrfZvcxmbFT6t7b//4ICdxJFgBa1pbv704JKJ0t5APKylzpg2ebXp85SrpluVXdAAAQFG35/uZZPMF05JD0WJK5dtNSacBV1vQDAIBNEVCC5ctN0u8uMdceKJNOYmUHAADNdcrDAtHMmw+aw8k5V0hz3IQTAABawAhKZ6r/tnGVzrF+9LJ09g+t6QcAgBBBQOksuz+SXhptrj24W4pzWtMPAAAhhIDSGQp+Lm1a1PT63DHSDX+wrB0AAEINASWQDh+Qnkg11yYul84aZUk7AACEKgJKoJStlRZnm2uzvpRie1rTDwAAIYyAEgiv/FTa8pem1+eNl659wbp+AAAIcQSUjqirlZ7sY679+J/SGSOs6QcAgDBBQGmvz1ZJS8aYa78ol7qeZE0/AACEEQJKe/x1orT19abXF/5EuvIZ6/oBACDMEFDa4ttvpHlnmGu3vyP1udCSdgAACFcElNba9qb053Hm2kOVUpc4a/oBACCMEVBaY+kN0o63m15nTJVGP25dPwiYBo+hDWXVqtpXp6SecRqWlqjoKIfVbQFAxCOgHM/BaumpNHNt8hopdYgl7SCwCkvKlVdQqnJ3nbeW4oxTbna6sgamWNgZAICnGbek9DXfcPLwV4STMFFYUq4pS4pN4USSKtx1mrKkWIUl5RZ1BgCQCCj+LbpK+tstTa+/P12a45ZiulrXEwKmwWMor6BUhp9tR2t5BaVq8PjbAwAQDEzxHMvjkR452Vy78wPJNdCaftApNpRV+4ycHMuQVO6u04ayamWc1St4jQEAvAgox/pqa9P/jolrfJZOdBfr+kGnqNrXcjhpz34AgMAjoBzrlP7SNc9L3U6W+l9pdTfoJEk9W7c0vLX7AQACj4ByrKhoacgEq7tAJxuWlqgUZ5wq3HV+r0NxSHI5G5ccAwCswUWyiDjRUQ7lZqdLagwjxzr6Ojc7nfuhAICFCCiISFkDU5Q/4Xy5nOZpHJczTvkTzuc+KABgMaZ4ELGyBqbosnQXd5IFABsioCCiRUc5WEoMADbEFA8AALAdAgoAALAdAgoAALAdAgoAALAdAgoAALAdAgoAALAdAgoAALAdAgoAALAdAgoAALCdkLyTrGE0PoO2trbW4k4AAEBrHf3ePvo9fjwhGVD27dsnSerTp4/FnQAAgLbat2+fnE7ncfdxGK2JMTbj8Xi0d+9e9ezZUw5H+D7Yrba2Vn369NEXX3yh+Ph4q9sJGZy39uPctQ/nrf04d+0TqufNMAzt27dPqampioo6/lUmITmCEhUVpdNOO83qNoImPj4+pP4C2gXnrf04d+3DeWs/zl37hOJ5O9HIyVFcJAsAAGyHgAIAAGyHgGJjsbGxys3NVWxsrNWthBTOW/tx7tqH89Z+nLv2iYTzFpIXyQIAgPDGCAoAALAdAgoAALAdAgoAALAdAgoAALAdAooN7NmzRxMmTFCvXr3UrVs3DRo0SBs3bvRuNwxDs2fPVkpKirp166bMzEzt2LHDwo7toaGhQTk5OUpLS1O3bt101lln6dFHHzU944FzJ61du1bZ2dlKTU2Vw+HQ8uXLTdtbc46qq6s1fvx4xcfHKyEhQbfffrv2798fxN/CGsc7d/X19Zo5c6YGDRqk7t27KzU1Vbfccov27t1rOkYknrsT/Z071p133imHw6Fnn33WVOe8+T9vW7du1dVXXy2n06nu3bvrwgsv1O7du73b6+rqdNddd6lXr17q0aOHxo4dq8rKyiD+FoFDQLHYN998oxEjRqhLly568803VVpaqmeeeUYnn3yyd5+nnnpK8+fP14IFC7R+/Xp1795do0ePVl1dnYWdW2/evHnKz8/Xb3/7W23dulXz5s3TU089peeee867D+dOOnDggAYPHqznn3/e7/bWnKPx48fr008/1cqVK7VixQqtXbtWkydPDtavYJnjnbuDBw+quLhYOTk5Ki4u1iuvvKJt27bp6quvNu0XiefuRH/njnr11Vf10UcfKTU11Wcb583Xzp07NXLkSPXv319r1qzRli1blJOTo7i4OO8+06ZNU0FBgV5++WW999572rt3r8aMGROsXyGwDFhq5syZxsiRI1vc7vF4DJfLZfzyl7/01mpqaozY2Fjjz3/+czBatK0rr7zSuO2220y1MWPGGOPHjzcMg3PnjyTj1Vdf9b5uzTkqLS01JBkff/yxd58333zTcDgcxp49e4LWu9Wanzt/NmzYYEgydu3aZRgG584wWj5vX375pXHqqacaJSUlxumnn278+te/9m7jvPk/bzfddJMxYcKEFt9TU1NjdOnSxXj55Ze9ta1btxqSjKKios5qtdMwgmKx119/XUOHDtUNN9ygpKQkDRkyRC+++KJ3e1lZmSoqKpSZmemtOZ1ODR8+XEVFRVa0bBsXXXSRVq1ape3bt0uS/vWvf+n999/X5ZdfLolz1xqtOUdFRUVKSEjQ0KFDvftkZmYqKipK69evD3rPduZ2u+VwOJSQkCCJc9cSj8ejiRMnasaMGTr33HN9tnPefHk8Hr3xxhs6++yzNXr0aCUlJWn48OGmaaBNmzapvr7e9P/n/v37q2/fviH5bx4BxWKff/658vPz1a9fP7311luaMmWK7rnnHi1evFiSVFFRIUlKTk42vS85Odm7LVI9+OCDGjdunPr3768uXbpoyJAhuvfeezV+/HhJnLvWaM05qqioUFJSkml7TEyMEhMTOY/HqKur08yZM3XzzTd7H97GufNv3rx5iomJ0T333ON3O+fNV1VVlfbv368nn3xSWVlZevvtt3XddddpzJgxeu+99yQ1nreuXbt6A/JRofpvXkg+zTiceDweDR06VE888YQkaciQISopKdGCBQs0adIki7uzt7/97W9aunSpli1bpnPPPVebN2/Wvffeq9TUVM4dgqq+vl433nijDMNQfn6+1e3Y2qZNm/Sb3/xGxcXFcjgcVrcTMjwejyTpmmuu0bRp0yRJ5513nj788EMtWLBAF198sZXtdQpGUCyWkpKi9PR0U23AgAHeq7JdLpck+VyFXVlZ6d0WqWbMmOEdRRk0aJAmTpyoadOmae7cuZI4d63RmnPkcrlUVVVl2n7kyBFVV1dzHtUUTnbt2qWVK1d6R08kzp0/69atU1VVlfr27auYmBjFxMRo165dmj59us444wxJnDd/evfurZiYmBN+Xxw+fFg1NTWmfUL13zwCisVGjBihbdu2mWrbt2/X6aefLklKS0uTy+XSqlWrvNtra2u1fv16ZWRkBLVXuzl48KCiosx/haOjo73/pcG5O7HWnKOMjAzV1NRo06ZN3n1Wr14tj8ej4cOHB71nOzkaTnbs2KF33nlHvXr1Mm3n3PmaOHGitmzZos2bN3t/UlNTNWPGDL311luSOG/+dO3aVRdeeOFxvy8uuOACdenSxfT/523btmn37t2h+W+e1VfpRroNGzYYMTExxuOPP27s2LHDWLp0qXHSSScZS5Ys8e7z5JNPGgkJCcZrr71mbNmyxbjmmmuMtLQ049tvv7Wwc+tNmjTJOPXUU40VK1YYZWVlxiuvvGL07t3beOCBB7z7cO4MY9++fcYnn3xifPLJJ4Yk41e/+pXxySefeFeatOYcZWVlGUOGDDHWr19vvP/++0a/fv2Mm2++2apfKWiOd+4OHz5sXH311cZpp51mbN682SgvL/f+HDp0yHuMSDx3J/o711zzVTyGwXnzd95eeeUVo0uXLsbChQuNHTt2GM8995wRHR1trFu3znuMO++80+jbt6+xevVqY+PGjUZGRoaRkZFh1a/UIQQUGygoKDAGDhxoxMbGGv379zcWLlxo2u7xeIycnBwjOTnZiI2NNS699FJj27ZtFnVrH7W1tcbPf/5zo2/fvkZcXJxx5plnGg899JDpy4FzZxjvvvuuIcnnZ9KkSYZhtO4cff3118bNN99s9OjRw4iPjzduvfVWY9++fRb8NsF1vHNXVlbmd5sk49133/UeIxLP3Yn+zjXnL6Bw3vyft9///vfGd77zHSMuLs4YPHiwsXz5ctMxvv32W+NnP/uZcfLJJxsnnXSScd111xnl5eVB/k0Cw2EYx9x2EwAAwAa4BgUAANgOAQUAANgOAQUAANgOAQUAANgOAQUAANgOAQUAANgOAQUAANgOAQUAANgOAQUAANgOAQUAANgOAQUAANgOAQUAANjO/wfWQhNxHSPcTgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(ypred_T, ytest, \"o\")\n", + "plt.plot(ytest, ytest, \"-\")" + ] + }, + { + "cell_type": "markdown", + "id": "585f9785-7bd2-479e-af6b-20797dc102c5", + "metadata": {}, + "source": [ + "## Machine Learning models (sklearn)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "d7e79562-653c-446e-8c5a-28e0ce0ddde7", + "metadata": {}, + "outputs": [], + "source": [ + "# merge combined input data (here only weather) with observations\n", + "combined_input_data = weather_data_raw_clean\n", + "dataset_tr = combined_input_data.merge(observations_tr, how='left', left_on=['site_id','date'], right_on = ['site_id','timestamp'])\n", + "dataset_te = combined_input_data.merge(observations_te, how='left', left_on=['site_id','date'], right_on = ['site_id','timestamp'])" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "7232c7f6-213f-4588-bc6c-468375b7a655", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
year_xdoy_xdaylprcpsradswetmaxtminxy...srad_90swe_90tmax_365tmin_365prcp_365srad_365swe_365year_ytimestampdoy_y
02008131955.0812.92146.3672.472.00-7.53-70.6913343.085350...186.07511112.29600013.9286853.0134793.677014306.89131526.260438NaNNaTNaN
12008232001.910.00206.1972.470.12-10.11-70.6913343.085350...184.93677813.10122213.9135892.9803563.677014307.20860326.280959NaNNaTNaN
22008332052.560.00180.6172.47-9.93-18.11-70.6913343.085350...182.98355613.90644413.8580002.9393153.677014307.05115126.304767NaNNaTNaN
32008432106.990.00255.9772.47-2.68-18.74-70.6913343.085350...183.39844414.71166713.8230962.8893973.677014307.16635626.334877NaNNaTNaN
42008532165.170.00232.5272.472.88-9.66-70.6913343.085350...184.75744415.51688913.7884382.8524113.675178307.20200026.376301NaNNaTNaN
..................................................................
335795201736133147.190.00310.293.3512.59-15.05-104.8736539.667038...268.3152220.20255619.5846853.5919731.127644355.7608770.598219NaNNaTNaN
335796201736233170.810.00266.063.3511.26-6.96-104.8736539.667038...267.7238890.23977819.5807123.5984381.127644355.6769590.587370NaNNaTNaN
335797201736333197.890.00292.273.1617.47-5.54-104.8736539.667038...266.6498890.27488919.5996443.5999731.127644355.7626030.576000NaNNaTNaN
335798201736433228.410.00279.833.169.56-10.47-104.8736539.667038...266.5350000.31000019.6007403.5935341.127644355.7999730.564630NaNNaTNaN
335799201736533262.330.00157.933.16-2.51-11.18-104.8736539.667038...267.2038890.34511119.5436443.5714251.127644355.4388770.556575NaNNaTNaN
\n", + "

335800 rows × 47 columns

\n", + "
" + ], + "text/plain": [ + " year_x doy_x dayl prcp srad swe tmax tmin \\\n", + "0 2008 1 31955.08 12.92 146.36 72.47 2.00 -7.53 \n", + "1 2008 2 32001.91 0.00 206.19 72.47 0.12 -10.11 \n", + "2 2008 3 32052.56 0.00 180.61 72.47 -9.93 -18.11 \n", + "3 2008 4 32106.99 0.00 255.97 72.47 -2.68 -18.74 \n", + "4 2008 5 32165.17 0.00 232.52 72.47 2.88 -9.66 \n", + "... ... ... ... ... ... ... ... ... \n", + "335795 2017 361 33147.19 0.00 310.29 3.35 12.59 -15.05 \n", + "335796 2017 362 33170.81 0.00 266.06 3.35 11.26 -6.96 \n", + "335797 2017 363 33197.89 0.00 292.27 3.16 17.47 -5.54 \n", + "335798 2017 364 33228.41 0.00 279.83 3.16 9.56 -10.47 \n", + "335799 2017 365 33262.33 0.00 157.93 3.16 -2.51 -11.18 \n", + "\n", + " x y ... srad_90 swe_90 tmax_365 tmin_365 \\\n", + "0 -70.69133 43.085350 ... 186.075111 12.296000 13.928685 3.013479 \n", + "1 -70.69133 43.085350 ... 184.936778 13.101222 13.913589 2.980356 \n", + "2 -70.69133 43.085350 ... 182.983556 13.906444 13.858000 2.939315 \n", + "3 -70.69133 43.085350 ... 183.398444 14.711667 13.823096 2.889397 \n", + "4 -70.69133 43.085350 ... 184.757444 15.516889 13.788438 2.852411 \n", + "... ... ... ... ... ... ... ... \n", + "335795 -104.87365 39.667038 ... 268.315222 0.202556 19.584685 3.591973 \n", + "335796 -104.87365 39.667038 ... 267.723889 0.239778 19.580712 3.598438 \n", + "335797 -104.87365 39.667038 ... 266.649889 0.274889 19.599644 3.599973 \n", + "335798 -104.87365 39.667038 ... 266.535000 0.310000 19.600740 3.593534 \n", + "335799 -104.87365 39.667038 ... 267.203889 0.345111 19.543644 3.571425 \n", + "\n", + " prcp_365 srad_365 swe_365 year_y timestamp doy_y \n", + "0 3.677014 306.891315 26.260438 NaN NaT NaN \n", + "1 3.677014 307.208603 26.280959 NaN NaT NaN \n", + "2 3.677014 307.051151 26.304767 NaN NaT NaN \n", + "3 3.677014 307.166356 26.334877 NaN NaT NaN \n", + "4 3.675178 307.202000 26.376301 NaN NaT NaN \n", + "... ... ... ... ... ... ... \n", + "335795 1.127644 355.760877 0.598219 NaN NaT NaN \n", + "335796 1.127644 355.676959 0.587370 NaN NaT NaN \n", + "335797 1.127644 355.762603 0.576000 NaN NaT NaN \n", + "335798 1.127644 355.799973 0.564630 NaN NaT NaN \n", + "335799 1.127644 355.438877 0.556575 NaN NaT NaN \n", + "\n", + "[335800 rows x 47 columns]" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset_tr" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "1a03bfdb-3329-4bf9-8622-3ef5193189a0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(80, 47)\n", + "(20, 47)\n" + ] + } + ], + "source": [ + "# Cleaning dataset for ML\n", + "dataset_tr = dataset_tr.dropna()\n", + "dataset_te = dataset_te.dropna()\n", + "print(dataset_tr.shape)\n", + "print(dataset_te.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "5fe2f4dc-ebcc-45f0-8e7e-5e033c2ff9de", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index(['year_x', 'doy_x', 'dayl', 'prcp', 'srad', 'swe', 'tmax', 'tmin', 'x',\n", + " 'y', 'geometry', 'date', 'site_id', 'temperature', 'tmax_3', 'tmin_3',\n", + " 'prcp_3', 'srad_3', 'swe_3', 'tmax_7', 'tmin_7', 'prcp_7', 'srad_7',\n", + " 'swe_7', 'tmax_15', 'tmin_15', 'prcp_15', 'srad_15', 'swe_15',\n", + " 'tmax_30', 'tmin_30', 'prcp_30', 'srad_30', 'swe_30', 'tmax_90',\n", + " 'tmin_90', 'prcp_90', 'srad_90', 'swe_90', 'tmax_365', 'tmin_365',\n", + " 'prcp_365', 'srad_365', 'swe_365', 'year_y', 'timestamp', 'doy_y'],\n", + " dtype='object')\n" + ] + } + ], + "source": [ + "print(dataset_tr.columns)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "38b2a8c6-b121-4298-b635-b339549c334f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['tmax_3', 'tmin_3', 'prcp_3', 'srad_3', 'swe_3', 'tmax_7', 'tmin_7',\n", + " 'prcp_7', 'srad_7', 'swe_7', 'tmax_15', 'tmin_15', 'prcp_15', 'srad_15',\n", + " 'swe_15', 'tmax_30', 'tmin_30', 'prcp_30', 'srad_30', 'swe_30',\n", + " 'tmax_90', 'tmin_90', 'prcp_90', 'srad_90', 'swe_90', 'tmax_365',\n", + " 'tmin_365', 'prcp_365', 'srad_365', 'swe_365'],\n", + " dtype='object')" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# features\n", + "dataset_tr.columns[14:44]" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "7e024cb6-13cf-46c4-8ec3-1622b62724dc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'doy_y'" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# target\n", + "dataset_tr.columns[-1]" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "6414c251-f999-4332-991c-0e950a7d8234", + "metadata": {}, + "outputs": [], + "source": [ + "# split data table into data X and target variable y\n", + "# Train/test split\n", + "\n", + "xtrain = dataset_tr.iloc[:,14:44].values\n", + "ytrain = dataset_tr.iloc[:,-1].values\n", + "xtest = dataset_te.iloc[:,14:44].values\n", + "ytest = dataset_te.iloc[:,-1].values" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "4decc97f-899e-47e3-b0cb-ae2929b04e02", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training Features Shape: (80, 30)\n", + "Training Labels Shape: (80,)\n", + "Testing Features Shape: (20, 30)\n", + "Testing Labels Shape: (20,)\n" + ] + } + ], + "source": [ + "print('Training Features Shape:', xtrain.shape)\n", + "print('Training Labels Shape:', ytrain.shape)\n", + "print('Testing Features Shape:', xtest.shape)\n", + "print('Testing Labels Shape:', ytest.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "dde6aba0-12bb-4339-aed1-8d5305af6afd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([103., 112., 126., 126., 141., 114., 121., 97., 83., 107., 85.,\n", + " 166., 111., 113., 60., 121., 83., 103., 96., 51.])" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ytest" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "5296c9c3-561c-419f-9cad-7167a2cb32c7", + "metadata": {}, + "outputs": [], + "source": [ + "#Feature Scaling\n", + "scaler = StandardScaler()\n", + "scaler.fit(xtrain)\n", + "\n", + "xtrain = scaler.transform(xtrain)\n", + "xtest = scaler.transform(xtest)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "fed3f0a0-5d17-4dff-a38c-0620bed8c496", + "metadata": {}, + "outputs": [], + "source": [ + "# Linear\n", + "lm = LinearRegression()\n", + "lm.fit(xtrain, ytrain)\n", + "ypred_lm = lm.predict(xtest)" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "07921616-8e5b-4c62-a137-5f920c785f5a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Linear Regression Model\n", + "mean_absolute_error: 13.580509645632228\n", + "mean_squared_error: 356.8075993235795\n", + "r2: 0.45479568747137156\n" + ] + } + ], + "source": [ + "print(\"Linear Regression Model\")\n", + "print(\"mean_absolute_error: \", mean_absolute_error(ytest, ypred_lm))\n", + "print(\"mean_squared_error: \", mean_squared_error(ytest, ypred_lm))\n", + "print(\"r2: \", r2_score(ytest, ypred_lm))" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "f90e0b70-4c79-47ab-836e-b420a8a3275f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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YuIsAAAISIQUAAAQkAgpASY6OlpZWVmKjo62upSAQ980jf5pGv3TOPqmafRP43zdN0E5cRYAAIQ+rqQAAICAREgBAAABiZACAAACEiEFAAAEJEKKRfbv369x48apc+fO6tChg/r27avNmze79xuGoYceekhJSUnq0KGD0tPTtWvXLgsr9p/q6mrNnj1bKSkp6tChg8455xw98sgjpmc9hEv/bNiwQZmZmUpOTpbNZtPKlStN+1vSD6WlpRo7dqxiY2MVFxeniRMn6tChQ378KXynqf6pqqrSzJkz1bdvX3Xs2FHJycm66aabdODAAdM5QrV/mvvdOdFtt90mm82m5557ztQeqn0jtax/tm/frhEjRshut6tjx4666KKLtHfvXvf+yspK3XHHHercubNOPfVUjR49WgcPHvTjT+EbzfXNoUOHNGXKFJ155pnq0KGDUlNTtXjxYtMx3uobQooFfvjhB11yySVq166d3n77bRUUFOiZZ57Raaed5j7mySef1Pz587V48WJt3LhRHTt21LBhw1RZWWlh5f4xb948LVq0SC+88IK2b9+uefPm6cknn9SCBQvcx4RL/xw+fFj9+vXTwoULG9zfkn4YO3asvvrqK61Zs0arV6/Whg0bNGnSJH/9CD7VVP8cOXJE+fn5mj17tvLz8/Xmm29qx44dGjFihOm4UO2f5n53ar311lv65JNPlJyc7LEvVPtGar5/vv76aw0ZMkQ9e/bU+++/ry+++EKzZ89WTEyM+5hp06YpJydHr7/+uj744AMdOHBAo0aN8teP4DPN9c306dOVm5ur5cuXa/v27Zo6daqmTJmiVatWuY/xWt8Y8LuZM2caQ4YMaXS/y+UyHA6H8dRTT7nbysrKjOjoaOO1117zR4mW+sUvfmHccsstprZRo0YZY8eONQwjfPtHkvHWW2+5t1vSDwUFBYYk49NPP3Uf8/bbbxs2m83Yv3+/32r3h/r905BNmzYZkow9e/YYhhE+/dNY33z33XfGGWecYWzbts3o3r278bvf/c69L1z6xjAa7p8bbrjBGDduXKPvKSsrM9q1a2e8/vrr7rbt27cbkoy8vDxflep3DfVN7969jYcfftjUNmDAAOOBBx4wDMO7fcOVFAusWrVKAwcO1HXXXaeEhAT1799fL730knt/YWGhiouLlZ6e7m6z2+0aPHiw8vLyrCjZry6++GKtXbtWO3fulCR9/vnn+uijjzR8+HBJ9E+tlvRDXl6e4uLiNHDgQPcx6enpioiI0MaNG/1es9WcTqdsNpvi4uIkhXf/uFwujR8/XjNmzFDv3r099od73/z973/Xeeedp2HDhikhIUGDBw82DXts2bJFVVVVpv/+evbsqW7duoX836GLL75Yq1at0v79+2UYhtavX6+dO3fq5z//uSTv9g0hxQLffPONFi1apB49euidd97R5MmTddddd2nZsmWSpOLiYklSYmKi6X2JiYnufaHs/vvv15gxY9SzZ0+1a9dO/fv319SpUzV27FhJ9E+tlvRDcXGxEhISTPujoqIUHx8fVn0l1YyRz5w5UzfeeKP7QWjh3D/z5s1TVFSU7rrrrgb3h3PflJSU6NChQ3riiSeUkZGhd999V9dcc41GjRqlDz74QFJN/7Rv394deGuFw9+hBQsWKDU1VWeeeabat2+vjIwMLVy4UJdeeqkk7/ZNUD4FOdi5XC4NHDhQjz/+uCSpf//+2rZtmxYvXqwJEyZYXJ31/vKXv+jVV1/VihUr1Lt3b23dulVTp05VcnIy/YM2qaqq0vXXXy/DMLRo0SKry7Hcli1b9Pzzzys/P182m83qcgKOy+WSJI0cOVLTpk2TJF1wwQX6+OOPtXjxYl122WVWlme5BQsW6JNPPtGqVavUvXt3bdiwQXfccYeSk5NNV0+8gSspFkhKSlJqaqqprVevXu5Z4w6HQ5I8ZkIfPHjQvS+UzZgxw301pW/fvho/frymTZumuXPnSqJ/arWkHxwOh0pKSkz7jx8/rtLS0rDpq9qAsmfPHq1Zs8b0OPlw7Z8PP/xQJSUl6tatm6KiohQVFaU9e/bonnvu0VlnnSUpfPtGkrp06aKoqKhm/04fO3ZMZWVlpmNC/e/Qjz/+qN/+9rd69tlnlZmZqZ/85CeaMmWKbrjhBj399NOSvNs3hBQLXHLJJdqxY4epbefOnerevbskKSUlRQ6HQ2vXrnXvLy8v18aNG5WWlubXWq1w5MgRRUSYfzUjIyPd/7oJ9/6p1ZJ+SEtLU1lZmbZs2eI+Zt26dXK5XBo8eLDfa/a32oCya9cuvffee+rcubNpf7j2z/jx4/XFF19o69at7ldycrJmzJihd955R1L49o0ktW/fXhdddFGTf6cvvPBCtWvXzvTf344dO7R3796Q/jtUVVWlqqqqJv9Ge7Vv2jLbFydn06ZNRlRUlPHYY48Zu3btMl599VXjlFNOMZYvX+4+5oknnjDi4uKMv/3tb8YXX3xhjBw50khJSTF+/PFHCyv3jwkTJhhnnHGGsXr1aqOwsNB48803jS5duhj33Xef+5hw6Z+Kigrjs88+Mz777DNDkvHss88an332mfvulJb0Q0ZGhtG/f39j48aNxkcffWT06NHDuPHGG636kbyqqf45duyYMWLECOPMM880tm7dahQVFblfR48edZ8jVPunud+d+urf3WMYods3htF8/7z55ptGu3btjCVLlhi7du0yFixYYERGRhoffvih+xy33Xab0a1bN2PdunXG5s2bjbS0NCMtLc2qH8lrmuubyy67zOjdu7exfv1645tvvjH+8Ic/GDExMcaLL77oPoe3+oaQYpGcnByjT58+RnR0tNGzZ09jyZIlpv0ul8uYPXu2kZiYaERHRxuXX365sWPHDouq9a/y8nLj7rvvNrp162bExMQYZ599tvHAAw+YvljCpX/Wr19vSPJ4TZgwwTCMlvXD999/b9x4443GqaeeasTGxho333yzUVFRYcFP431N9U9hYWGD+yQZ69evd58jVPunud+d+hoKKaHaN4bRsv75/e9/b5x77rlGTEyM0a9fP2PlypWmc/z444/G7bffbpx22mnGKaecYlxzzTVGUVGRn38S72uub4qKioxf/epXRnJyshETE2Ocf/75xjPPPGO4XC73ObzVNzbDOGEZTwAAgADBnBQAABCQCCkAACAgEVIAAEBAIqQAAICAREgBAAABiZACAAACEiEFAAAEJEIKAAAISIQUAAAQkAgpAAAgIBFSAABAQCKkAACAgPT/vvbvKXNGh54AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(ypred_lm, ytest, \"o\")\n", + "plt.plot(ytest, ytest, \"-\")" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "504603d0-9e45-46df-bde0-5b04feabdb66", + "metadata": {}, + "outputs": [], + "source": [ + "# RF\n", + "rf = RandomForestRegressor(n_estimators=300)\n", + "rf.fit(xtrain, ytrain)\n", + "ypred_rf = rf.predict(xtest)" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "889c3512-f657-43b9-b197-2faeb3689bdb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RandomForest Regression Model\n", + "mean_absolute_error: 15.143333333333334\n", + "mean_squared_error: 443.85296000000005\n", + "r2: 0.3217898150730194\n" + ] + } + ], + "source": [ + "print(\"RandomForest Regression Model\")\n", + "print(\"mean_absolute_error: \", mean_absolute_error(ytest, ypred_rf))\n", + "print(\"mean_squared_error: \", mean_squared_error(ytest, ypred_rf))\n", + "print(\"r2: \", r2_score(ytest, ypred_rf))" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "8ebe8501-7006-4c48-90e9-41001cf9847d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(ypred_rf, ytest, \"o\")\n", + "plt.plot(ytest, ytest, \"-\")" + ] + }, + { + "cell_type": "markdown", + "id": "2199bd15-ddbf-4f6e-a392-e463426c0651", + "metadata": {}, + "source": [ + "## Mixed effect modelling (MERF)\n", + "\n", + "https://pypi.org/project/merf/\n", + "\n", + "https://towardsdatascience.com/mixed-effects-random-forests-6ecbb85cb177" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "00e59ad6-f061-49bc-b4c2-075df5624702", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['year_x', 'doy_x', 'dayl', 'prcp', 'srad', 'swe', 'tmax', 'tmin', 'x',\n", + " 'y', 'geometry', 'date', 'site_id', 'temperature', 'tmax_3', 'tmin_3',\n", + " 'prcp_3', 'srad_3', 'swe_3', 'tmax_7', 'tmin_7', 'prcp_7', 'srad_7',\n", + " 'swe_7', 'tmax_15', 'tmin_15', 'prcp_15', 'srad_15', 'swe_15',\n", + " 'tmax_30', 'tmin_30', 'prcp_30', 'srad_30', 'swe_30', 'tmax_90',\n", + " 'tmin_90', 'prcp_90', 'srad_90', 'swe_90', 'tmax_365', 'tmin_365',\n", + " 'prcp_365', 'srad_365', 'swe_365', 'year_y', 'timestamp', 'doy_y'],\n", + " dtype='object')" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# features\n", + "dataset_tr.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "9ff5b1c3-27a8-4e91-92e7-2bce36d7d2e2", + "metadata": {}, + "outputs": [], + "source": [ + "# Random effect covariates --> they are supposed to cause clustering effect\n", + "# Fixed effects covariates --> independent features \n", + "\n", + "# For trial I select ['tmax_365','tmin_365', 'prcp_365', 'srad_365', 'swe_365'] as random effect features\n", + "# I consider the rest of the features as fixed effects covariates\n", + "# cluster_var --> 'site_id'" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "1dd3d4e8-16a1-4a6a-84dd-1078b4eebad2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['tmax_3', 'tmin_3', 'prcp_3', 'srad_3', 'swe_3', 'tmax_7', 'tmin_7',\n", + " 'prcp_7', 'srad_7', 'swe_7', 'tmax_15', 'tmin_15', 'prcp_15', 'srad_15',\n", + " 'swe_15', 'tmax_30', 'tmin_30', 'prcp_30', 'srad_30', 'swe_30',\n", + " 'tmax_90', 'tmin_90', 'prcp_90', 'srad_90', 'swe_90'],\n", + " dtype='object')" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset_tr.columns[14:39]" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "1b492098-b382-46a9-8d66-d9038ca6bf2f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['tmax_365', 'tmin_365', 'prcp_365', 'srad_365', 'swe_365'], dtype='object')" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset_tr.columns[39:44]" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "c470e0de-2329-44f7-a95c-65797b75482f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'site_id'" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset_tr.columns[12]" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "69e278ca-ea2b-44ef-8bb5-2a7cf1fe9c78", + "metadata": {}, + "outputs": [], + "source": [ + "# MERF inputs are pandas df!\n", + "xtrain = dataset_tr.iloc[:,14:39]\n", + "ztrain = dataset_tr.iloc[:,39:44]\n", + "clustrain = dataset_tr.iloc[:,12]\n", + "ytrain = dataset_tr.iloc[:,-1]\n", + "\n", + "xtest = dataset_te.iloc[:,14:39]\n", + "ztest = dataset_te.iloc[:,39:44]\n", + "clustest = dataset_te.iloc[:,12]\n", + "ytest = dataset_te.iloc[:,-1].values" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "a00f2031-009b-40ba-bb72-30adc311d4bd", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO [merf.py:307] Training GLL is -375.35874051176575 at iteration 1.\n", + "INFO [merf.py:307] Training GLL is -382.861617561379 at iteration 2.\n", + "INFO [merf.py:307] Training GLL is -341.59227866458673 at iteration 3.\n", + "INFO [merf.py:307] Training GLL is -303.58919706101267 at iteration 4.\n", + "INFO [merf.py:307] Training GLL is -263.50852725552056 at iteration 5.\n", + "INFO [merf.py:307] Training GLL is -233.13966256377236 at iteration 6.\n", + "INFO [merf.py:307] Training GLL is -211.49956992325008 at iteration 7.\n", + "INFO [merf.py:307] Training GLL is -196.2950816168427 at iteration 8.\n", + "INFO [merf.py:307] Training GLL is -183.67033119207667 at iteration 9.\n", + "INFO [merf.py:307] Training GLL is -174.3623225936588 at iteration 10.\n", + "INFO [merf.py:307] Training GLL is -167.89769069051187 at iteration 11.\n", + "INFO [merf.py:307] Training GLL is -165.32451921099283 at iteration 12.\n", + "INFO [merf.py:307] Training GLL is -162.76019427703497 at iteration 13.\n", + "INFO [merf.py:307] Training GLL is -161.46278071116382 at iteration 14.\n", + "INFO [merf.py:307] Training GLL is -162.3984111497419 at iteration 15.\n", + "INFO [merf.py:307] Training GLL is -161.561120753587 at iteration 16.\n", + "INFO [merf.py:307] Training GLL is -162.19002652469933 at iteration 17.\n", + "INFO [merf.py:307] Training GLL is -164.14197837978003 at iteration 18.\n", + "INFO [merf.py:307] Training GLL is -167.04227776207392 at iteration 19.\n", + "INFO [merf.py:307] Training GLL is -168.5452114339638 at iteration 20.\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "merf = MERF()\n", + "merf.fit(xtrain, ztrain, clustrain, ytrain)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "227bcf4a-75a0-4ce1-8cc6-cc897f24bf67", + "metadata": {}, + "outputs": [], + "source": [ + "ypred_merf = merf.predict(xtest, ztest, clustest)" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "0919ae7e-9491-457d-9011-dcd9545b5f37", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MERF Model\n", + "mean_absolute_error: 14.827960272734936\n", + "mean_squared_error: 410.8347772453288\n", + "r2: 0.372241811229581\n" + ] + } + ], + "source": [ + "print(\"MERF Model\")\n", + "print(\"mean_absolute_error: \", mean_absolute_error(ytest, ypred_merf))\n", + "print(\"mean_squared_error: \", mean_squared_error(ytest, ypred_merf))\n", + "print(\"r2: \", r2_score(ytest, ypred_merf))" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "02db08f4-b658-4cd2-9502-0d4029bd5217", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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/XDyi42Ek1aSvatAQ+at0x2vfqIH/98O3fHqJxoyb52ydxVY3RoAhASvB5QjR45o8ODBatOmjd59913l5eXpxRdf1Lnnnvpyfe655zR//nwtWrRImzdvVvv27TVs2DBVVFR4u53g8Ne7pcVXm2uzj0gJ37eknWCXvatAk5blqsBp/nssdFZo0rJcQgoA+IDNMAzDm2/46KOP6p///Kc2btzocb9hGEpMTNS0adP08MMPS5KcTqfi4+O1ZMkSjRo16qy/o6ysTHa7XU6nU9HR0d5s379Un5Se7GSuDbhbuvE3no9Hi1W7DA2Zt65eOKllk+SwR2nTjB+z3AMATdSU72+vz6C88847GjBggG677TbFxcWpf//+evXVV9378/PzVVhYqNTUVHfNbrdr0KBBysnJ8fielZWVKisrM/0EveMl9cPJLzcTTlrZlvySBsOJJBmSCpwV2pJf4rumACAEeT2gfPnll1q4cKF69Oih9957T5MmTdIDDzygpUuXSpIKCwslSfHx8abXxcfHu/fVNXfuXNntdvdP586dvd22fzmQIy0aYq5llEpxPS1pJ5QUH23cMmNjjwMANI/XA4rL5dJll12mZ555Rv3799fEiRM1YcIELVrU/JM5Z86cKafT6f45dOiQFzv2Iy6XtPFFackNUtnXUod4adxqaY5TsrGc4AtxHaO8ehwAoHm8HlASEhKUnJxsqvXq1UsHDx6UJDkcDklSUVGR6ZiioiL3vroiIyMVHR1t+gk65d9Iy0dKa5+QjGrp+z+V7s+Vkn5odWchZWBSrBLsUWooDtokJdhrLjkGALQerweUwYMHa8+ePaba3r171bVrV0lSUlKSHA6H1q5d695fVlamzZs3KyUlxdvtBIb8jTVLOl+skyLaScNflm75vRTZwerOQk54mE0Z6TUBu25Iqd3OSE/mBFkAaGVeDyhTp07VJ598omeeeUb79+/XihUrtHjxYt13332SJJvNpilTpuipp57SO++8o3/961+68847lZiYqJtvvtnb7fg3V7W0fp705+FSeaF0fk9p4ofSZWNZ0rFQWp8ELRxzmRx28zKOwx6lhWMuU1qfBIs6A4DQ4fXLjCVp9erVmjlzpvbt26ekpCQ99NBDmjBhgnu/YRjKyMjQ4sWLVVpaqiFDhuh3v/udLr744ka9f1BcZny0SHrr51L+hprtS8dI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sW/fPmP58uXGOeecYyxbtsx9zLPPPmvExMQYb7/9trFz507jpptuMpKSkozvvvvOws6tN27cOOOCCy4wVq9ebeTn5xtvvfWWcd555xmPPPKI+xjGzjCOHj1qbN++3di+fbshyfj1r39tbN++3X2lSWPGKC0tzejfv7+xefNmY9OmTUaPHj2MO+64w6qP5DNnGrsTJ04Yw4cPNy688EJjx44dRkFBgfunsrLS/R6hOHZn+5urq+5VPIbBuHkat7feesto06aNsXjxYmPfvn3GggULjPDwcGPjxo3u97j33nuNLl26GOvWrTO2bt1qpKSkGCkpKVZ9pBYhoPiBrKwso0+fPkZkZKTRs2dPY/Hixab9LpfLmDVrlhEfH29ERkYa11xzjbFnzx6LuvUfZWVlxoMPPmh06dLFiIqKMi666CLjscceM305MHaG8eGHHxqS6v2MGzfOMIzGjdG3335r3HHHHUaHDh2M6OhoY/z48cbRo0ct+DS+daaxy8/P97hPkvHhhx+63yMUx+5sf3N1eQoojJvncfvjH/9ofO973zOioqKMfv36GatWrTK9x3fffWf88pe/NM4991zjnHPOMW655RajoKDAx5/EO2yGcdptNwEAAPwA56AAAAC/Q0ABAAB+h4ACAAD8DgEFAAD4HQIKAADwOwQUAADgdwgoAADA7xBQAACA3yGgAAAAv0NAAQAAfoeAAgAA/A4BBQAA+J3/D5TXGbExShCZAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(ypred_merf, ytest, \"o\")\n", + "plt.plot(ytest, ytest, \"-\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d2a12da2-e43c-4463-9181-e6632a70c640", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Springtime x86", + "language": "python", + "name": "springtime_x86" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}