{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "\n", " \n", " \n", " \n", "\n", "
\"Drawing\" \"Drawing\" \"Drawing\"
\n", "
\n", "\n", "# Remote sensing for vegetation monitoring\n", "\n", "**Author:** Jose Gómez-Dans (NCEO & UCL) `j.gomez-dans@ucl.ac.uk`" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/ucfajlg/.local/lib/python3.6/site-packages/tqdm/autonotebook/__init__.py:14: TqdmExperimentalWarning: Using `tqdm.autonotebook.tqdm` in notebook mode. Use `tqdm.tqdm` instead to force console mode (e.g. in jupyter console)\n", " \" (e.g. in jupyter console)\", TqdmExperimentalWarning)\n" ] } ], "source": [ "%load_ext autoreload\n", "%autoreload 2\n", "\n", "import numpy as np\n", "import datetime as dt\n", "import matplotlib.pyplot as plt\n", "import gdal\n", "import pandas as pd\n", "%matplotlib inline\n", "\n", "from modis_funcs import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "The MODIS sensors have been acquiring data for the past two decades. The MODIS team has produced a large set of useful global land, atmosphere and ocean products, incluiding an LAI and fAPAR product. We have processed data over Ghana since 2002, and will now explore how the data looks like. We will be extracting area averaged estimates (in this case, we'll average over one of Ghana's 216 districts). We will also use a land cover product to select a particular land cover type (e.g. croplands, or forests). Our aim is to visualise and try to understand the dynamics of LAI over time. \n", "\n", "## LAI and/or $fAPAR$ extraction\n", "\n", "We have downloaded and processed the [MODIS MCD15A2H product](https://lpdaac.usgs.gov/products/mcd15a2hv006/), which provides LAI and $fAPAR$ every 8 days from the combined observations of the TERRA and AQUA satellites. The product has been mosaicked to cover the whole of Ghana, and is available remotely. We have also collated the [MODIS MCD12Q1 product](https://lpdaac.usgs.gov/products/mcd12q1v006/) so you can select pixels that were classified as comin g from a particular land cover class.\n", "\n", "The next cell gives you an easy GUI to extract the data. The data is extracted into a pandas dataframe, so you can easily save it to a CSV file for further playing around with it.\n", "\n", "\n", "Be aware that running the data extraction GUI takes a bit! There's a lot of data to chomp through!!\n", "\n", "### Exercise\n", "\n", "Try selecting a particular district (e.g. Garu Tempane), and plotting\n", "\n", "* LAI and fAPAR for years 2012 to 2017\n", "* Change the Land cover from e.g. Woody Savannas to e.g. Croplands\n", "* Try to spot patterns within years and land cover classes\n", "\n", "\n", "Both plots and data are saved in the main folder (you can download them to your local disk). Feel free to experiment with them.\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "88598ffd4f9f456d9842e81415aa34b2", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(Dropdown(description='district', index=193, options=('Jomoro', 'Ellembelle', 'Nzema East…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "w = select_region_modis_lai()\n", "w" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can easily plot all your attempts in here. Double click on this cell, and add the following Markdown code to plot graphs:\n", "```\n", "![](./Garu%20Tempane_Croplands_fAPAR.png)\n", "```\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## From LAI to yield?\n", "\n", "In the absence of any information, we may think about ways of interpreting LAI and/or fAPAR. If we think of these two parameters are indicating the amount of leaves in the canopy, we can probably guess that a year where we have \"fewer\" leaves is a bad year, and one where we have \"lots of leaves\" is a good year. With this data, we can define a climatology and maybe look at some form of anomaly (e.g. a $z$ score). But we have data every (say) 8 days: what period do we choose? Obviously, we need to know when crops are likely to be in the ground. We could actually use the LAI to figure things out, but the data appears quite noisy. Let's just see whether we can see any differences by selecting the dates ourselves.\n", "\n", "\n", "### Exercise\n", "\n", "The next bit of code allows you to play around with the timing and plots the cummulative LAI as a function of day of year for the years you have extracted." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "bd77e9fea6ef4dc8a067dcd4cd914db9", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(SelectionRangeSlider(description='Sowing & Harvest', index=(0, 364), layout=Layout(width…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df = w.result\n", "# or\n", "# df = pd.read_csv(\"./Garu Tempane_Croplands_LAI.csv\")\n", "cummulative_lai_plots(df);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Some final remarks\n", "\n", "The examples above extract a great deal of data and visualise it, allowing you to maybe guess what's happening between different years. However, it is worth thinking about the following issues:\n", "\n", "### Noisy signal\n", "\n", "Based on your own experience, you may have an expectation of things like the amount of leaves in a crop to change slowly in a scale of days. Is this something you see in the plots above? (*hint*: No!!!! They're really noisy!) \n", "\n", "Think about what may be causing this. Remember the processing we've done:\n", "1. For each date:\n", "2. Do a spatial subset by district (e.g. select only pixels that fall within a given district).\n", "2. Select all OK LAI/fAPAR retrievals (good quality).\n", "3. Select only pixels that belong to a given land cover class\n", "4. And where the percentage of the dominant class is assumed to be over some threshold\n", "5. Aggregate all those pixels (mean, standard deviaton, percentiles, ...)\n", "\n", "Think about the pixel size (~500 m nominally, but often close to 1.5km), and how the landscape looks like. Also think what e.g. \"Croplands\" means, and how different crops might behave.\n", "\n", "### Maize or...?\n", "\n", "Directed link the previous point. What if we are interested in monitoring maize, or sorghum, or cowpea? In general, different crops have different calendars, with different sowing, development and harvesting dates. What would we need to make an impact on this aspect?\n", "\n", "### Complex landscapes\n", "\n", "Small holder farms in Ghana also have tree crops (e.g. cocoa) in the middle of the fields. Will this affect our understanding of the LAI/fAPAR signal? How does the average size of the field with respect to the resolution cell affect things?\n", "\n", "### The resolution issue\n", "\n", "Clearly, the spatial resolution of MODIS might be an issue for monitoring small farms in Ghana. The very frequent overpasses (~twice a day) result in large pixels that *blur* the individual responses of different crops/fields. But we have higher spatial resolution sensors, albeit with a less frequent overpass, such as Sentinel 2.\n", "\n", "The following notebook visualises some Sentinel 2 over the area around Tamale:\n", "\n", "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/jgomezdans/demo_ghana/master)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Creative
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "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.6.7" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "00b38ecefdaf4915ad9950bf40499a7c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "058a7b25b14444d89976169d175fcb78": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "08fc5bdb6084458b97306566d279b447": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "10708dc642884ce1a16594074035126c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "SelectionRangeSliderModel", "state": { "_model_name": "SelectionRangeSliderModel", "_options_labels": [ " 01 Jan 2010 ", " 02 Jan 2010 ", " 03 Jan 2010 ", " 04 Jan 2010 ", " 05 Jan 2010 ", " 06 Jan 2010 ", " 07 Jan 2010 ", " 08 Jan 2010 ", " 09 Jan 2010 ", " 10 Jan 2010 ", " 11 Jan 2010 ", " 12 Jan 2010 ", " 13 Jan 2010 ", " 14 Jan 2010 ", " 15 Jan 2010 ", " 16 Jan 2010 ", " 17 Jan 2010 ", " 18 Jan 2010 ", " 19 Jan 2010 ", " 20 Jan 2010 ", " 21 Jan 2010 ", " 22 Jan 2010 ", " 23 Jan 2010 ", " 24 Jan 2010 ", " 25 Jan 2010 ", " 26 Jan 2010 ", " 27 Jan 2010 ", " 28 Jan 2010 ", " 29 Jan 2010 ", " 30 Jan 2010 ", " 31 Jan 2010 ", " 01 Feb 2010 ", " 02 Feb 2010 ", " 03 Feb 2010 ", " 04 Feb 2010 ", " 05 Feb 2010 ", " 06 Feb 2010 ", " 07 Feb 2010 ", " 08 Feb 2010 ", " 09 Feb 2010 ", " 10 Feb 2010 ", " 11 Feb 2010 ", " 12 Feb 2010 ", " 13 Feb 2010 ", " 14 Feb 2010 ", " 15 Feb 2010 ", " 16 Feb 2010 ", " 17 Feb 2010 ", " 18 Feb 2010 ", " 19 Feb 2010 ", " 20 Feb 2010 ", " 21 Feb 2010 ", " 22 Feb 2010 ", " 23 Feb 2010 ", " 24 Feb 2010 ", " 25 Feb 2010 ", " 26 Feb 2010 ", " 27 Feb 2010 ", " 28 Feb 2010 ", " 01 Mar 2010 ", " 02 Mar 2010 ", " 03 Mar 2010 ", " 04 Mar 2010 ", " 05 Mar 2010 ", " 06 Mar 2010 ", " 07 Mar 2010 ", " 08 Mar 2010 ", " 09 Mar 2010 ", " 10 Mar 2010 ", " 11 Mar 2010 ", " 12 Mar 2010 ", " 13 Mar 2010 ", " 14 Mar 2010 ", " 15 Mar 2010 ", " 16 Mar 2010 ", " 17 Mar 2010 ", " 18 Mar 2010 ", " 19 Mar 2010 ", " 20 Mar 2010 ", " 21 Mar 2010 ", " 22 Mar 2010 ", " 23 Mar 2010 ", " 24 Mar 2010 ", " 25 Mar 2010 ", " 26 Mar 2010 ", " 27 Mar 2010 ", " 28 Mar 2010 ", " 29 Mar 2010 ", " 30 Mar 2010 ", " 31 Mar 2010 ", " 01 Apr 2010 ", " 02 Apr 2010 ", " 03 Apr 2010 ", " 04 Apr 2010 ", " 05 Apr 2010 ", " 06 Apr 2010 ", " 07 Apr 2010 ", " 08 Apr 2010 ", " 09 Apr 2010 ", " 10 Apr 2010 ", " 11 Apr 2010 ", " 12 Apr 2010 ", " 13 Apr 2010 ", " 14 Apr 2010 ", " 15 Apr 2010 ", " 16 Apr 2010 ", " 17 Apr 2010 ", " 18 Apr 2010 ", " 19 Apr 2010 ", " 20 Apr 2010 ", " 21 Apr 2010 ", " 22 Apr 2010 ", " 23 Apr 2010 ", " 24 Apr 2010 ", " 25 Apr 2010 ", " 26 Apr 2010 ", " 27 Apr 2010 ", " 28 Apr 2010 ", " 29 Apr 2010 ", " 30 Apr 2010 ", " 01 May 2010 ", " 02 May 2010 ", " 03 May 2010 ", " 04 May 2010 ", " 05 May 2010 ", " 06 May 2010 ", " 07 May 2010 ", " 08 May 2010 ", " 09 May 2010 ", " 10 May 2010 ", " 11 May 2010 ", " 12 May 2010 ", " 13 May 2010 ", " 14 May 2010 ", " 15 May 2010 ", " 16 May 2010 ", " 17 May 2010 ", " 18 May 2010 ", " 19 May 2010 ", " 20 May 2010 ", " 21 May 2010 ", " 22 May 2010 ", " 23 May 2010 ", " 24 May 2010 ", " 25 May 2010 ", " 26 May 2010 ", " 27 May 2010 ", " 28 May 2010 ", " 29 May 2010 ", " 30 May 2010 ", " 31 May 2010 ", " 01 Jun 2010 ", " 02 Jun 2010 ", " 03 Jun 2010 ", " 04 Jun 2010 ", " 05 Jun 2010 ", " 06 Jun 2010 ", " 07 Jun 2010 ", " 08 Jun 2010 ", " 09 Jun 2010 ", " 10 Jun 2010 ", " 11 Jun 2010 ", " 12 Jun 2010 ", " 13 Jun 2010 ", " 14 Jun 2010 ", " 15 Jun 2010 ", " 16 Jun 2010 ", " 17 Jun 2010 ", " 18 Jun 2010 ", " 19 Jun 2010 ", " 20 Jun 2010 ", " 21 Jun 2010 ", " 22 Jun 2010 ", " 23 Jun 2010 ", " 24 Jun 2010 ", " 25 Jun 2010 ", " 26 Jun 2010 ", " 27 Jun 2010 ", " 28 Jun 2010 ", " 29 Jun 2010 ", " 30 Jun 2010 ", " 01 Jul 2010 ", " 02 Jul 2010 ", " 03 Jul 2010 ", " 04 Jul 2010 ", " 05 Jul 2010 ", " 06 Jul 2010 ", " 07 Jul 2010 ", " 08 Jul 2010 ", " 09 Jul 2010 ", " 10 Jul 2010 ", " 11 Jul 2010 ", " 12 Jul 2010 ", " 13 Jul 2010 ", " 14 Jul 2010 ", " 15 Jul 2010 ", " 16 Jul 2010 ", " 17 Jul 2010 ", " 18 Jul 2010 ", " 19 Jul 2010 ", " 20 Jul 2010 ", " 21 Jul 2010 ", " 22 Jul 2010 ", " 23 Jul 2010 ", " 24 Jul 2010 ", " 25 Jul 2010 ", " 26 Jul 2010 ", " 27 Jul 2010 ", " 28 Jul 2010 ", " 29 Jul 2010 ", " 30 Jul 2010 ", " 31 Jul 2010 ", " 01 Aug 2010 ", " 02 Aug 2010 ", " 03 Aug 2010 ", " 04 Aug 2010 ", " 05 Aug 2010 ", " 06 Aug 2010 ", " 07 Aug 2010 ", " 08 Aug 2010 ", " 09 Aug 2010 ", " 10 Aug 2010 ", " 11 Aug 2010 ", " 12 Aug 2010 ", " 13 Aug 2010 ", " 14 Aug 2010 ", " 15 Aug 2010 ", " 16 Aug 2010 ", " 17 Aug 2010 ", " 18 Aug 2010 ", " 19 Aug 2010 ", " 20 Aug 2010 ", " 21 Aug 2010 ", " 22 Aug 2010 ", " 23 Aug 2010 ", " 24 Aug 2010 ", " 25 Aug 2010 ", " 26 Aug 2010 ", " 27 Aug 2010 ", " 28 Aug 2010 ", " 29 Aug 2010 ", " 30 Aug 2010 ", " 31 Aug 2010 ", " 01 Sep 2010 ", " 02 Sep 2010 ", " 03 Sep 2010 ", " 04 Sep 2010 ", " 05 Sep 2010 ", " 06 Sep 2010 ", " 07 Sep 2010 ", " 08 Sep 2010 ", " 09 Sep 2010 ", " 10 Sep 2010 ", " 11 Sep 2010 ", " 12 Sep 2010 ", " 13 Sep 2010 ", " 14 Sep 2010 ", " 15 Sep 2010 ", " 16 Sep 2010 ", " 17 Sep 2010 ", " 18 Sep 2010 ", " 19 Sep 2010 ", " 20 Sep 2010 ", " 21 Sep 2010 ", " 22 Sep 2010 ", " 23 Sep 2010 ", " 24 Sep 2010 ", " 25 Sep 2010 ", " 26 Sep 2010 ", " 27 Sep 2010 ", " 28 Sep 2010 ", " 29 Sep 2010 ", " 30 Sep 2010 ", " 01 Oct 2010 ", " 02 Oct 2010 ", " 03 Oct 2010 ", " 04 Oct 2010 ", " 05 Oct 2010 ", " 06 Oct 2010 ", " 07 Oct 2010 ", " 08 Oct 2010 ", " 09 Oct 2010 ", " 10 Oct 2010 ", " 11 Oct 2010 ", " 12 Oct 2010 ", " 13 Oct 2010 ", " 14 Oct 2010 ", " 15 Oct 2010 ", " 16 Oct 2010 ", " 17 Oct 2010 ", " 18 Oct 2010 ", " 19 Oct 2010 ", " 20 Oct 2010 ", " 21 Oct 2010 ", " 22 Oct 2010 ", " 23 Oct 2010 ", " 24 Oct 2010 ", " 25 Oct 2010 ", " 26 Oct 2010 ", " 27 Oct 2010 ", " 28 Oct 2010 ", " 29 Oct 2010 ", " 30 Oct 2010 ", " 31 Oct 2010 ", " 01 Nov 2010 ", " 02 Nov 2010 ", " 03 Nov 2010 ", " 04 Nov 2010 ", " 05 Nov 2010 ", " 06 Nov 2010 ", " 07 Nov 2010 ", " 08 Nov 2010 ", " 09 Nov 2010 ", " 10 Nov 2010 ", " 11 Nov 2010 ", " 12 Nov 2010 ", " 13 Nov 2010 ", " 14 Nov 2010 ", " 15 Nov 2010 ", " 16 Nov 2010 ", " 17 Nov 2010 ", " 18 Nov 2010 ", " 19 Nov 2010 ", " 20 Nov 2010 ", " 21 Nov 2010 ", " 22 Nov 2010 ", " 23 Nov 2010 ", " 24 Nov 2010 ", " 25 Nov 2010 ", " 26 Nov 2010 ", " 27 Nov 2010 ", " 28 Nov 2010 ", " 29 Nov 2010 ", " 30 Nov 2010 ", " 01 Dec 2010 ", " 02 Dec 2010 ", " 03 Dec 2010 ", " 04 Dec 2010 ", " 05 Dec 2010 ", " 06 Dec 2010 ", " 07 Dec 2010 ", " 08 Dec 2010 ", " 09 Dec 2010 ", " 10 Dec 2010 ", " 11 Dec 2010 ", " 12 Dec 2010 ", " 13 Dec 2010 ", " 14 Dec 2010 ", " 15 Dec 2010 ", " 16 Dec 2010 ", " 17 Dec 2010 ", " 18 Dec 2010 ", " 19 Dec 2010 ", " 20 Dec 2010 ", " 21 Dec 2010 ", " 22 Dec 2010 ", " 23 Dec 2010 ", " 24 Dec 2010 ", " 25 Dec 2010 ", " 26 Dec 2010 ", " 27 Dec 2010 ", " 28 Dec 2010 ", " 29 Dec 2010 ", " 30 Dec 2010 ", " 31 Dec 2010 " ], "_view_name": "SelectionRangeSliderView", "description": "Sowing & Harvest", "index": [ 0, 364 ], "layout": "IPY_MODEL_9aad4669ff2f4502bc6065df0cd08d17", "style": "IPY_MODEL_2cb416f3512e4ad582d52d56df7cd565" } }, "129700d446154add874484467fceb14c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "1a5aad2ebd124e76b14f85c8337768e7": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "1cd5026989524a62817c13857eba504b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "IntSliderModel", "state": { "description": "Mininum Class Pcntge:", "layout": "IPY_MODEL_24397dc258f34f7f894850b9fc60adcc", "step": 10, "style": "IPY_MODEL_bc774555a95e406f91071e913d9d5248", "value": 10 } }, "1f113dc1baa9418c81fb27f0067b5f2c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DropdownModel", "state": { "_options_labels": [ "Water", "Evergreen needleleaf forest", "Evergreen broadleaf forest", "Deciduous needleleaf forest", "Deciduous broadleaf forest ", "Mixed forest", "Closed shrublands", "Open shrublands", "Woody savannas", "Savannas", "Grasslands", "Permanent wetlands", "Croplands", "Urban and built-up", "Cropland/natural vegetation mosaic", "Snow and ice", "Barren or sparsely vegetated" ], "description": "Land Cover Class", "index": 12, "layout": "IPY_MODEL_d10d2389ef98496ab35554a169b5cca3", "style": "IPY_MODEL_701cd9f4ec274bb8897cd5fcc2b06e94" } }, "24397dc258f34f7f894850b9fc60adcc": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "283e93c241024d7994e86a9b3c0a0e4b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "2a901d3ded5f488fa629cb85ec5cd403": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "layout": "IPY_MODEL_876731ac4ad845a7b39726142859264d" } }, "2cb416f3512e4ad582d52d56df7cd565": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "4b20c53134c24da29045e9d80fa5f66a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "4dfcc458044d4f9fbb76b1c7b54780a8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ButtonModel", "state": { "description": "Run Interact", "layout": "IPY_MODEL_4b20c53134c24da29045e9d80fa5f66a", "style": "IPY_MODEL_bf05736f8f114c72be2750dad64b1927" } }, "517957ee95044c44a8caa69e4bdb904c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "RadioButtonsModel", "state": { "_options_labels": [ "LAI", "fAPAR" ], "description": "Select LAI or fAPAR aggreation:", "index": 0, "layout": "IPY_MODEL_947aed3ffba34169a76ac01ba4e16e0f", "style": "IPY_MODEL_aa5f0270d5f64b3abd40075a3cb229bf" } }, "5b6cbdb1c93342218f0ba22ae6d3e7ab": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "VBoxModel", "state": { "_dom_classes": [ "widget-interact" ], "children": [ "IPY_MODEL_85e426162d474d1d8ea6c7e93b9f1754", "IPY_MODEL_517957ee95044c44a8caa69e4bdb904c", "IPY_MODEL_1f113dc1baa9418c81fb27f0067b5f2c", "IPY_MODEL_1cd5026989524a62817c13857eba504b", "IPY_MODEL_7cf62529b7114e26bdb413923d733cd8", "IPY_MODEL_4dfcc458044d4f9fbb76b1c7b54780a8", "IPY_MODEL_2a901d3ded5f488fa629cb85ec5cd403" ], "layout": "IPY_MODEL_00b38ecefdaf4915ad9950bf40499a7c" } }, "690f68a9e9bf472da4b7f6c9b9e1403c": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "layout": "IPY_MODEL_129700d446154add874484467fceb14c" } }, "701cd9f4ec274bb8897cd5fcc2b06e94": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "7cf62529b7114e26bdb413923d733cd8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "IntRangeSliderModel", "state": { "_model_name": "IntRangeSliderModel", "_view_name": "IntRangeSliderView", "description": "Years:", "layout": "IPY_MODEL_283e93c241024d7994e86a9b3c0a0e4b", "max": 2018, "min": 2002, "style": "IPY_MODEL_be1235c8caa34696bde7fdaeb77b11ef", "value": [ 2010, 2017 ] } }, "85e426162d474d1d8ea6c7e93b9f1754": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DropdownModel", "state": { "_options_labels": [ "Jomoro", "Ellembelle", "Nzema East", "Ahanta West", "Sekondi Takoradi", "Shama", "Wassa East", "Tarkwa Nsuaem", "Prestea / Huni Valley", "Wassa Amenfi East", "Wassa Amenfi West", "Aowin", "Sefwi Akontombra", "Sefwi-Wiawso", "Sefwi Bibiani-Anhwiaso Bekwai", "Juabeso", "Bia West", "Mpohor", "Wassa Amenfi Central", "Suaman", "Bodi", "Bia East", "Komenda Edna Eguafo / Abirem", "Cape Coast Metro", "Abura / Asebu / Kwamankese", "Mfantsiman", "Ajumako-Enyan-Esiam", "Gomoa West", "Effutu", "Gomoa East", "Awutu Senya", "Agona East", "Agona West", "Asikuma / Odoben / Brakwa", "Assin South", "Assin North", "Twifo Ati-Morkwa", "Upper Denkyira East", "Upper Denkyira West", "Twifo Lower Denkyira", "Ekumfi", "Ga South", "Ga West", "Ga East", "Accra Metropolis", "Adenta", "Ledzokuku / Krowor", "Ashaiman", "Tema Metropolis", "Shai Osu Doku", "Ada East", "Ga Central Municipal", "La Dade Kotopon", "La Nkwantanang Madina", "Kpone Katamanso", "Ningo Prampram", "Ada West", "South Tongu", "Keta Municipal", "Ketu South", "Ketu North", "Akatsi South", "Central Tongu", "Agotime Ziope", "South Dayi", "Kpando Municipal", "Hohoe Municipal", "Biakoye", "Jasikan", "Krachi East", "Krachi West", "Nkwanta South", "Nkwanta North", "North Tongu", "Akatsi North", "Adaklu", "Ho West", "Afadzato South", "North Dayi", "Krachi Nchumuru", "Birim South", "Birim Municipal", "West Akim", "Suhum Municipal", "Nsawam Adoagyiri", "Akwapem North", "New Juaben Municipal", "Yilo Krobo", "Lower Manya", "Asuogyaman", "Upper Manya", "Fanteakwa", "East Akim", "Kwaebibirem", "Akyem Mansa", "Birim North", "Atiwa", "Kwahu West", "Kwahu South", "Kwahu East", "Kwahu Afram Plains North", "Upper West Akim", "Akwapem South", "Ayensuano", "Denkyembour", "Kwahu Afram Plains South", "Atwima Mponua", "Amansie West", "Amansie Central", "Adansi South", "None", "Adansi North", "Bekwai Municipal", "Bosome Freho", "Asante Akim South", "Asante Akim Central Municipal", "Ejisu Juaben", "Bosomtwe /Atwima / Kwanwoma", "Atwima Kwanwoma", "Kma", "Atwima Nwabiagya", "Ahafo Ano South", "Ahafo Ano North", "Offinso Municipal", "Afigya Kwabre", "Kwabre", "Afigya Sekyere", "Mampong Municipal", "Sekyere East", "Sekyere Afram Plains", "Sekyere Central", "Ejura Sekye Dumase", "Offinso North", "Asokore Mampong Municipal", "Asante Akim North", "Sekyere Afram Plains North", "Asunafo South", "Asunafo North", "Asutifi North", "Dormaa Municipal", "Dormaa East", "Tano South", "Tano North", "Sunyani Municipal", "Sunyani West", "Berekum", "Jaman South", "Jaman North", "Tain", "Wenchi", "Techiman Municipal", "Nkoranza South", "Nkoranza North", "Atebubu Amantin", "Sene West", "Pru", "Kintampo South", "Kintampo North", "Asutifi South", "Dormaa West", "Techiman North", "Banda", "Sene East", "Bole", "Sawla/Tuna/Kalba", "West Gonja", "Gonja Central", "East Gonja", "Kpandai", "Nanumba South", "Nanumba North", "Zabzugu", "Yendi Municipal", "Tamale North Sub Metro", "Tolon", "Savelugu Nanton", "Karaga", "Gushiegu", "Saboba", "Chereponi", "Bunkpurugu Yonyo", "Mamprusi East", "West Mamprusi", "North Gonja", "Kumbumgu", "Sagnerigu", "Tatale", "Mamprugu Moagduri", "Builsa North", "Bolgatanga Municipal", "Talensi", "Bongo", "Bawku West", "Garu Tempane", "Bawku Municipal", "Builsa South", "Nabdam", "Binduri", "Pusiga", "Wa West", "Wa Municipal", "Wa East", "Sissala East", "Nadowli-Kaleo", "Jirapa", "Sissala West", "Lambussie Karni", "Lawra", "Daffiama Bussie", "Nandom", "Kasena Nankana East", "Kasena Nankana West", "Kadjebi", "Ho Municipal", "Mion", "Awutu Senya East Municipal" ], "description": "district", "index": 193, "layout": "IPY_MODEL_1a5aad2ebd124e76b14f85c8337768e7", "style": "IPY_MODEL_b4f66a590e4d43b2a6866c3a78c5b35d" } }, "876731ac4ad845a7b39726142859264d": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "947aed3ffba34169a76ac01ba4e16e0f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "9aad4669ff2f4502bc6065df0cd08d17": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "width": "600px" } }, "a4777e3d50f24ac0af857243ad34e300": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ButtonStyleModel", "state": {} }, "aa5f0270d5f64b3abd40075a3cb229bf": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "b4f66a590e4d43b2a6866c3a78c5b35d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "bc774555a95e406f91071e913d9d5248": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "SliderStyleModel", "state": { "description_width": "" } }, "bd77e9fea6ef4dc8a067dcd4cd914db9": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "VBoxModel", "state": { "_dom_classes": [ "widget-interact" ], "children": [ "IPY_MODEL_10708dc642884ce1a16594074035126c", "IPY_MODEL_c915953f05184b40987acdbb395e08aa", "IPY_MODEL_690f68a9e9bf472da4b7f6c9b9e1403c" ], "layout": "IPY_MODEL_058a7b25b14444d89976169d175fcb78" } }, "be1235c8caa34696bde7fdaeb77b11ef": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "SliderStyleModel", "state": { "description_width": "" } }, "bf05736f8f114c72be2750dad64b1927": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ButtonStyleModel", "state": {} }, "c915953f05184b40987acdbb395e08aa": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ButtonModel", "state": { "description": "Run Interact", "layout": "IPY_MODEL_08fc5bdb6084458b97306566d279b447", "style": "IPY_MODEL_a4777e3d50f24ac0af857243ad34e300" } }, "d10d2389ef98496ab35554a169b5cca3": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 4 }